ORACLE11g 云上Data Guard环境备库down机恢复实战过程

前端之家收集整理的这篇文章主要介绍了ORACLE11g 云上Data Guard环境备库down机恢复实战过程前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1Oracle备库down

微软云上的oracle备库意外ping不通了,各种报警上来了,联系微软云后台工程师,他们看了下,大概是说文件损坏了,信息如下:@H_301_15@

Checking all file systems.@H_301_15@

[/sbin/fsck.ext4 (1) -- /] fsck.ext4 -a /dev/sda1@H_301_15@

/dev/sda1: clean,134941/1905008 files,2416626/7608064 blocks@H_301_15@

[/sbin/fsck.ext4 (1) -- /oracle] fsck.ext4 -a /dev/sdc1@H_301_15@

fsck.ext4: No such file or directory while trying to open /dev/sdc1@H_301_15@

/dev/sdc1:@H_301_15@

The superblock could not be read or does not describe a correct ext2@H_301_15@

filesystem. If the device is valid and it really contains an ext2@H_301_15@

filesystem (and not swap or ufs or something else),then the superblock@H_301_15@

is corrupt,and you might try running e2fsck with an alternate superblock:@H_301_15@

e2fsck -b 8193 <device>@H_301_15@

[Failed]@H_301_15@

*** An error occurred during the file system check.@H_301_15@

*** Dropping you to a shell; the system will reboot@H_301_15@

*** when you leave the shell.@H_301_15@

Give root password for maintenance@H_301_15@

(or type Control-D to continue):@H_301_15@

系统在启动的过程中无法识别/dev/sdc1的superblock,未能正常启动到login界面,sdc1的superblock损坏。@H_301_15@

2、尝试界面恢复

给azure云的工程师建议,直接在管理界面关闭,然后再启动,试试看。不知道他们是否采纳了,过了3个小时候后,他们跟我说一句恢复了,oracle备库服务器已经启动起来了。@H_301_15@

然后我远程登录进去,一看数据文件目录还在,就准备startup,不过startup报错,如下所示@H_301_15@

sql> startup;@H_301_15@

ORACLE instance started.@H_301_15@

Total System Global Area 1.1825E+10 bytes@H_301_15@

Fixed Size 2217024 bytes@H_301_15@

Variable Size 6106909632 bytes@H_301_15@

Database Buffers 5704253440 bytes@H_301_15@

Redo Buffers 11849728 bytes@H_301_15@

Database mounted.@H_301_15@

ORA-10458: standby database requires recovery@H_301_15@

ORA-01196: file 1 is inconsistent due to a Failed media recovery session@H_301_15@

ORA-01110: data file 1: '/home/oradata/powerdes/system01.dbf'@H_301_15@

sql> @H_301_15@

看到是书籍不一致,所以在启动的时候,尝试介质恢复失败,在system01.dbf这个数据文件上面恢复失败了。@H_301_15@

3、启动归档传输

启动归档,必须在mount状态下执行:@H_301_15@

sql> alter database recover managed standby database using current logfile disconnect from session;@H_301_15@

Database altered.@H_301_15@

sql>@H_301_15@

4、实时观察日志应用

实时观察,查看主库备库归档传输完成:@H_301_15@

# 主库查看:@H_301_15@

sql> select sequence#,applied from v$archived_log order by sequence#;@H_301_15@

......@H_301_15@

SEQUENCE# APPLIED@H_301_15@

---------- ---------@H_301_15@

16850 NO@H_301_15@

16850 NO@H_301_15@

16851 NO@H_301_15@

16851 NO@H_301_15@

16852 NO@H_301_15@

16852 NO@H_301_15@

16853 NO@H_301_15@

16853 NO@H_301_15@

16854 NO@H_301_15@

16854 NO@H_301_15@

16855 NO@H_301_15@

SEQUENCE# APPLIED@H_301_15@

---------- ---------@H_301_15@

16855 NO@H_301_15@

5600 rows selected.@H_301_15@

sql> @H_301_15@

# 备库查看:@H_301_15@

sql> select sequence#,applied from v$archived_log order by sequence#;@H_301_15@

......@H_301_15@

---------- ---------@H_301_15@

16844 NO@H_301_15@

16845 NO@H_301_15@

16846 NO@H_301_15@

16847 NO@H_301_15@

16848 NO@H_301_15@

16849 NO@H_301_15@

16850 NO@H_301_15@

16851 NO@H_301_15@

16852 NO@H_301_15@

16853 NO@H_301_15@

16854 NO@H_301_15@

SEQUENCE# APPLIED@H_301_15@

---------- ---------@H_301_15@

16855 NO@H_301_15@

5600 rows selected.@H_301_15@

sql>@H_301_15@

