13510228421
技术资料
oracle数据库数据恢复跟我学 go!
2011-04-11 16:39:52  

首先恢复ORACLE的工具很多,当然有图形化的,也有命令行的。图形化的修复数据库有些图片空间不支持,压缩表不支持和丢失system01.dbf空间跟坏块的处理不好等。相对于命令行工具就是不错的选择。

下面演示一下命令行工具的使用、

首先打开 要学会编写命令行工具的CFG配置文件。

内容如下

C:\MYDUL>type db9g.cfg
         0          0 f:\oradata\orcl\SYSTEM01.DBF
         0          0 f:\oradata\orcl\TOOLS01.DBF
         0          0 f:\oradata\orcl\USERS01.DBF

然后用命令行工具打开 这个CFG文件

执行命令 unload table user$;unload table tab$;unload table obj$;unload table col$;获取四个数据字典

数据字典的用途

数据字典有三个主要用途: 

Oracle 利用数据字典来获取关于用户,方案对象,及存储结构(storage structure)的信息

命令行工具> open 1.cfg
*  ts#  fno  rfn ver bsize     blocks filename
- ---- ---- ---- --- ----- ---------- -----------------------------------
Y    0    1    1 02   8192      64000 f:\oradata\orcl\SYSTEM01.DBF
Y    8    8    8 02   8192       1280 f:\oradata\orcl\TOOLS01.DBF
Y    9    9    9 02   8192     262144 f:\oradata\orcl\USERS01.DBF
Y   10   10   10 02   8192       4880 f:\oradata\orcl\XDB01.DBF
命令行工具> unload table user$;
2011-04-11 11:56:13
2011-04-11 11:56:13
命令行工具> unload table tab$;
2011-04-11 11:56:20
2011-04-11 11:56:20
命令行工具> unload table col$;
2011-04-11 11:56:33
2011-04-11 11:56:33
命令行工具> unload table obj$;
2011-04-11 11:56:42
2011-04-11 11:56:42
命令行工具>

得到 以前文件 USR.TXT TAB.TXT COL.TXT OBJ.TXT

然后 查看 用户下的表  list table xxxxx
> list table his_trans
 UNLOAD TABLE his_trans.AA01 TO AA01.txt;
 UNLOAD TABLE his_trans.AA10 TO AA10.txt;
 UNLOAD TABLE his_trans.AB01 TO AB01.txt;
 UNLOAD TABLE his_trans.B_CS TO B_CS.txt;
 UNLOAD TABLE his_trans.DEXEXPORT TO DEXEXPORT.txt;
 UNLOAD TABLE his_trans.DOWN_TIME_LOG TO DOWN_TIME_LOG.txt;
 UNLOAD TABLE his_trans.HIS_COMPARE TO HIS_COMPARE.txt;
 UNLOAD TABLE his_trans.HOSNUMGRADE TO HOSNUMGRADE.txt;
 UNLOAD TABLE his_trans.KA02 TO KA02.txt;
 UNLOAD TABLE his_trans.KA03 TO KA03.txt;
 UNLOAD TABLE his_trans.KA04 TO KA04.txt;
 UNLOAD TABLE his_trans.KA05 TO KA05.txt;
 UNLOAD TABLE his_trans.KA06 TO KA06.txt;
 UNLOAD TABLE his_trans.KA11 TO KA11.txt;
 UNLOAD TABLE his_trans.KA12 TO KA12.txt;
 UNLOAD TABLE his_trans.KB01 TO KB01.txt;
 UNLOAD TABLE his_trans.KB10 TO KB10.txt;
 UNLOAD TABLE his_trans.KC04_T TO KC04_T.txt;
 UNLOAD TABLE his_trans.KC08 TO KC08.txt;
 UNLOAD TABLE his_trans.KC20 TO KC20.txt;
 UNLOAD TABLE his_trans.KC21 TO KC21.txt;
 UNLOAD TABLE his_trans.KC22 TO KC22.txt;
 UNLOAD TABLE his_trans.KC23 TO KC23.txt;
 UNLOAD TABLE his_trans.KC24 TO KC24.txt;
 UNLOAD TABLE his_trans.KC25 TO KC25.txt;
 UNLOAD TABLE his_trans.KC41 TO KC41.txt;
 UNLOAD TABLE his_trans.PARAMETER TO PARAMETER.txt;
 UNLOAD TABLE his_trans.PBCATCOL TO PBCATCOL.txt;
 UNLOAD TABLE his_trans.PBCATEDT TO PBCATEDT.txt;
 UNLOAD TABLE his_trans.PBCATFMT TO PBCATFMT.txt;
 UNLOAD TABLE his_trans.PBCATTBL TO PBCATTBL.txt;
 UNLOAD TABLE his_trans.PBCATVLD TO PBCATVLD.txt;
 UNLOAD TABLE his_trans.PERSONACCOUNT TO PERSONACCOUNT.txt;
 UNLOAD TABLE his_trans.TRADE_LOG TO TRADE_LOG.txt;
 UNLOAD TABLE his_trans.TRANSERROR TO TRANSERROR.txt;
 UNLOAD TABLE his_trans.TRANSLOG TO TRANSLOG.txt;
 UNLOAD TABLE his_trans.TRANS_ERROR_LOG TO TRANS_ERROR_LOG.txt;
 UNLOAD TABLE his_trans.T_PERSONACCOUNT TO T_PERSONACCOUNT.txt;
 UNLOAD TABLE his_trans.KC21_1 TO KC21_1.txt;
 UNLOAD TABLE his_trans.TEST TO TEST.txt;
>然后打出命令 list table his_trans 输出脚本

然后运行脚本 即可恢复出全部表的数据。SQLldr 载入相应的表控制文件 即可把数据导入oracle

[Print]  [Close]  

7x24小时服务  QQ 1186505712 Email 1186505712@qq.com  TEL  13510228421   陈工   
         本站所有资源版权归深圳市极佳电脑技术服务有限公司,禁止克隆本站,抄袭本站文章等侵权行为,否则我们必将追究其法律责任! 

地址:深圳市龙华区中海汇德理花园2栋1单元1903
copyright 2008-2022 极佳数据 ( SQL110.com ) All rights reserved 粤ICP备17000871号

在线解答
QQ762862548
在线解答
QQ1186505712
在线解答
QQ254897536
在线解答
在线解答
在线解答