pwcopy --dbuniquename 用户角色分离 grid oracle 不同用户时不成功

APPLIES TO:

Oracle Database Backup Service - Version N/A and later

Oracle Database Cloud Exadata Service - Version N/A and later

Oracle Database Cloud Service - Version N/A and later

Oracle Database - Enterprise Edition - Version 12.1.0.1 and later

Oracle Database Cloud Schema Service - Version N/A and later

Information in this document applies to any platform.

GOAL

During the creation of a standby database or after having altered the password for any user granted the SYSDBA,SYSOPER or SYSDG privileges the password file must be copied from the primary site to the standby site.

The Oracle Database Enterprise Edition 12.1.0.1 and above can now store password files in ASM diskgroups. By default if dbca is used to create a RAC database, the password file is created in an ASM diskgroup on the Primary site.

The documentation states that the password file must be copied from the Primary to the Standby sites:

Oracle Data Guard Configurations and Broker Configurations

https://docs.oracle.com/database/121/DGBKR/concepts.htm#DGBKR015

This HOW TO details the procedure and commands for copying the password file from the Primary site to the standby site when these password files are held in an ASM diskgroup.

IMPORTANT: The ASM diskgroup used to store the password files on the standby site MUST have it's COMPATIBLE.ASM attribute set to 12.1.

SOLUTION

NOTE: In the images and/or the document content below, the user information and environment data used represents fictitious data from the Oracle sample schema(s), Public Documentation delivered with an Oracle database product or other training material. Any similarity to actual environments, actual persons, living or dead, is purely coincidental and not intended in any manner.

For the purposes of this document, the following fictitious environment is used as an example to describe the procedure:

Primary database: db121

Standby database: db121stb

Configuration: rs1_dg

Disk groups: +DATA, +FRA

Database instances: db1211,db1212

Oracle user: Oracle

Grid user: Grid

Instance Name: plb102

Nodes: Node1, Node2

***************

The procedure for copying the file across from the Primary site to the standby site is as the following:

  1. On the Primary site as the grid user, copy the password file out of ASM on to a file system based location, in this case /tmp

Primary Site:

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/DB121/PASSWORD/pwddb121.256.867607273 /tmp/orapwdb121

copying +DATA/DB121/PASSWORD/pwddb121.256.867607273 -> /tmp/orapwdb121

ASMCMD> exit

  1. Copy the password file to one of the Standby RAC nodes

Primary Site:

oracle@node1 dbs$ scp /tmp/orapwdb121 node1:/tmp/orapwdb1211

..

.

Are you sure you want to continue connecting (yes/no)? yes

oracle@node2's password:

orapwdb121 100% 7680 7.5KB/s 00:00

  1. On the standby node that now has a copy of the password file, copy the password file into ASM as grid user. The ASM command pwcopy can be used to perform this task. Make sure the file is placed in the diskgroup and sub-directory for the standby identified through its db_unique_name value. In this case +DATA and DB121STB.

Standby Site:

$ 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/orapwdb1211 +DATA/DB121STB/orapwdb1211

copying /tmp/orapwdb1211 -> +DATA/DB121STB/orapwdb1211

ASMCMD> ls -l +DATA/DB121STB/orapwdb1211

Type Redund Striped Time Sys Name

PASSWORD UNPROT COARSE FEB 26 11:00:00 N orapwdb1211 => +DATA/ASM/PASSWORD/pwdasm.279.872680185

ASMCMD> exit

  1. As the owner of the RDBMS software for the database, update the clusterware resource for the database and set the location of the password file to be used by the database using srvctl modify database command.

Standby Site:

$ su - oracle

Password:

oracle@node1\~$ . oraenv

ORACLE_SID = oracle ? db1211

The Oracle base has been set to /u01/app/oracle

oracle@node1 \~$ srvctl modify database -d db121stb -pwfile +DATA/DB121STB/orapwdb1211

oracle@node1\~$ srvctl config database -d db121stb

Database unique name: db121stb

Database name:

Oracle home: /u01/app/oracle/product/12.1.0/dbhome_1

Oracle user: oracle

Spfile: /u01/app/oracle/product/12.1.0/dbhome_1/dbs/spfiledb1211.ora
Password file: +DATA/DB121STB/orapwdb1211

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: db1211,db1212

Configured nodes: node1, node2

Database is administrator managed

Note: if the --dbuniquename switch in pwcopy is used, the following errors will appear after the file has been copied.

ASMCMD> pwcopy --dbuniquename db121stb /tmp/orapwdb1211 +DATA/DB121STB/orapwdb1211

copying /tmp/orapwdb1211 -> +DATA/DB121STB/orapwdb1211

PRCD-1163 : Failed to modify database db121stb

PRCR-1071 : Failed to register or update resource ora.db121stb.db

CRS-0245: User doesn't have enough privilege to perform the operation

ASMCMD-9453: failed to register password file as a CRS resource

These errors are expected due to user role separation. Please use steps above instead.

相关推荐
努力成为AK大王2 小时前
并发编程的核心挑战、优化方案与核心知识点总结
java·开发语言·数据库
En^_^Joy2 小时前
Django开发:模板系统入门指南
数据库·django·sqlite
无关86883 小时前
Redis Bitmaps 用户签到系统设计方案
数据库·redis·缓存
江华森3 小时前
FastAPI 极速开发指南 — 从零到生产级 API 实战
数据库·fastapi
老纪4 小时前
Redis分布式锁进第九零篇
数据库·redis·分布式
haven-8524 小时前
MySQL事务ACID、隔离级别、MVCC、幻读解决
数据库·mysql
小高学习java5 小时前
事务的边界问题,如何判断数据回滚时机。
java·数据库·后端
迷枫7125 小时前
【无标题】
数据库
TDengine (老段)6 小时前
TDengine 扫描算子 — TableScan、TagScan 与下推优化
大数据·数据库·物联网·时序数据库·tdengine·涛思数据