ホームページ >データベース >mysql チュートリアル >ASM Diskgroup数据恢复终极方案PRM-DUL工具

ASM Diskgroup数据恢复终极方案PRM-DUL工具

WBOY
WBOYオリジナル
2016-06-07 16:39:001223ブラウズ

Oracle ASM Diskgroup数据恢复终极方案PRM-DUL工具 下载最新版PRM: http://parnassusdata.com/sites/default/files/ParnassusData_PRMForOracle_3206.zip PRM用户手册: http://www.parnassusdata.com/sites/default/files/ParnassusData%20Recovery%20Manag

Oracle ASM Diskgroup数据恢复终极方案PRM-DUL工具

下载最新版PRM:

http://parnassusdata.com/sites/default/files/ParnassusData_PRMForOracle_3206.zip

PRM用户手册:

http://www.parnassusdata.com/sites/default/files/ParnassusData%20Recovery%20Manager%20For%20Oracle%20Database%E7%94%A8%E6%88%B7%E6%89%8B%E5%86%8C%20v0.3.pdf

ORACLE的ASM自动存储管理技术正被越来越多的企业采用,数据库采用ASM存储对比传统文件系统具有高性能、支持集群、管理方便等优势。 但ASM的问题在于,对于普通用户而言ASM的存储结构过于黑盒了,一旦ASM中的某个Disk Group的内部数据结构发生了损坏导致Disk Group无法被成功MOUNT,也就意味着用户重要的数据被锁死在这个ASM的黑盒中了。在这种场景中往往需要熟悉ASM内部数据结构的ORACLE原厂的资深工程师到达用户现场后通过手动修复ASM内部结构;而购买ORACLE原厂的现场服务对普通用户而言显得即昂贵又耗时。

基于PRM的研发人员(前ORACLE公司资深工程师)对ORACLE ASM内部数据结构的深入理解,PRM中加入了特别针对ASM的数据恢复功能。

PRM目前支持的ASM数据恢复功能包括:

1. 即便Disk Group无法正常MOUNT,仍可以通过PRM直接读取ASM磁盘上的可用的元数据metadata,并基于这些元数据将Disk Group中的ASM文件拷贝出来

2. 即便Disk Group无法正常MOUNT,仍可以通过PRM直接读取ASM上的数据文件,并抽取其中的数据,支持传统抽取方式和数据搭桥方式。

PRM对ASM的支持

功能 Supported
支持直接从ASM中抽取数据,无需拷贝到文件系统上 YES
支持从ASM中拷贝数据文件 YES
支持修复ASM metadata YES
支持图形化展示ASM黑盒 Future

社区版中ASM clone功能无任何限制,今后社区版将加入更多免费新特性

恢复场景6 从被损坏的ASM Diskgroup中拷贝出数据库数据文件

D公司开始采用ASM方案来替代文件系统和裸设备,但是由于使用的11.2.0.1版本ASM上Bug较多导致ASM DISKGROUP磁盘组无法加载MOUNT,通过多方修复ASM Disk Header无果。

此场景可以使用PRM的ASM Files Clone文件克隆功能从受损的ASM Diskgroup中拷贝出数据库数据文件。

  1. 打开主界面,菜单栏Tools选择ASM File(s) Clone:
  1. 进入ASM Disks界面,点击SELECT…按钮加入仍可用的ASM Disks,如/dev/asm-disk5(linux);确保加入所有可用LUN后,点击ASM analyze按钮
  1. ASM Files Clone将分析指定的ASM Disk的磁盘头,以便找出对应Disk group磁盘组中的文件,以及这些文件的分布位置(File Extent Map); 这些信息均将记录到Derby数据库中以便今后使用; 可以说PRM将ASM的所有Metadata元数据均收集、分析、并存储起来,并通过各种形式来完善PRM的基本功能,并以图形化地方式展现给用户。
  1. ASM Analyze分析完成后,PRM将列出找到的ASM上文件的列表,用户可以勾选那些文件需要被克隆,并指定文件克隆的目标文件夹。

