oracle asm 恢复 Oracle数据恢复:AMDU恢复ASM磁盘组数据

如何在ASM磁盘组损坏后使用AMDU进行数据库恢复

注意:这并不是针对受损ASM磁盘组中的内容使用RMAN备份来恢复方案的替代方案。使用这种工具一般是在常规恢复手段不起效而为了“尽最大努力”而进行的尝试。因此这种修复手段并不能对数据库进行完整性恢复。

1. 从数据库alert.log启动信息中找到相关参数信息,并为已经丢失的数据库建立pfile。

2. 启动数据库到nomount状态。

3. 从alert日志中获取控制文件编号。这在数据库刚启动的信息中可以找到,如:
eg., control_files='+DATA/orcl/controlfile/current.256.709676643' 其编号为256

4. 如果控制文件的备份存放位置不是在asm里的,那么可以将pfile指向直接指向这个文件并mount数据库。
不过,如果你没有控制文件备份的话,那么可以从第三步中判断文件号,然后再从asm中将文件提取出来。

$ amdu -diskstring <asm_diskstring> -extract DATA.256 

5. 关闭数据库,修改control_file指向被提取出来的控制文件位置

6. 启动并mount数据库

7. 一旦库mount起来后,可以使用以下语句找到数据文件编号和在线重做日志文件信息:

sql> select name from v$datafile
sql> select * from v$logfile

8. 和第四步中提到方式一样,将所有数据文件和重做日志提取出来

9. 数据库文件位置重新定位

alter database rename <数据文件> to <新抓取的数据库文件位置>

10. 打开数据库

猜你喜欢

转载自blog.csdn.net/liu_maclean/article/details/81079087