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.

相关推荐
誰能久伴不乏35 分钟前
桌面客户端的运行日志系统:SQLite 分块 + 独立写线程 + 文本降级
数据库·c++·qt·架构·sqlite
程序员清风8 小时前
数据处理脚本工程化:日志、配置、命令行与测试
服务器·开发语言·数据库
正在走向自律9 小时前
数据集成产品的技术底座:从日志解析原理到 KFS 同步链路搭建(含建表与增删改查完整代码)
数据库·oracle·信创·数据集成·国产数据库·kingbasees·全量+增量同步
程序员塔塔喵9 小时前
【MySQL篇|第七篇】MySQL事务
数据库·mysql·mysql事务
独隅10 小时前
Claude API 实战教程:从入门到完整项目
android·java·数据库·claude·claude code
_孤傲_10 小时前
快速掌握 MySQL 语法
数据库·后端·mysql
数字新视界12 小时前
一体化机柜在数据中心运维中的创新应用与优势分析
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
SelectDB12 小时前
从 StarRocks 走向 Apache Doris:如何实现引擎平滑替换与架构升级?
大数据·数据库·数据分析
为思念酝酿的痛12 小时前
MySQL的操作
数据库·mysql
猫咪很可爱12 小时前
Oracle ORA-4031 错误分析与处理:SGA 内存不足导致 update/exp/expdp 失败
数据库·oracle