Nachträgliche Änderung der Betriebssystemgruppen für SYSBACKUP, SYSDG und SYSKM auf Linux/Unix
Oracle 12c erlaubt die Aufteilung der DBA-Tätigkeiten (Backup, DataGuard und Key-Management für Verschlüsselung) auf verschiedene Betriebssystemgruppen. Manchmal sind diese Gruppen zum Installationszeitpunkt noch nicht vorhanden oder eine derartige Aufteilung der Zuständigkeiten wird als nicht notwendig erachtet.
Was ist zu tun, wenn nachträglich doch eine Verteilung der DBA-Aufgaben gewünscht ist.
Die Zuordnung der OS-Gruppen erfolgt über die Datei $ORACLE_HOME/rdbms/lib/config.c.
Diese Datei enthält am Ende die folgenden Einträge (beispielhaft wird hier alles der DBA-Gruppe zugeordnet):
.. #define SS_DBA_GRP "dba" #define SS_OPER_GRP "oper" #define SS_ASM_GRP "" #define SS_BKP_GRP "pdba" #define SS_DGD_GRP "dba" #define SS_KMT_GRP "dba" const char * const ss_dba_grp[] = {SS_DBA_GRP, SS_OPER_GRP, SS_ASM_GRP, SS_BKP_GRP, SS_DGD_GRP, SS_KMT_GRP};
Um diese Zuordnung zu ändern, sind folgende Schritte erforderlich:
1. Anlegen der Betriebssystemgruppen und der zugehörigen User (im Beispiel: backupuser)
oracle> grep dba /etc/group dba:x:54322:oracle,grid asmdba:x:54325:grid,oracle backupdba:x:54328:oracle, backupuser dgdba:x:54329:oracle kmdba:x:54330:oracle
2. Runterfahren der Oracle-Instanzen und Listener die aus dem ORACLE_HOME heraus gestartet wurden.
3. Anpassen der Datei config.c
(vorher natürlich eine Sicherung machen)
#define SS_DBA_GRP "dba" #define SS_OPER_GRP "oper" #define SS_ASM_GRP "" #define SS_BKP_GRP "backupdba" #define SS_DGD_GRP "dgdba" #define SS_KMT_GRP "kmdba"
4. Relink der Oracle-Software
oracle> cd $ORACLE_HOME/rdbms/lib oracle> rm config.o oracle> make -f ins_rdbms.mk oracle> relink all writing relink log to: /u00/app/oracle/product/12.1.0.2/install/relink.log
5. Test
Danach kann die OS-Authentisierung mit Hilfe der neuen Betriebssystemgruppen ausgenutzt werden.
root@si: su - backupuser -bash-4.1$ id uid=9999(backupuser) gid=54328(backupdba) groups=54328(backupdba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 -bash-4.1$ . oraenv ORACLE_SID = [backupuser] ? SI12C ORACLE_BASE environment variable is not being set since this information is not available for the current user ID backupuser. You can set ORACLE_BASE manually if it is required. Resetting ORACLE_BASE to its previous value or ORACLE_HOME The Oracle base has been set to /u00/app/oracle/product/12.1.0.2 -bash-4.1$ rman backupuser@si:~/ [SI12C] rman Recovery Manager: Release 12.1.0.2.0 - Production on Tue Sep 15 23:12:16 2015 Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved. RMAN> connect target '/ as sysbackup' connected to target database: SI12C (DBID=1353354747)
Weitere Informationen zum Thema “Relink von Oracle Software” gibt in der Support-Note “Relinking Oracle Home FAQ ( Frequently Asked Questions) (Doc ID 1467060.1)”
Werbung (Amazon-Partner-Link)