Para copiar el archivo de contraseñas de una base de datos primaria a una base de datos en espera se requieren algunos pasos, especialmente si la contraseña se encuentra dentro del ASM.
Este artículo describe cómo copiar el archivo de contraseñas para un entorno Oracle RAC, pero también se puede utilizar para bases de datos independientes.
Índice
1. Obtener el archivo de contraseñas de la base de datos primaria
En primer lugar, obtenga la ubicación del archivo de contraseñas en el ASM de la base de datos primaria.
srvctl config database -d <primary> | grep Password
En el sitio primario como usuario grid, copie el archivo de contraseñas fuera de ASM a una ubicación basada en el sistema de archivos, en este caso /tmp
Sitio principal:
[oracle@node1 dbs]$ su - grid
Password:
[grid@node1 ~]$ . oraenv
ORACLE_SID = [grid] ? +ASM1
The Oracle base has been set to /u01/app/grid
[grid@node1 ~]$ asmcmd
ASMCMD> pwcopy +DATA/DB191/PASSWORD/pwddb191.256.867607273 /tmp/orapwdb191
copying +DATA/DB191/PASSWORD/pwddb191.256.867607273 -> /tmp/orapwdb191
ASMCMD> exit
2. Copie el archivo de contraseñas en uno de los nodos RAC en espera.
Debe copiar el archivo de contraseñas del servidor primario a uno de los servidores de bases de datos en espera.
Sitio principal:
[oracle@node1 dbs]$ scp /tmp/orapwdb191 oracle@node1:/tmp/orapwdb1911
...
Are you sure you want to continue connecting (yes/no)? yes
oracle@node2's password:
orapwdb191 100% 7680 7.5KB/s 00:00
3. Copiar el archivo de contraseña del sistema de archivos a ASM
En el nodo en espera que ahora tiene una copia del archivo de contraseñas, copie el archivo de contraseñas en ASM como usuario grid.
El comando pwcopy de ASM puede utilizarse para realizar esta tarea.
Asegúrese de que el archivo se coloca en el grupo de discos y el subdirectorio para la espera identificado a través de su valor db_unique_name. En este caso +DATA y DB191STB.
Sitio de espera:
$ su - grid
Password:
[grid@node1 ~]$ . oraenv
ORACLE_SID = [grid] ? +ASM1
The Oracle base has been set to /u01/app/grid
[grid@node1~]$ asmcmd
ASMCMD> pwcopy /tmp/orapwdb1911 +DATA/DB191STB/orapwdb1911
copying /tmp/orapwdb1911 -> +DATA/DB191STB/orapwdb1911
ASMCMD> ls -l +DATA/DB191STB/orapwdb1911
Type Redund Striped Time Sys Name
PASSWORD UNPROT COARSE FEB 26 11:00:00 N orapwdb1911 => +DATA/ASM/PASSWORD/pwdasm.279.872680185
4. Actualizar el clusterware con el archivo de contraseña
Como propietario del software RDBMS para la base de datos, actualice el recurso clusterware para la base de datos y establezca la ubicación del archivo de contraseñas que utilizará la base de datos mediante el comando srvctl modify database.
Sitio de espera:
$ su - oracle
Password:
[oracle@node1~]$ . oraenv
ORACLE_SID = [oracle] ? db1911
The Oracle base has been set to /u01/app/oracle
[oracle@node1~]$ srvctl modify database -d db191stb -pwfile +DATA/DB191STB/orapwdb1911
[oracle@node1~]$ srvctl config database -d db191stb
Database unique name: db191stb
Database name:
Oracle home: /u01/app/oracle/product/19.0.0/dbhome_1
Oracle user: oracle
Spfile: /u01/app/oracle/product/19.0.0/dbhome_1/dbs/spfiledb1911.ora
Password file: +DATA/DB191STB/orapwdb1911
Domain: <domain>
Start options: mount
Stop options: immediate
Database role: PHYSICAL_STANDBY
Management policy: AUTOMATIC
Server pools:
Disk Groups: DATA,FRA
Mount point paths:
Services:
Type: RAC
Start concurrency:
Stop concurrency:
OSDBA group: dba
OSOPER group:
Database instances: db1911,db1912
Configured nodes: node1, node2
Database is administrator managed
Espero que te haya sido útil.