1、1:srvctl start database -d orcl_standby -o 'read only' 一致卡住[oracle@qidongbk1 dbs]$ srvctl start database -d orcl_standby -o 'read only'
2、2:查看数据库alert日志发现日志文件缺失Completed: ALTER DATABASE MOUNT /* db agent *//* {1:3056:3070} */ALTER DATABASE OPEN READ ONLY /* db agent *//* {1:3056:3070} */AUDIT_TRAIL initialization parameter is changed to OS, as DB is NOT compatible for database opened with read-only accessThis instance was first to openBeginning Standby Crash Recovery.Errors in file /u01/app/oracle/diag/rdbms/orcl_standby/orcl_standby2/trace/orcl_standby2_lgwr_31115.trc:ORA-00313: open failed for members of log group 5 of thread 1ORA-00312: online log 5 thread 1: '+DATADG/orcl_standby/onlinelog/group_5'ORA-17503: ksfdopn:2 Failed to open file +DATADG/orcl_standby/onlinelog/group_5查看+DATADG/orcl_standby/onlinelog中没有日志文件。
3、3:直接ctrl+c终止发现备库处于mount状态直接ctrl+C 终止之后,发现数据库处于mounted状态。
4、4:停止备库两个节点mount的实例[oracle@qidongbk1 dbs]$ srvctl stop database -d orcl_standby PRCC-1016 : orcl_standby was already stopped 报错只能sqlplus / as sysdba进入各个实例shutdown immediate关闭数据库实例。但是执行shutdown immediate 一致卡住
5、5:查看各个节点数据库alert日志SHUTDOWN: waiting for logins to complete.需要kill -9 进程号。才能够停止数据库从图可以看出备库节点 1的31143进程需要杀掉:kill -9 31143同样道理,才看备库节点2的alert日志,杀掉相关进程
6、6:进程杀掉后备库关闭正常
7、7:启动备库到mount状态并开启apply进程srvctl start database –d orcl_standby –o mount 启动到mount状态,然后执行alter database recover managed standby database disconnect from session开启apply进程apply data。
8、8:apply进程apply data完之后日志自动创建查看开启apply进程的备库节点的alert日志,发现media recovery正在等待thread2(也就是主库节点2)的日志序列:18949到主库节点2 archive log list查看节点2的实例日志序列号就是18949说明apply进程apply data完成并等待主库的归档。这时候asmcmd查看日志文件时发现日志文件已经自动创建
9、9:关闭apply进程和备库数据库然后启动备库到read only状态且打开apply进程