之后点击ASM Clone按钮,进入文件克隆阶段。

文件克隆阶段中,将列出ASM File的克隆进度,克隆完成后点击OK。

克隆阶段的进度日志输出如下:

Preparing selected files… 

Cloning +DATA2/ASMDB1/DATAFILE/TBS2.256.839732369:

……………………..1024MB

………………………………..2048MB

………………………………..3072MB

………………………………….4096MB

………………………………..5120MB

………………………………….6144MB

……………………………….7168MB

…………………………………8192MB

…………………………………9216MB

…………………………………10240MB

…………………………………11264MB

…………………………………..12288MB

…………………………………….13312MB

…………………………….14336MB

……………………………………..15360MB

……………………………….16384MB

…………………………………17408MB

…………………………………18432MB

…………………………………………………………………………………………….19456MB

……………………………………

Cloned size for this file (in byte): 21475885056

Cloned successfully!

Cloning +DATA2/ASMDB1/ARCHIVELOG/2014_02_17/thread_1_seq_47.257.839732751:

……

Cloned size for this file (in byte): 29360128

Cloned successfully!

Cloning +DATA2/ASMDB1/ARCHIVELOG/2014_02_17/thread_1_seq_48.258.839732751:

……

Cloned size for this file (in byte): 1048576

Cloned successfully!

All selected files were cloned done.

  1. 可以通过dbv或者rman validate命令来验证克隆出来的数据文件,例如:
rman target / 

RMAN> catalog datafilecopy ‘/home/oracle/asm_clone/TBS2.256.839732369.dbf';

cataloged datafile copy

datafile copy file name=/home/oracle/asm_clone/TBS2.256.839732369.dbf RECID=2 STAMP=839750901

RMAN> validate datafilecopy ‘/home/oracle/asm_clone/TBS2.256.839732369.dbf';

Starting validate at 17-FEB-14

using channel ORA_DISK_1

channel ORA_DISK_1: starting validation of datafile

channel ORA_DISK_1: including datafile copy of datafile 00016 in backup set

input file name=/home/oracle/asm_clone/TBS2.256.839732369.dbf

channel ORA_DISK_1: validation complete, elapsed time: 00:03:35

List of Datafile Copies

=======================

File Status Marked Corrupt Empty Blocks Blocks Examined High SCN

—- —— ————– ———— ————— ———-

16?? OK???? 0????????????? 2621313????? 2621440???????? 1945051

File Name: /home/oracle/asm_clone/TBS2.256.839732369.dbf

Block Type Blocks Failing Blocks Processed

———- ————– —————-

Data?????? 0????????????? 0

Index????? 0????????????? 0

Other????? 0????????????? 127

Finished validate at 17-FEB-14

 

对于使用ASMLIB的ASM环境要如何使用PRM呢?

其实也很简单,asmlib相关的ASM DISK在OS操作系统上会以ll /dev/oracleasm/disks 的形式存放,例如:直接将/dev/oracleasm/disks下的文件加入到PRM ASM DISK中即可

$ll /dev/oracleasm/diskstotal 0

brw-rw—-? 1 oracle dba 8,? 97 Apr 28 15:20 VOL001

brw-rw—-? 1 oracle dba 8,? 81 Apr 28 15:20 VOL002

brw-rw—-? 1 oracle dba 8,? 65 Apr 28 15:20 VOL003

brw-rw—-? 1 oracle dba 8,? 49 Apr 28 15:20 VOL004

brw-rw—-? 1 oracle dba 8,? 33 Apr 28 15:20 VOL005

brw-rw—-? 1 oracle dba 8,? 17 Apr 28 15:20 VOL006

brw-rw—-? 1 oracle dba 8, 129 Apr 28 15:20 VOL007

brw-rw—-? 1 oracle dba 8, 113 Apr 28 15:20 VOL008

直接将/dev/oracleasm/disks下的文件加入到PRM ASM DISK中即可。

No related posts.

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。