RAC-FALSHBACK-DG

述:
   主rac ,备 asm node  做成 ADG 形式, 当主备切换,或者 failover 时: 原来的主变为备,原来的备变为主:
这个时候,原备 将以 resetlogs open 数据库,同时,ADG HA 将破坏不存在。 需要重建:


   法一:  重新搭建DG 模式, 然后通过 duplicate , 原备,原主有计划的 switchover 过来。
   法二:  通过flashback database 模式, 通过基于 timstamp, scn or restore checkpoint 继续同步,不管 原备是否是以resetlogs 打开。
           --resetlogs or  noresetlogs  区别: 
    RESETLOGS会初始化logs,重置log sequence号,创建一个新的incarnation。使用resetlogs,将导致online logs里的内容丢失,并且所有的备份失效,仅当online logs 随坏的情况下,才使用resetlos模式
NORESETLOGS 会继续使用已经存在,且有效的log files。
做不完全恢复必须使用resetlogs, resetlogs也可以做完全恢复。而noresetlogs则是必须做完全恢复时使用。resetlogs会重置日志序列号强制清空或重建REDO,而noresetlogs则不会这么做。
    --详见其他关于笔记:


这里: 测试 方法二: 切换后,基于resetlogs open  数据库.


环境: db  11.2.0.3    os  redhat 5.8 x86 64bit  


    
1, 主备开启 flashback on ,同时 设置  
         闪回数据库相关参数:
     ① db_recovery_file_dest               #决定闪回恢复区路径
     ② db_recovery_file_dest_size          #决定闪回恢复区大小
     ③ db_flashback_retention_target       #保留恢复最近多长时间的数据,单位为分钟。
         ① V$restore_point            #闪回点
     ② V$FLASHBACK_DATABASE_LOG   #闪回日终信息
     ③ V$FLASHBACK_DATABASE_STAT
     ④ v$flash_recovery_area_usage;      #闪回区使用率




SQL> show parameter recover 


NAME     TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest     string +LOGFILE
db_recovery_file_dest_size     big integer 8000M
db_unrecoverable_scn_tracking     boolean TRUE
recovery_parallelism     integer 0
SQL> show parameter db_flashback


NAME     TYPE VALUE
------------------------------------ ----------- ------------------------------
db_flashback_retention_target     integer 1440


2, 开启归档


3, 这里可以记录创建timestamp, scn , point  时间节点:


4,在之前,主备 开启实时接受:  V$ARCHIVE_DEST_STATUS 查询状态,以及日志接收方式。
SQL> /


DATABASE_MODE RECOVERY_MODE    PROTECTION_MODE      SYNCHRONIZATION_STATUS
--------------- ----------------------- -------------------- ----------------------
OPEN    IDLE        MAXIMUM PERFORMANCE  CHECK CONFIGURATION
OPEN_READ-ONLY MANAGED REAL TIME APPLY MAXIMUM PERFORMANCE  CHECK CONFIGURATION
UNKNOWN     IDLE        MAXIMUM PERFORMANCE  CHECK CONFIGURATION




5: 主库rac 关库: (我这里为了了方便,直接省去了failover 操作)
[root@dominic2 bin]# ./srvctl stop database -d dominic -o immediate


然后在一个实例上通过 startup mount 状态:


执行 flashback databae  to scn |timestamp to_timestamp | point :


SQL> startup mount
ORACLE instance started.


Total System Global Area 1252663296 bytes
Fixed Size    2227944 bytes
Variable Size  989856024 bytes
Database Buffers  251658240 bytes
Redo Buffers    8921088 bytes
Database mounted.
SQL> flashback database to scn 12518792;


Flashback complete.


SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open


SQL> alter database open resetlogs;


Database altered.


SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.


[root@dominic2 bin]# ./srvctl start database -d dominic -o open




6 备库: shutdown  immediate


       数据库 mount 状态,之后, flashback databae  (这里可以到主库之前一点,活者在告警日志找对应点)
  
  flashback database to ......
  
  启用 日志应用: alter  database  recover managed standby  database using current logfile  disconnect from session;
 


7 查看告警日志 以及 检查数据。  (在之前的数据真都就不存在了,谨慎闪回库操作), 同时,这里做一次全备,以前的备份过期了。




8 因使用 resetlogs 后,系统一些日志已经过期,需要删除:


ORA-19815: WARNING: db_recovery_file_dest_size of 8388608000 bytes is 92.90% used, and has 595591168 remaining bytes available.
************************************************************************
You have following choices to free up space from recovery area:
1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,
   then consider changing RMAN ARCHIVELOG DELETION POLICY.
2. Back up files to tertiary device such as tape using RMAN
   BACKUP RECOVERY AREA command.
3. Add disk space and increase db_recovery_file_dest_size parameter to
   reflect the new space.
4. Delete unnecessary files using RMAN DELETE command. If an operating
   system command was used to delete files, then use RMAN CROSSCHECK and
   DELETE EXPIRED commands.
************************************************************************


RMAN> crosscheck backup;


using channel ORA_DISK_1
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/home/oracle/rmanbak/DOMINIC_0iq4s8hk_1_1_20150420_db RECID=17 STAMP=877535796
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/home/oracle/rmanbak/DOMINIC_0jq4s8n0_1_1_20150420_db RECID=18 STAMP=877535971
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/home/oracle/rmanbak/controlfile RECID=19 STAMP=877598769
Crosschecked 3 objects




RMAN> delete noprompt expired backup;


using channel ORA_DISK_1


List of Backup Pieces
BP Key  BS Key  Pc# Cp# Status      Device Type Piece Name
------- ------- --- --- ----------- ----------- ----------
17      17      1   1   EXPIRED     DISK        /home/oracle/rmanbak/DOMINIC_0iq4s8hk_1_1_20150420_db
18      18      1   1   EXPIRED     DISK        /home/oracle/rmanbak/DOMINIC_0jq4s8n0_1_1_20150420_db
19      19      1   1   EXPIRED     DISK        /home/oracle/rmanbak/controlfile
deleted backup piece
backup piece handle=/home/oracle/rmanbak/DOMINIC_0iq4s8hk_1_1_20150420_db RECID=17 STAMP=877535796
deleted backup piece
backup piece handle=/home/oracle/rmanbak/DOMINIC_0jq4s8n0_1_1_20150420_db RECID=18 STAMP=877535971
deleted backup piece
backup piece handle=/home/oracle/rmanbak/controlfile RECID=19 STAMP=877598769
Deleted 3 EXPIRED objects




RMAN > DELETE NOPROMPT EXPIRED ARCHIVELOG ALL;




   





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值