<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>惜分飞 &#187; asm文件丢失</title>
	<atom:link href="https://www.xifenfei.com/tag/asm%e6%96%87%e4%bb%b6%e4%b8%a2%e5%a4%b1/feed" rel="self" type="application/rss+xml" />
	<link>https://www.xifenfei.com</link>
	<description>提供7*24专业数据库(Oracle,SQL Server,MySQL,PostgreSQL等)恢复和技术支持@Tel:17813235971</description>
	<lastBuildDate>Wed, 04 Nov 2026 15:33:30 +0000</lastBuildDate>
	<language>zh-CN</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	
	<item>
		<title>asm磁盘组操作不当导致数据文件丢失恢复</title>
		<link>https://www.xifenfei.com/2017/11/asm-datafile-lost-recovery.html</link>
		<comments>https://www.xifenfei.com/2017/11/asm-datafile-lost-recovery.html#comments</comments>
		<pubDate>Mon, 27 Nov 2017 16:20:08 +0000</pubDate>
		<dc:creator><![CDATA[惜分飞]]></dc:creator>
				<category><![CDATA[Oracle ASM]]></category>
		<category><![CDATA[非常规恢复]]></category>
		<category><![CDATA[asm file lost]]></category>
		<category><![CDATA[asm 恢复]]></category>
		<category><![CDATA[asm文件丢失]]></category>
		<category><![CDATA[asm碎片重组]]></category>

		<guid isPermaLink="false">https://www.xifenfei.com/?p=7254</guid>
		<description><![CDATA[联系：手机/微信(+86 17813235971) QQ(107644445)  &#8230; <a href="https://www.xifenfei.com/2017/11/asm-datafile-lost-recovery.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<div id="xifenfeicopyright">
<p>联系：<a href="https://www.xifenfei.com/about_xifenfei" target="_blank">手机/微信(+86 17813235971)   QQ(107644445)</a><a target="_blank" href="http://wpa.qq.com/msgrd?v=3&#038;uin=107644445&#038;site=qq&#038;menu=yes"><img src="https://www.xifenfei.com/wp-content/themes/img/site_qq.jpg" alt="QQ咨询惜分飞" title="QQ咨询惜分飞"/></a></p>
<p>标题：<a href="https://www.xifenfei.com/2017/11/asm-datafile-lost-recovery.html" target="_blank">asm磁盘组操作不当导致数据文件丢失恢复</a></p>
<p>作者：<a href="https://www.xifenfei.com" target="_blank">惜分飞</a>©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]</p>
</div>
<p>最近遇到数据库恢复case,客户是要更换存储,在数据库mount状态把使用omf方式存储数据的asm 磁盘组通过rman copy到新的通过别名方式存储的新的asm 磁盘组的存储中,但是由于操作人员粗心,copy语句中部分目标磁盘组的数据文件别名重复了,最后执行rename file之后,导致部分数据文件彻底丢失.我们通过底层碎片扫描(参考:<a href="//www.xifenfei.com/?p=5249" title="asm disk header 彻底损坏恢复">asm disk header 彻底损坏恢复</a>)对于该用户的数据实现完全恢复.<br />
因为整个过程重现比较麻烦,这里测试从一个data磁盘组中有一个omf方式存储的含有两个数据文件的表空间,通过rman copy 把这个表空间的两个文件拷贝到datanew磁盘组中,但是由于粗心把两个数据文件的别名写成一样,结果导致该表空间的一个数据文件彻底丢失的测试.<br />
<br />
<strong>创建测试表空间</strong><br />
在datanew磁盘组中创建omf方式管理的xifenfei表空间,含有两个数据文件,file#分别为14和15</p>
<pre class="brush: sql; title: ; notranslate">
SQL&gt; create tablespace xifenfei datafile '+DATA' SIZE 128m;

Tablespace created.

SQL&gt; ALTER TABLESPACE XIFENFEI ADD DATAFILE '+DATA' SIZE 128m AUTOEXTEND ON;

Tablespace altered.

SQL&gt; SELECT FILE_NAME,FILE_ID FROM  DBA_DATA_FILES WHERE TABLESPACE_NAME='XIFENFEI';

FILE_NAME
--------------------------------------------------------------------------------
   FILE_ID
----------
+DATA/XFF/DATAFILE/xifenfei.276.961143809
        14

+DATA/XFF/DATAFILE/xifenfei.277.961143825
        15
</pre>
<p><strong>rman copy datafile 14</strong><br />
通过rman copy把datafile 14拷贝到data磁盘组中,目标端为别名方式存储</p>
<pre class="brush: bash; title: ; notranslate">
RMAN&gt; copy datafile 14 to '+datanew/xifenfei.dbf';

Starting backup at 27-NOV-17
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=24 device type=DISK
channel ORA_DISK_1: starting datafile copy
input datafile file number=00014 name=+DATA/XFF/DATAFILE/xifenfei.276.961143809
output file name=+DATANEW/xifenfei.dbf tag=TAG20171127T082643 RECID=4 STAMP=961144006
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:07
Finished backup at 27-NOV-17


[grid@localhost ~]$ asmcmd
ASMCMD&gt; cd datanew
ASMCMD&gt; ls
XFF/
xifenfei.dbf
ASMCMD&gt; ls -l
Type      Redund  Striped  Time             Sys  Name
                                            Y    XFF/
DATAFILE  UNPROT  COARSE   NOV 27 08:00:00  N    xifenfei.dbf =&gt; +DATANEW/XFF/DATAFILE/XIFENFEI.256.961144003
ASMCMD&gt; 
</pre>
<p>这里通过asmcmd的ls命令,可以看到虽然我们存储的为datanew磁盘组的别名文件,实际上是link到asm的omf方式的文件(本质上asm中的文件都是omf方式存储,只是在使用的时候体现asm的客户端程序方式不一样,是直接asm中的omf方式,还是asm中的别名).<br />
<br />
<strong>rman copy datafile 15</strong><br />
通过rman copy把datafile 15 拷贝到和datafile 14别名一样的文件了</p>
<pre class="brush: bash; title: ; notranslate">
RMAN&gt; copy datafile 15 to '+datanew/xifenfei.dbf';

Starting backup at 27-NOV-17
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
input datafile file number=00015 name=+DATA/XFF/DATAFILE/xifenfei.277.961143825
output file name=+DATANEW/xifenfei.dbf tag=TAG20171127T082731 RECID=5 STAMP=961144053
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03
Finished backup at 27-NOV-17


ASMCMD&gt; ls -l
Type      Redund  Striped  Time             Sys  Name
                                            Y    XFF/
DATAFILE  UNPROT  COARSE   NOV 27 08:00:00  N    xifenfei.dbf =&gt; +DATANEW/XFF/DATAFILE/XIFENFEI.256.961144003
ASMCMD&gt; cd xff
ASMCMD&gt; ls
DATAFILE/
ASMCMD&gt; cd datafile
ASMCMD&gt; ls
XIFENFEI.256.961144003
ASMCMD&gt; 
</pre>
<p>这里可以看出来,在data磁盘组中,file 14被file 15覆盖掉了<br />
<br />
<strong>rename file</strong><br />
把data磁盘组中的数据文件rename 到datanew磁盘组中</p>
<pre class="brush: sql; title: ; notranslate">
SQL&gt; alter database rename file '+DATA/XFF/DATAFILE/xifenfei.276.961143809' to '+datanew/xifenfei.dbf';

Database altered.

SQL&gt; alter database rename file '+DATA/XFF/DATAFILE/xifenfei.277.961143825' to '+datanew/xifenfei.dbf';
alter database rename file '+DATA/XFF/DATAFILE/xifenfei.277.961143825' to '+datanew/xifenfei.dbf'
*
ERROR at line 1:
ORA-01511: error in renaming log/data files
ORA-01523: cannot rename data file to '+data/xifenfei.dbf' - file already part of database
</pre>
<p>这里我们可以看到,file 14 rename 成功,但是file 15 rename失败,因为在数据库中，已经有了别名的文件(数据文件的路径)<br />
<br />
<strong>omf自动删除文件</strong><br />
查看原磁盘组datanew中,发现datafile 14被自动删除</p>
<pre class="brush: bash; title: ; notranslate">
ASMCMD&gt; pwd
+DATA/XFF/DATAFILE
ASMCMD&gt; ls -l
Type      Redund  Striped  Time             Sys  Name
DATAFILE  UNPROT  COARSE   NOV 27 08:00:00  Y    SYSAUX.257.942061433
DATAFILE  UNPROT  COARSE   NOV 27 08:00:00  Y    SYSTEM.256.942061393
DATAFILE  UNPROT  COARSE   NOV 27 08:00:00  Y    UNDOTBS1.258.942061449
DATAFILE  UNPROT  COARSE   NOV 27 08:00:00  Y    USERS.259.942061449
DATAFILE  UNPROT  COARSE   NOV 27 08:00:00  Y    XIFENFEI.277.961143825
ASMCMD&gt; 
</pre>
<p><strong>alert日志证实数据文件被删除</strong></p>
<pre class="brush: bash; title: ; notranslate">
2017-11-27T09:05:03.054741-05:00
alter database rename file '+DATA/XFF/DATAFILE/xifenfei.276.961143809' to '+datanew/xifenfei.dbf'
2017-11-27T09:05:03.114947-05:00
NOTE: Under CF enqueue, no dependency request for disk group DATANEW
Deleted Oracle managed file +DATA/XFF/DATAFILE/xifenfei.276.961143809
Completed: alter database rename file '+DATA/XFF/DATAFILE/xifenfei.276.961143809' to '+datanew/xifenfei.dbf'
2017-11-27T09:05:21.471474-05:00
alter database rename file '+DATA/XFF/DATAFILE/xifenfei.277.961143825' to '+data/xifenfei.dbf'
ORA-1511 signalled during:alter database rename file
      '+DATA/XFF/DATAFILE/xifenfei.277.961143825' to'+datanew/xifenfei.dbf'
</pre>
<p>这里可以证实，<strong>数据文件的omf方式管理,在数据文件执行rename file的时候,会自动删除掉老的数据文件.这里悲剧已经发生,由于rman copy 覆盖了datanew磁盘组中的datafile 14,rename file又导致data磁盘组中的datafile 14被自动删除,从而使得datafile 14这个数据文件在两个磁盘组中都丢失</strong>.从常规角度来说,如果没有合适的备份该文件无法恢复.如果遭遇到oracle asm中数据文件丢失或者部分覆盖,请保护现场,联系我们(<a href="//www.xifenfei.com/oracle_recover" title="ORACLE数据库恢复技术支持" target="_blank">ORACLE数据库恢复技术支持</a>),将为您提供专业数据库技术支持：<strong><font color="red" size=4>Phone:17813235971  &nbsp;&nbsp;   Q Q:107644445  &nbsp;&nbsp;  E-Mail:dba@xifenfei.com</font></strong>最大限度抢救您的数据</p>
<div id="crp_related"><ul><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2011/08/%e9%9d%9easm%e6%95%b0%e6%8d%ae%e6%96%87%e4%bb%b6%e7%a7%bb%e6%a4%8d%e5%88%b0asm.html" rel="bookmark" class="crp_title">asm数据文件迁移(os&#8211;>asm)</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2011/08/asm%e4%b8%ad%e6%95%b0%e6%8d%ae%e6%96%87%e4%bb%b6%e4%bb%8ediskgroup-to-new-diskgroup.html" rel="bookmark" class="crp_title">asm数据文件迁移(asm&#8211;>asm)</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2024/06/rman-06207-rman-06208.html" rel="bookmark" class="crp_title">RMAN-06207  RMAN-06208报错解决</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2011/11/rman%e4%bb%8e%e5%a4%9a%e4%bb%bd%e5%a4%87%e4%bb%bd%e4%b8%ad%e8%bf%98%e5%8e%9f%e6%93%8d%e4%bd%9c.html" rel="bookmark" class="crp_title">rman从多份备份中还原操作</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2011/08/%e6%99%ae%e9%80%9a%e5%ba%93%e8%bf%81%e7%a7%bb%e8%87%b3asm%e5%ad%98%e5%82%a8.html" rel="bookmark" class="crp_title">普通库迁移至ASM存储</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2012/06/rman%e9%80%9a%e8%bf%87nfs%e5%a4%87%e4%bb%bd.html" rel="bookmark" class="crp_title">rman通过nfs备份</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2012/03/rman-%e5%a4%87%e4%bb%bd%e5%87%ba%e7%8e%b0ora-00245rman-08132.html" rel="bookmark" class="crp_title">rman 备份出现ORA-00245/RMAN-08132</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2011/07/asm%e7%ae%80%e5%8d%95%e7%ae%a1%e7%90%862.html" rel="bookmark" class="crp_title">ASM简单管理(2)</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2013/06/oracle-12c-rman-%e5%8a%9f%e8%83%bd%e5%a2%9e%e5%bc%ba.html" rel="bookmark" class="crp_title">ORACLE 12C RMAN 功能增强</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2011/08/asm%e8%bf%81%e7%a7%bb%e8%87%b3%e6%96%87%e4%bb%b6%e7%b3%bb%e7%bb%9f.html" rel="bookmark" class="crp_title">ASM迁移至文件系统</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2019/09/sql_get_asm_omf_file_name.html" rel="bookmark" class="crp_title">通过sql获取asm别名实际文件名</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2012/06/%e4%bd%bf%e7%94%a8bbed%e8%ae%a9rac%e4%b8%ad%e7%9a%84sysaux%e6%95%b0%e6%8d%ae%e6%96%87%e4%bb%b6online.html" rel="bookmark" class="crp_title">使用bbed让rac中的sysaux数据文件online</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>https://www.xifenfei.com/2017/11/asm-datafile-lost-recovery.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
