当前位置:Oracle研究中心 > 运维DBA >
时间:2016-06-15 12:55 来源:Oracle研究中心 作者:惜分飞 点击: 次
在ORACLE 12C之前大家都知道密码文件是存放在?/dbs或者?/database中,如果要修改修改sysdba权限的用户密码时候,会去修改密码文件。
而在rac数据库的sys密码文件是存在各个节点中,这个时候修改sysdba权限的密码就需要在两个节点都要做同样的操作,而对于数据库来说本身是只要在一个节点上修改即可,因为密码是记录在user$中,就是因为密码文件非共享且在各个节点中都有,因此需要在各个节点均要执行修改密码命令,确保密码文件被正常修改。
因为rac 密码文件非共享的机制存在,导致修改sysdba权限密码繁琐,有些时候甚至有节点忘记修改,导致需要使用密码文件操作数据库的时候不能正常进行,DG传输日志异常等故障。在ORACLE 12C中为了解决这个问题,引入了密码文件可以存入ASM新特性,从而使得密码文件存储在ASM中实现所有节点共享,从而解决该问题.
ASM存储密码文件前提条件 COMPATIBLE.ASM>= 12.1
SQL> select * from v$version; BANNER CON_ID -------------------------------------------------------------------------------- ---------- Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production 0 PL/SQL Release 12.1.0.1.0 - Production 0 CORE 12.1.0.1.0 Production 0 TNS for Linux: Version 12.1.0.1.0 - Production 0 NLSRTL Version 12.1.0.1.0 - Production 0 SQL> select NAME,COMPATIBILITY from v$asm_diskgroup; NAME COMPATIBILITY ------------------------------ ------------------------------------------------------------ DATA 12.1.0.0.0
[grid@oracleplus ~]$ srvctl config database -d cdb Database unique name: cdb Database name: cdb Oracle home: /u01/app/oracle/product/12.1/db_1 Oracle user: oracle Spfile: +DATA/cdb/spfilecdb.ora Password file: Domain: Start options: open Stop options: immediate Database role: PRIMARY Management policy: MANUAL Database instance: cdb Disk Groups: DATA Services:
这里db的password file为空,即表示使用默认值,也就是为$ORACLE_HOME/dbs/orapworacleplus
--创建db新密码文件 [oracle@oracleplus ~]$ orapwd file='+data/CDB/orapwdoracleplus' dbuniquename='cdb' Enter password for SYS: ----输入sys用户密码 --创建asm新密码文件 orapwd file='+data/ASM/orapwasm' asm=y ----asm=y 表示创建的密码文件为asm的 --使用老密码文件创建db/asm新密码文件 orapwd input_file='/oraclegrid/dbs/orapwasm' file='+data/ASM/orapwasm' [asm=y] ----input_file 表示使用老的密码文件创建新的存储在ASM中的密码文件
ASMCMD> showversion ASM version : 12.1.0.1.0 ASMCMD> pwd +data/cdb ASMCMD> ls -l orapwdoracleplus Type Redund Striped Time Sys Name PASSWORD UNPROT COARSE MAY 31 19:00:00 N orapwdoracleplus => +DATA/CDB/PASSWORD/pwdcdb.290.816897265
配置crs中password file项
[grid@oracleplus ~]$ srvctl modify database -db cdb -pwfile +data/CDB/orapwdoracleplus
查询crs中关于db配置
[grid@oracleplus ~]$ srvctl config database -d cdb Database unique name: cdb Database name: cdb Oracle home: /u01/app/oracle/product/12.1/db_1 Oracle user: oracle Spfile: +DATA/cdb/spfilecdb.ora Password file: +data/CDB/orapwdoracleplus Domain: Start options: open Stop options: immediate Database role: PRIMARY Management policy: MANUAL Database instance: cdb Disk Groups: DATA Services:
至此数据库启动使用密码ASM中的密码文件完成,补充说明,该方式配置在ASM中的密码文件,只能是通过crs方式启动db才会生效,如果手工使用sqlplus启动数据库不会使用该密码文件,还是使用默认密码文件。
这里也就提醒大家操作规范:
在RAC环境(包含单节点的GI环境)中,对数据库的启动关闭操作强烈建议使用crs相关命令来完成,而不推荐使用sqlplus命令
--------------------------------------ORACLE-DBA----------------------------------------
最权威、专业的Oracle案例资源汇总之学习笔记:Oracle 12C ASM 新特性 共享密码文件
本文由大师惜分飞原创分享,网址:http://www.oracleplus.net/arch/389.html
Powered by Oracle研究中心 OraclePlus Inc.
BY DedeCMS 京ICP备14022373号-5
声明:Oracle研究中心部分文章源自互联网,转载均按原文作者要求转载,如有疑问联系QQ:1026002015,协商未果24小时删除。