热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

用OracleAMDU抽取ASM磁盘组的数据文件

amdu-diskstring

amdu -diskstring

amdu -diskstring '' -extract '.'

数据文件号 可以根据asm 实例 查询 v$asm_file视图得出

也可以查v$datafile,,如果用了别名,可以用v$asm_alias;

SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
+DATA/db1/datafile/system.256.794361477
+DATA/db1/datafile/sysaux.257.794361477
+DATA/db1/datafile/undotbs1.258.794361477
+DATA/db1/datafile/users.259.794361477 <(=== this files need to be extracted
+DATA/db1/datafile/example.261.794361601
+DATA/db1/datafile/testasm.263.817147851
+DATA/db1/datafile/dbfs_ts.264.822088469


比如我们要抽取users表空间下面对应的数据文件

Full File name = "+DATA/db1/datafile/users.259.794361477"

File Number = "259"

Disk String = "/dev/Oracleasm/disks/*"

Diskgroup Name = "DATA"

Extracted File = DATA_259.f

amdu -diskstring '/dev/oracleasm/disks/*' -extract 'DATA.259'

在当前目录下会生成amdu_加日期格式的文件夹

[grid@dbaasm ~]$ cd amdu_2013_08_31_00_17_17/
[grid@dbaasm amdu_2013_08_31_00_17_17]$ ls -l
total 2099228
-rw-r--r-- 1 grid oinstall 2147491840 Aug 31 00:18 DATA_259.f
-rw-r--r-- 1 grid oinstall 14514 Aug 31 00:18 report.txt

生成数据文件的格式为磁盘组+数据文件号,并且加后缀名为点f,然后重命名为对应表空间名字users.dbf即可

[grid@dbaasm amdu_2013_08_31_00_17_17]$ mv DATA_259.f users.dbf
[grid@dbaasm amdu_2013_08_31_00_17_17]$ ls -l
total 2099228
-rw-r--r-- 1 grid oinstall 14514 Aug 31 00:18 report.txt
-rw-r--r-- 1 grid oinstall 2147491840 Aug 31 00:18 users.dbf <(======

上个周末,因为存储故障,asm磁盘不能正常加载,就用这种方法帮客户恢复数据。

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2

Oracle 11g从入门到精通 PDF+光盘源代码

RHEL6 ASM方式安装Oracle 11g R2

Oracle 10g 手工创建ASM数据库

Oracle 10g R2创建ASM实例Step By Step


推荐阅读
author-avatar
吻过彩虹的脸_378
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有