大家好!最近在一套CDB模式的12C库中发现某个PDB处于disablerecovery即不同步状态,下面详细介绍下其处理过程。
ADG备库某个PDB(案例为CHECKPDB)开启实时同步操作
1、查看PDB状态,CHECKPDB处于mounted状态
2、查看PDB发现CHECKPDB处于disabledrecovery状态
3、停掉实时应用,并重启数据库至mount状态
alterdatabase recover managed standby database cancel;
shutdownimmediate;
startupmount;
4、启动checkdpb的recover
altersession set container=CHECKPDB;
alterpluggable database enable recovery;
5、将数据库启动到open状态,并将所有PDBopen,再开启实时应用并检查状态
alterdatabase open;
alterpluggable database all open;
alterdatabase recover managed standby database using current logfiledisconnect from session;
showpdbs
selectname, recovery_status from v$pdbs;
如果在CDB模式下,ADG备库不想同步某一个PDB的数据,可采取以下方法进行。
备库运行:
selectname, recovery_status from v$pdbs;
alterdatabase recover managed standby database cancel;
altersession set container=CHECKPDB;
alterpluggable database close;
alterpluggable database disable recovery;
conn/ as sysdba
alterdatabase recover managed standby database using current logfiledisconnect from session;
注:由于删除不同步pdb的前提条件是数据库处于openreadwrite模式,所以在ADG备库不能通过命令删除PDB,如需删掉不同步PDB释放空间,找到该PDB的所有数据文件位置,然后直接RM掉。