现象原因:
发现Dataguard主库sys用户远程无法登录,Dataguard broker状态错误,但DataGuard主备同步依然正常。
后来发现是由于当初为应付移动检查,把sys远程登录的功能参数修改了,
--查看broker状态
[oracle@webdb2 trace]$ dgmgrlsys/oracle
DGMGRL for Linux: Version11.2.0.3.0 - 64bit Production
Copyright (c) 2000, 2009,Oracle. All rights reserved.
欢迎使用 DGMGRL, 要获取有关信息请键入 "help"。
已连接。
DGMGRL> show configuration
配置 - webdb
保护模式: MaxAvailability
数据库:
webdb - 主数据库
webdb2 - 物理备用数据库
快速启动故障转移: DISABLED
配置状态:
ORA-01031: 权限不足
ORA-16625: 无法访问数据库 "webdb"
DGM-17017: 无法确定配置状态
EM broker状态:
--Dataguard Broker日志,发现和remote_login_passwordfile参数有关
[oracle@webdb2 trace]$ tail-100f drcwebdb2.log
01/28/2015 10:51:31
Connection to database webdbreturns ORA-01031.
Please check database webdb isusing a remote password file,
its remote_login_passwordfileis set to SHARED or EXCLUSIVE,
and the SYS password is thesame as this database.
--但dataguard日志传输应用是正常的
[oracle@webdb2 trace]$ tail-100f alert_webdb2.log
Wed Jan 28 11:01:04 2015
Standby controlfile consistentwith primary
RFS[6]: Selected log 7 forthread 1 sequence 1581 dbid -925543465 branch 819826777
Wed Jan 28 11:01:09 2015
Media Recovery Waiting forthread 1 sequence 1581 (in transit)
Recovery of Online Redo Log:Thread 1 Group 7 Seq 1581 Reading mem 0
Mem# 0:+DATA/webdb2/onlinelog/group_7.282.819884421
Mem# 1:+FRA/webdb2/onlinelog/group_7.278.819884423
Wed Jan 28 11:01:11 2015
Deleted Oracle managed file+FRA/webdb2/archivelog/2015_01_15/thread_1_seq_1468.429.869069205
Archived Log entry 1579 addedfor thread 1 sequence 1580 ID 0xc8d579d3 dest 1:
解决:
--修改主库remote_login_passwordfile参数问题解决
[oracle@webdb1 ~]$ sqlplus"/as sysdba"
SQL> show parameter password
NAME TYPE VALUE
----------------------------------------------- ------------------------------
remote_login_passwordfile string NONE
SQL> alter system setremote_login_passwordfile=EXCLUSIVE scope=spfile;
系统已更改。
--重启数据库生效
shutdown immediate
startup
结论:
在修改参数时一定要根据实际的环境的应用场景修改,综合全面考量,否则会造成某些功能的莫名失效。