一、参数核对
show parameter log\_archive\_dest\_2
show parameter log\_archive\_dest\_state\_2
show parameter log\_file\_name\_convert
show parameter db\_file\_name\_convert
show parameter controlfile
show parameter standby\_file\_management
show parameter fal
Show parameter log\_archive\_config
show parameter db\_recovery\_file\_dest
show parameter db\_recovery\_file\_dest\_size
show parameter db\_recover\_config
show parameter cluster\_database
show parameter cluster\_database\_instances
show paramteter undo\_tablespace --两节点分别检查,有坑
show parameter spfile
show parameter processes
srvctl config database -db orcl --注意核对passwordfile
二、可能出现的问题
2.1 ORA-01102 二节点无法启动
ORA-01102: cannot mount database in EXCLUSIVE mode
原因:
集群相关参数未设置
解决:
alter system set cluster\_database=TRUE scope=spfile sid='\*';
alter system set cluster\_database\_instances=<n> scope=spfile sid='\*';
可能还需要设置instance_name、instance_number、undo_tablespace,设置时注意指定sid
2.2 ORA-01618 二节点无法启动
ORA-01618: redo thread 2 is not enabled - cannot mount
原因:
手工建库后只有1节点redo文件,添加2节点redo文件后未启用
解决:
alter database enable thread 2;
2.3 ORA-01078 LRM-00109 二节点无法启动
原因:
参数文件未共享
解决:
移动spfile文件至asm
create spfile='+DATA01/ORCL/PARAMETERFILE/spfileorcl' from pfile='xxx'
srvctl modify database -db orcl -spfile +DATA01/ORCL/PARAMETERFILE/spfileorcl
2.4 备库启动后有MRP无RFS
检查主库是否打开,检查主库v$dataguard_status
2.5 预检查报错
alter database switchover to orcldg;
alert日志提示
switchover verify waring:no standby redo logfile configured;
解决:
主库切换为备库后没有redo
主库添加standby redo
alter database add standby thred 1 group 10 '+DATA01' size 100m;
2.6 v$dataguard_status提示
krsg_check_connection:Error 12154 connecting to standby 'xxx'--xxx为tnsname连接串名字
原因:tns配置有误
解决:
tnsping xxx
2.7 service_names每次重启后会增加其它值
原因:参数配置有误
解决:创建pfile后检查是否存在xxx.service_names 与*.service_names共存
2.8 ORA-10458 ORA-01152 ORA-01110 ORA-10458
原因:备库不一致
解决:mount状态让子弹飞一会
alter database recover managed standby database using current logfile disconnect from session;
alter database recover managed standby database using current logfile cancel;
alter database open;
2.9 alert日志出现[161703] no undo tbs,wait for pnp
启动二节点时mount后不返回消息,查询status为open;
原因:手工建库没有为二节点指定undo
解决:二节点检查undo_tablespace参数是否为空
create undo tablespce undotbs2 datafile '+DATA01' size 10G autoextend on next 2G;
alter system set undo\_tablespace=undotbs2 scope=both sid='orcl2';
貌似scope=both后该参数还是为空,重启再后检查
2.10 RMAN-05501 RMAN-06403 RMAN-04006 ORA-01034 ORA-27101
原因:tns配置错误,连接不到辅助库
2.11 RMAN-03002 RMAN-12010 RMAN-06403 ORA-01034 ORA-27101
原因:辅助库需要处于nomount状态
2.12 RMAN-03009 ORA-19602
原因:看提示,让你开归档
2.13 v$dataguard_status 提示1013、1014、1017
原因:密码文件问题
解决:
srvctl config database -db orcl --检查密码文件列
asmcmd
pwget --dbuniquename orcl
pwcopy +DGSYSTEM/ORCL/PASSWORD/pwdorcl3 /tmp/pwfile
scp至备库
pwcopy /tmp/pwfile +DGSYSTEM/ORCLDG/PASSWORD/pwdorcl
srvctl modify database -db orcldg -pwfile +DGSYSTEM/ORCLDG/PASSWORD/pwdorcl
ALTER SYSTEM FLUSH PASSWORDFILE_METADATA_CACHE;–主备均执行
还有一种可能,检查remote_login_passwordfile是否为exclusive
2.15 二节点因控制文件不共享无法启动
解决:
alter system set control\_files='local','+asmpath';
重启至nomount
rman target /
restore controlfile from 'local';
shutdown immediate
startup
2.16 主库添加临时数据文件或表空间后,备库只同步控制文件信息,数据文件需要自己手工添加,这个问题在
alter dababase switchover ti orcldg verify
时会提示waring,检查alert日志发现两边temp文件不一致。
三、总结
1、遇到问题不要局限于当前报错提示,只检查当前节点日志。有时候报错提示可能并不准确,需要综合各个节点,各个部分
日志来分析。很可能一条其它部分日志能只是出问题在哪。比如DG备库收不到日志或者不应用日志,最好同时检查主库各个节点,
处理alert日志,还需要检查v$dataguard_status。很多时候alert什么也不写。
2、仔细阅读提示,oerr工具会根据报错提示显示很清楚,比如ORA-19602




