本篇内容主要讲解“Oracle中amdu_extract命令有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle中amdu_extract命令有什么作用”吧!

amdu_extract命令用来从磁盘组中抽取文件,其语法如下:

ASMCMD[+DATA/cs/DATAFILE]>helpamdu_extractamdu_extractCallsAMDUtoextractfromSynopsisamdu_extractDescriptionTheoptionsforamdu_extractcommandaredescribedbelow:diskgroup-Nameofthediskgroupcontainingthefiletobeextracted.file-Nameofthefiletobeextracted.Canbespecifiedaseitheranabsoluteorarelativepath.diskstring-Specifiesthevalueforthediscoverydiskstring.ExamplesThefollowingexampleusesamdu_extracttoextracttheparameterfilefromthe'+datafile'diskgroup.ASMCMD[+]>amdu_extractdatafile+datafile/parameterfile/spfile.ora/devices/disk*

其中diskgroup为被抽取文件所在的磁盘组名字,file_name,被抽取文件的Oracle ASM别名,disk_string为Oracle ASM发现磁盘字符串。而且amdu_extract实际是调用的AMDU工具来抽取文件

查询数据库cs的所有数据文件,这里我们要抽取的文件名是JY.331.976296525

ASMCMD[+DATA/cs/DATAFILE]>ls-lrtWARNING:option'r'isdeprecatedfor'ls'pleaseuse'reverse'TypeRedundStripedTimeSysNameDATAFILEUNPROTCOARSEMAR1218:00:00YSYSAUX.259.970598293DATAFILEUNPROTCOARSEMAR1218:00:00YSYSTEM.258.970598233DATAFILEUNPROTCOARSEMAR1218:00:00YUNDOTBS1.260.970598319DATAFILEUNPROTCOARSEMAR1218:00:00YUSERS.261.970598319DATAFILEUNPROTCOARSEAUG1611:00:00YJY.331.976296525DATAFILEUNPROTCOARSEAUG1611:00:00YSYSAUX.273.970601881DATAFILEUNPROTCOARSEAUG1611:00:00YSYSTEM.272.970601831DATAFILEUNPROTCOARSEAUG1611:00:00YTEST.326.976211663DATAFILEUNPROTCOARSEAUG1611:00:00YUNDOTBS1.274.970601905DATAFILEUNPROTCOARSEAUG1611:00:00YUNDOTBS2.284.970602381DATAFILEUNPROTCOARSEAUG1611:00:00YUSERS.275.970601909SQL>selectname,file_numberfromv$asm_aliaswherefile_number<>4294967295and(namelike'%jy%'ornamelike'%JY%');NAMEFILE_NUMBER-------------------------------------------------------------------------------------------------------------------------------------------------------JY.331.976296525331ASMCMD[+DATA/cs/DATAFILE]>amdu_extractDATA+DATA/cs/DATAFILE/JY.331.976296525/dev/asm*ASMCMD-8024:filenumbercouldnotbedeterminedforaliasname'+DATA/cs/DATAFILE/JY.331.976296525'<?pre>可以看到提示信息说通过文件别名不能判断文件号,实际上+DATA/cs/DATAFILE/JY.331.976296525是Oracle在ASM中创建的数据文件名,并不是别名。如是我们来手动为+DATA/cs/DATAFILE/JY.331.976296525增加别名jy01.dbf

SQL>alterdiskgroupdataaddalias'+DATA/cs/DATAFILE/jy01.dbf'for'+DATA/cs/DATAFILE/JY.331.976296525';Diskgroupaltered.SQL>selectname,file_numberfromv$asm_aliaswherefile_number<>4294967295and(namelike'%jy%'ornamelike'%JY%');NAMEFILE_NUMBER-------------------------------------------------------------------------------------------------------------------------------------------------------JY.331.976296525331jy01.dbf331ASMCMD[+DATA/cs/DATAFILE]>amdu_extractDATA+DATA/cs/DATAFILE/jy01.dbf/dev/asm*amdu_2018_08_16_19_17_42/

[grid@cs1~]$ls-lrtdrwxr-xr-x2gridoinstall40Aug1619:17amdu_2018_08_16_19_17_42[grid@cs1~]$cdamdu_2018_08_16_19_17_42[grid@cs1amdu_2018_08_16_19_17_42]$ls-lrttotal102416-rw-r--r--1gridoinstall8103Aug1619:17report.txt-rw-r--r--1gridoinstall104865792Aug1619:17DATA_331.f

使用amdu工具来抽取数据文件是指定Oracle ASM发现磁盘字符串和磁盘组.数据文件序号

[grid@cs2~]$amdu-diskstring'/dev/asm*'-extract'DATA.331'amdu_2018_08_16_19_20_59/AMDU-00204:DiskN0004isincurrentlymounteddiskgroupDATA.AMDU-00201:DiskN0004:'/dev/asmdisk04'[grid@cs2~]$cdamdu_2018_08_16_19_20_59/[grid@cs2amdu_2018_08_16_19_20_59]$ls-lrttotal102420-rw-r--r--1gridoinstall8291Aug1619:21report.txt-rw-r--r--1gridoinstall104865792Aug1619:21DATA_331.f

可以看到使用amdu与asmcmd的amdu_extract所抽取的同一个文件大小都是104865792。

到此,相信大家对“Oracle中amdu_extract命令有什么作用”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!