但是归档传输完成了,只是表面从主库的归档日志已经完全拉到备库了,但是日志应用还没有结束,还在执行中,去alert后台日志就可以看到信息:@H_301_15@

Mon Nov 21 19:35:31 2016@H_301_15@

Media Recovery Log /oracle/app/oracle/flash_recovery_area/archivelog1_16715_906253421.dbf@H_301_15@

Media Recovery Log /oracle/app/oracle/flash_recovery_area/archivelog1_16716_906253421.dbf@H_301_15@

Media Recovery Log /oracle/app/oracle/flash_recovery_area/archivelog1_16717_906253421.dbf@H_301_15@

Media Recovery Log /oracle/app/oracle/flash_recovery_area/archivelog1_16718_906253421.dbf@H_301_15@

Media Recovery Log /oracle/app/oracle/flash_recovery_area/archivelog1_16719_906253421.dbf@H_301_15@

Media Recovery Log /oracle/app/oracle/flash_recovery_area/archivelog1_16720_906253421.dbf@H_301_15@

Mon Nov 21 19:35:41 2016@H_301_15@

Media Recovery Log /oracle/app/oracle/flash_recovery_area/archivelog1_16721_906253421.dbf@H_301_15@

Media Recovery Log /oracle/app/oracle/flash_recovery_area/archivelog1_16722_906253421.dbf@H_301_15@

Media Recovery Log /oracle/app/oracle/flash_recovery_area/archivelog1_16723_906253421.dbf@H_301_15@

Media Recovery Log /oracle/app/oracle/flash_recovery_area/archivelog1_16724_906253421.dbf@H_301_15@

Media Recovery Log /oracle/app/oracle/flash_recovery_area/archivelog1_16725_906253421.dbf@H_301_15@

Mon Nov 21 19:35:58 2016@H_301_15@

Media Recovery Log /oracle/app/oracle/flash_recovery_area/archivelog1_16726_906253421.dbf@H_301_15@

Media Recovery Log /oracle/app/oracle/flash_recovery_area/archivelog1_16727_906253421.dbf@H_301_15@

Mon Nov 21 19:36:09 2016@H_301_15@

Media Recovery Log /oracle/app/oracle/flash_recovery_area/archivelog1_16728_906253421.dbf@H_301_15@

也可以查看dg状态,看到正在应用日志中@H_301_15@

sql> col value for a80@H_301_15@

sql> set linesize 2000@H_301_15@

sql> col name for a50@H_301_15@

sql> col value for a80@H_301_15@

sql> select name,value from v$dataguard_stats;@H_301_15@

NAME VALUE@H_301_15@

-------------------------------------------------- --------------------------------------------------------------------------------@H_301_15@

transport lag +00 00:00:00@H_301_15@

apply lag +02 01:23:55@H_301_15@

apply finish time +00 00:06:31.000@H_301_15@

estimated startup time 11@H_301_15@

sql>@H_301_15@

等日志应用完成后,再查看后台alert log可以看到:@H_301_15@

Media Recovery Log /oracle/app/oracle/flash_recovery_area/archivelog1_16853_906253421.dbf@H_301_15@

Mon Nov 21 19:50:21 2016@H_301_15@

Media Recovery Log /oracle/app/oracle/flash_recovery_area/archivelog1_16854_906253421.dbf@H_301_15@

Mon Nov 21 19:50:31 2016@H_301_15@

Media Recovery Log /oracle/app/oracle/flash_recovery_area/archivelog1_16855_906253421.dbf@H_301_15@

Media Recovery Waiting for thread 1 sequence 16856 (in transit)@H_301_15@

Recovery of Online Redo Log: Thread 1 Group 4 Seq 16856 Reading mem 0@H_301_15@

Mem# 0: /home/oradata/powerdes/redo_dg_021.log@H_301_15@

@H_301_15@

5、打开数据库

sql> alter database open;@H_301_15@

alter database open@H_301_15@

*@H_301_15@

ERROR at line 1:@H_301_15@

ORA-10456: cannot open standby database; media recovery session may be in@H_301_15@

progress@H_301_15@

sql> select name,open_mode from v$database;@H_301_15@

NAME OPEN_MODE@H_301_15@

--------- --------------------@H_301_15@

POWERDES MOUNTED@H_301_15@

sql> alter database recover managed standby database cancel;@H_301_15@

Database altered.@H_301_15@

sql> alter database open;@H_301_15@

Database altered.@H_301_15@

sql> alter database recover managed standby database using current logfile disconnect;@H_301_15@

Database altered.@H_301_15@

sql>@H_301_15@

至此,oracle备库完全修复完成,主备数据库开始保持一致保持同步。@H_301_15@

猜你在找的Oracle相关文章