[20170227]快速重建dg测试环境.txt
--//玩过火了,在测试互传在线日志时出现问题,导致dg破坏,安全起见我重新安装.
1.环境:
SYS@book> @ &r/ver1
PORT_STRING VERSION BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx 11.2.0.4.0 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
--//首先清除垃圾.
delete archivelog all ;
delete backupset ;
--//关闭数据库.
2.利用冷备份覆盖数据库相关文件:
$ /bin/cp /u01/backup/20170227A/* /mnt/ramdisk/book/ /* 利用冷备份覆盖当前数据库 */
$ scp /u01/backup/20170227A/* oracle@192.168.100.40:/mnt/ramdisk/book/ /* 复制到远程机器 */
3.转换bookdg数据为dg数据库.
SYS@bookdg> startup mount
ORACLE instance started.
Total System Global Area 634732544 bytes
Fixed Size 2255792 bytes
Variable Size 197133392 bytes
Database Buffers 427819008 bytes
Redo Buffers 7524352 bytes
Database mounted.
SYS@bookdg> ALTER DATABASE CONVERT TO PHYSICAL STANDBY;
Database altered.
--//这样简单快捷,特别目录结构一样的dg系统.
SYS@bookdg> select open_mode from v$database;
select open_mode from v$database
*
ERROR at line 1:
ORA-01507: database not mounted
--//说明执行这个命令到nomount状态.再次启动到mount状态.
SYS@bookdg> select database_role from v$database;
DATABASE_ROLE
----------------
PHYSICAL STANDBY
--OK!
3.启动主库到mount状态:
--检查参数ok.
log_archive_dest_2=SERVICE=bookdg LGWR ASYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=bookdg
log_archive_dest_state_2=ENABLE
SYS@book> alter database open ;
Database altered.
--//备库执行:
SYS@bookdg> alter database recover managed standby database using current logfile disconnect ;
Database altered.
SYS@bookdg> @ &r/dg/dg
PROCESS PID STATUS CLIENT_P GROUP# THREAD# SEQUENCE# BLOCK# BLOCKS DELAY_MINS
--------- ------- ------------ -------- ------ ------- ---------- ---------- ---------- ----------
RFS 25946 IDLE UNKNOWN N/A 0 0 0 0 0
RFS 25948 IDLE LGWR 1 1 695 26 1 0
ARCH 25933 CLOSING ARCH 6 1 694 1 189 0
MRP0 25950 APPLYING_LOG N/A N/A 1 693 21196 21197 0
--//ok,现在dg环境已经恢复过来的.
4.这样恢复简单,测试也不存在任何问题.