SQL> alter database tempfile '/oracle/oradata/skatestdby/temp01.dbf' offline;
Database altered.
删除tempfile文件
SQL> alter database tempfile '/oracle/oradata/skatestdby/temp01.dbf' drop including datafiles;
Database altered.
准备启动standby的recover
SQL> alter database recover managed standby database disconnect using current logfile;
alter database recover managed standby database disconnect using current logfile
*
ERROR at line 1:
ORA-01093: ALTER DATABASE CLOSE only permitted with no sessions connected
SQL> alter database close;
alter database close
*
ERROR at line 1:
ORA-01093: ALTER DATABASE CLOSE only permitted with no sessions connected
因为standby库有连接,所有无法直接close库。
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
启动数据库nomount
SQL> startup nomount;
ORACLE instance started.
Total System Global Area 1.7180E+10 bytes
Fixed Size 2114104 bytes
Variable Size 2214596040 bytes
Database Buffers 1.4948E+10 bytes
Redo Buffers 14659584 bytes
以standby模式mount数据库
SQL> alter database mount standby database;
Database altered.
启动standby的recover
SQL> alter database recover managed standby database disconnect using current logfile;
Database altered.
SQL> alter database recover managed standby database cancel;
Database altered.
再次read only库,看是否还报错
SQL> alter database open read only;
Database altered.
检查alert.log文集,数据库正常启动,没有报错了,其实在这个操作期间,一直在看alertlog文件的变化。
SQL> alter database close;
alter database close
*
ERROR at line 1:
ORA-01093: ALTER DATABASE CLOSE only permitted with no sessions connected
断掉和standby库的连接,直接close standby库
SQL> alter database close;
Database altered.
启动standby的实时recover
SQL> alter database recover managed standby database disconnect using current logfile;
Database altered.
也可以用如下步骤,把实时的recover转化为一般的recover
SQL> alter database recover managed standby database cancel;
Database altered.
SQL> alter database recover managed standby database disconnect;
Database altered.
SQL>
至此ok,当DG切换时,直接切换即可,减少了切换时间。
------end-------