Extracting Datafile Blocks From ASM

 

       This note explains how to use RMAN to copy an ASM based datafile onto the file system. Once the datafile is on the file system, the OS command dd can be used to extract the block(s) from the datafile.

-- 注意,用dd 命令修复坏块 只适用与逻辑坏块。 物理坏块不适用。

 


       The approach presented here may be used with any ASM redundancy. It should be noted that this method requires the free space on the file system equivalent to the size of datafile being extracted.

       This method can be used for datafiles, datafile copies and archived redo log files stored within ASM.

 

Extracting Datafile Blocks From ASM

       Lets look at an example of corruption reported on an ASM datafile with normal redundancy. The objective is to extract the corrupted block from the datafile, patch it and put it back into the database.

1. Corruption reported:

 

SQL> SELECT COUNT(*) FROM T1;
SELECT COUNT(*) FROM T1
*
ERROR at line 1:
ORA-01578: ORACLE data block corrupted (file # 7, block # 65)
ORA-01110: data file 7: '+GROUPA/aa10g/datafile/ts_bane.267.3'

 

2. Take the file offline, to make sure there are no further changes while the block is being examined/patched.

 

SQL> alter database datafile 7 offline;
Database altered.

 

3. Use RMAN 'BACKUP AS COPY DATAFILE' command to extract the datafile from ASM onto the file system:

RMAN> CONNECT TARGET;
connected to target database: AA10G (DBID=1449158500)

RMAN> BACKUP AS COPY DATAFILE 7 FORMAT '/tmp/df_%f';
Starting backup at <date>
Uusing target database controlfile instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=215 devtype=DISK
channel ORA_DISK_1: starting datafile copy
input datafile fno=00007 name=+GROUPA/aa10g/datafile/ts_bane.267.3
output filename=/tmp/df_7 tag=TAG20041230T125410 recid=7 stamp=546267252
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03
Finished backup at <date>

 

4. Now that the file is on the file system, the OS command dd can be used to extract the block from the copy of the datafile:

       $ dd if=df_7 of=f7b65.dd count=1 skip=65 bs=8192

 

5. Lets say that at this step the block has been examined and patched.

 

6. Put the patched block back into df_7:

       $ dd if=f7b65.dd of=df_7 bs=8192 seek=65 count=1 conv=notrunc

 

7. Restore the patched datafile from the file system back into ASM:

 

RMAN> CONNECT TARGET;
connected to target database: AA10G (DBID=1449158500)

RMAN> run {
RESTORE DATAFILE 7 FROM TAG 'TAG20041230T125410';
RECOVER DATAFILE 7;
SQL "ALTER DATABASE DATAFILE 7 ONLINE";
}

Starting restore at <date>
using target database controlfile instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=213 devtype=DISK
channel ORA_DISK_1: restoring datafile 00007
input datafilecopy recid=7 stamp=546267252 filename=/tmp/df_7
destination for restore of datafile 00007: +GROUPA/aa10g/datafile/ts_bane.267.3
channel ORA_DISK_1: copied datafilecopy of datafile 00007
output filename=+GROUPA/aa10g/datafile/ts_bane.267.3 recid=8 stamp=546267683
Finished restore at <date>

Starting recover at <date>
using channel ORA_DISK_1
starting media recovery
media recovery complete
Finished recover at <date>

sql statement: ALTER DATABASE DATAFILE 7 ONLINE
RMAN>

 

8. Once the patched datafile has been restored, select from table T1 works as expected:

 

SQL> SELECT COUNT(*) FROM T1;

COUNT(*)
--------
1536

 

 

 

 

From Oracle

-------------------------------------------------------------------------------------------------------

QQ: 492913789
Email: ahdba@qq.com
Blog: http://www.cndba.cn/dave

DBA1 群:62697716();   DBA2 群:62697977()   DBA3 群:62697850()  

DBA 超级群:63306533();  DBA4 群: 83829929  DBA5群: 142216823   

聊天 群:40132017   聊天2群:69087192

--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 从RADARSAT地球观测卫星的光盘中提取原始SAR数据,需要进行以下步骤: 首先,将RADARSAT光盘插入计算机的光盘驱动器中。然后,打开计算机上的数据提取软件,例如Envi、Matlab等。 接下来,在软件界面上选择“打开文件”或“提取数据”选项。在弹出的窗口中,浏览并选择RADARSAT光盘的存储位置。 软件会读取光盘上的文件目录。在目录中找到包含SAR数据的文件。通常,这些文件具有SAR或RAW的文件扩展名。 选择需要提取的SAR数据文件,并选择提取数据的格式。通常,可以选择将数据保存为ENVI、GeoTIFF或其他常见格式。 点击“提取数据”或“保存”按钮,软件将开始提取SAR数据并将其保存到计算机上指定的目标文件夹中。 提取过程可能需要一些时间,具体取决于光盘上存储的数据量和计算机的处理能力。完成后,可以关闭提取软件并从光盘驱动器中取出光盘。 现在,我们已经从RADARSAT光盘中成功提取了原始SAR数据。这些数据可以用于后续分析、处理和应用,例如地质勘探、环境监测等。 ### 回答2: 从Radarsat光盘中提取原始SAR数据需要遵循以下步骤: 首先,将Radarsat光盘插入计算机的光驱中,并打开光盘的文件夹或浏览器。 然后,在文件夹或浏览器中浏览Radarsat光盘的内容,找到存储原始SAR数据的文件夹。这个文件夹通常称为“RAW”或“SAR_DATA”。 接下来,打开该文件夹,并查看其中是否有任何子文件夹或文件。如果有多个子文件夹,可能需要根据具体的需求选择正确的文件夹。 然后,从所选文件夹中复制或提取原始SAR数据。可以选择将其复制到计算机的特定文件夹中,或提取到外部存储设备(如硬盘驱动器或USB闪存驱动器)中。 最后,确保成功提取原始SAR数据后,可以关闭Radarsat光盘文件夹,安全地退出光驱,并将光盘取出。 通过按照上述步骤,您可以从Radarsat光盘中成功提取出您所需的原始SAR数据。 ### 回答3: 要从Radarsat CD提取原始SAR数据,你可以按照以下步骤操作: 1. 首先,确保你已经插入了Radarsat CD到计算机的光驱或外部设备中。 2. 打开计算机上的文件资源管理器或任何可以读取光盘的软件。 3. 导航到Radarsat CD在计算机上的存储位置,并打开光盘中的文件夹。 4. 在Radarsat CD的文件夹中,你可能会找到多个文件,这些文件可能包括元数据、图像数据和其他相关文件。 5. 找到包含原始SAR数据的文件,这通常是以扩展名为.raw或.*sar的文件。 6. 右键单击原始SAR文件,然后选择"复制"选项。 7. 在计算机上选择一个合适的存储位置,如硬盘或其他外部存储设备。 8. 在所选的存储位置上右键单击,然后选择"粘贴"选项,将原始SAR文件从Radarsat CD复制到计算机上的存储位置。 9. 等待复制过程完成,这可能需要一些时间取决于文件的大小。 10. 一旦复制完成,你现在可以在所选的存储位置中找到原始的SAR数据文件,你可以将其用于后续的分析、处理或其他用途。 请注意,以上步骤仅适用于从Radarsat CD里提取原始SAR数据。具体的步骤可能会因不同的操作系统或软件版本而有所不同。因此,在操作前最好查阅相关的用户手册或软件文档以获取详细的指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值