使用AUL-MyDUL恢复的步骤

 

    AUL/MyDUL是和Oracle DUL具有同等功效的软件, 下面是如何使用这个工具进行恢复的详细步骤.

取得数据库的文件列表

    如果你没有丢失迭制文件, 则可以从视图V$DATABASE查询取得. 否则你需要手工从磁盘中根据存留的文件, 来列出所有的文件.
SQL> col name format a40
SQL> select file#,rfile#,name from v$datafile;

     FILE#     RFILE# NAME
---------- ---------- ----------------------------------------
         1          1 C:\ORACLE\ORADATA\SYSTEM01.DBF
         2          2 C:\ORACLE\ORADATA\UNDOTBS01.DBF
         3          3 C:\ORACLE\ORADATA\SYSAUX01.DBF
         4          4 C:\ORACLE\ORADATA\TEST01.DBF
         5          5 C:\ORACLE\ORADATA\AULTEST01.DBF

创建一个AUL/MyDUL使用的配置文件

    配置文件是一个文本文件, 你可以用任何文本编辑器编辑. 文件应当包括三个列(文件号,相对文件号,文件名), 中间以空格分隔. 我们将上面的记录拷贝到文件db10g.cfg中就可以了. 如果数据文件的文件头块没有损坏, 文件号和相对文件号这两列的值是无关紧要的, 在打开时会自动读取文件头进行修正; 文件中不能包括空格, 否则请重命令文件去掉空格.
C:\MYDUL>type db10g.cfg
         0          0 C:\ORACLE\ORADATA\SYSTEM01.DBF
         0          0 C:\ORACLE\ORADATA\UNDOTBS01.DBF
         0          0 C:\ORACLE\ORADATA\SYSAUX01.DBF
         0          0 C:\ORACLE\ORADATA\TEST01.DBF
         0          0 C:\ORACLE\ORADATA\AULTEST01.DBF

在AUL/MyDUL中打开配置文件

    AUL/MyDUL从这个配置文件中读取数据文件列表, 成功打开后并读取文件头, 叫正配置文件中错误的"文件号"和"相对文件号". 在这里我们虽然有5个文件, 但由于我们没有使用 正式的许可证号, 免费的许可证只能让我们打开前面的2个文件, 并只能读取每个文件前面的256M.
Register Code: 55E2-4639-864D-F8C3
AUL : AnySQL UnLoader(MyDUL) for Oracle 8/8i/9i/10g, Trial Version 3.1.9

(C) Copyright Lou Fangxin 2005-2006 (AnySQL.net), all rights reserved.

AUL> open db10g.cfg
*  ts#  fno  rfn ver bsize     blocks filename
- ---- ---- ---- --- ----- ---------- -----------------------------------
Y    0    1    1 a2   8192      32768 C:\ORACLE\ORADATA\SYSTEM01.DBF
Y    1    2    2 a2   8192       8192 C:\ORACLE\ORADATA\UNDOTBS01.DBF
Y    2    3    3 a2   8192       8192 C:\ORACLE\ORADATA\SYSAUX01.DBF
Y    4    4    4 a2   8192       3072 C:\ORACLE\ORADATA\TEST01.DBF

生成AUL/MyDUL的数据字典

    AUL/MyDUL可以根据"SYS.USER$","SYS.OBJ$","SYS.TAB$","SYS.COL$"四个系统表中的记录来生成所需的数据字典, 有数据字典的情况下恢复要容易得多.
AUL> UNLOAD TABLE USER$;
2006-08-04 09:39:00
2006-08-04 09:39:00
AUL> UNLOAD TABLE OBJ$;
2006-08-04 09:39:07
2006-08-04 09:39:08
AUL> UNLOAD TABLE TAB$;
2006-08-04 09:39:12
2006-08-04 09:39:13
AUL> UNLOAD TABLE COL$;
2006-08-04 09:39:17
2006-08-04 09:39:18
AUL> ! dir AUL*.TXT
Volume in drive C has no label.
Volume Serial Number is 5CF4-08FE

Directory of C:\MYDUL

2006-08-04  09:39         1,479,173 AULCOL.TXT
2006-08-04  09:39           272,935 AULOBJ.TXT
2006-08-04  09:39            36,112 AULTAB.TXT
2006-08-04  09:39               428 AULUSR.TXT
               4 File(s)      1,788,648 bytes

使用LIST命令来生成恢复用的角本

    命令"LIST TABLE 用户名 TO 角本文件名"可以用来生成恢复某个用户下所有表的AUL/MyDUL命令, 在这儿我省略了"TO 角本文件名", 将所有命令输出到屏幕上.
AUL> LIST TABLE MYDUL
UNLOAD TABLE MYDUL.T_PART TO T_PART.txt;
UNLOAD TABLE MYDUL.T_OBJECT TO T_OBJECT.txt;
UNLOAD TABLE MYDUL.T_LOB TO T_LOB.txt;
UNLOAD TABLE MYDUL.T_CLOB TO T_CLOB.txt;
UNLOAD TABLE MYDUL.T_PART PARTITION P2 TO T_PART_P2.txt;
UNLOAD TABLE MYDUL.T_PART PARTITION P1 TO T_PART_P1.txt;

运行恢复命令来恢复数据

    我们来偿试恢复分区表"T_PART", 对于分区表一个分区会有一条命令. 在这儿省略了"TO 文件名", 因此所有记录直接显示在屏幕上.
AUL> UNLOAD TABLE MYDUL.T_PART PARTITION P2;
2006-08-04 09:40:42
Unload BJD=9928 FILE=4 BLOCK=19 CLUSTER=0 ...
150,1
2006-08-04 09:40:42
AUL> UNLOAD TABLE MYDUL.T_PART PARTITION P1;
2006-08-04 09:40:51
Unload BJD=9927 FILE=4 BLOCK=11 CLUSTER=0 ...
50,1
2006-08-04 09:40:51
    下面是我用SQL*Plus连接进行查询的结果:
SQL> SELECT * FROM T_PART;

      COL1       COL2
---------- ----------
        50          1
       150          1

SQL> SELECT * FROM T_PART PARTITION (P1);

      COL1       COL2
---------- ----------
        50          1

SQL> SELECT * FROM T_PART PARTITION (P2);

      COL1       COL2
---------- ----------
       150          1

恭喜我们恢复成功

    接下来的事就是恭喜我们恢复成功.

fj.png[三思笔记]RMAN高级应用之Duplicate复制数据库.jpg

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11342864/viewspace-450327/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/11342864/viewspace-450327/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值