AUL恢复Truncate数据

需要说吗一下,这里为什么要选择AUL工具,那是因为其他工具都没有办法执行大数据量的抽取,在性能上AUL也比其他工具要速度快,所以这里选用了AUL作为恢复工具。

1.进入AUL,需要设置LICENCE 

SET LICENCE XXXXX
SET BYTE_ORDER BIG

才能认到文件。第一列显示Y

AUL> open db11.cfg
*  ts#  rfn ver bsize     blocks   sizemb filename
- ---- ---- --- ----- ---------- -------- -----------------------------------
Y    0    1 a2   8192    1048576        0 /oradata10/pboss_sys/system01.dbf
Y   62  876 a2   8192    1048576        0 /oradata10/pboss_tmp1/LINKAGE_NF_DATA_01.dbf
Y   62  894 a2   8192    1048576        0 /oradata10/pboss_tmp1/LINKAGE_NF_DATA_04.dbf
Y   62  903 a2   8192    1048576        0 /oradata10/pboss_tmp1/LINKAGE_NF_DATA_05.dbf
Y   62  904 a2   8192    1048576        0 /oradata10/pboss_tmp1/LINKAGE_NF_DATA_06.dbf
Y   62  905 a2   8192    1048576        0 /oradata10/pboss_tmp1/LINKAGE_NF_DATA_07.dbf
Y   62  872 a2   8192    1048576        0 /oradata10/pboss_tmp1/linkage_std_data72.dbf

2.LOAD数据字典

AUL> UNLOAD TABLE USER$;
AUL> UNLOAD TABLE OBJ$;
AUL> UNLOAD TABLE TAB$;
AUL> UNLOAD TABLE COL$;

3.设置LOB字段参数

SET LOB_STORAGE 1
SET MAXLOBDIR 2000

4.查看用户表信息

AUL> desc pboss.TIP_NGCRMRECEIVE_LOG
Storage(OBJ#=0 OBJD=0 TS=0 FILE=0 BLOCK=0 CLUSTER=0)
No. SEQ INT Column Name                   Type
--- --- --- ----------------------------- ----------------
1   1   1 LOG_ID                        VARCHAR2(32) NOT NULL
2   2   2 SEQ                           NUMBER NOT NULL
3   3   3 SERVCODE                      VARCHAR2(5)
4   4   4 FINDCODE                      VARCHAR2(64)
5   5   5 SYSID                         VARCHAR2(5)
6   6   6 REQCODE                       VARCHAR2(4)
7   7   7 SERERRORCODE                  VARCHAR2(500)
8   8   8 REQDESC                       VARCHAR2(2000)
9   9   9 RECEIVECONTENT                CLOB  (SYS_IL0000393293C00009$$)
10  10  10 RETURNCONTENT                CLOB  (SYS_IL0000393293C00010$$)
11  11  11 LOG_FLAG                     CHAR(1)
12  12  12 LOG_DATE                     DATE NOT NULL

5.获取DATA_OBJECT_ID
去原来的生产库上执行

SQL> select SEGMENT_NAME,PARTITION_NAME,HEADER_FILE,HEADER_BLOCK from dba_segments where SEGMENT_NAME='TIP_NGCRMRECEIVE_LOG' order by PARTITION_NAME;
SEGMENT_NAME                   PARTITION_NAME     HEADER_FILE HEADER_BLOCK
------------------------------ ------------------------------ ------------
TIP_NGCRMRECEIVE_LOG           P1209                      713       113962
TIP_NGCRMRECEIVE_LOG           P1210                      713       113970
TIP_NGCRMRECEIVE_LOG           P1211                      713       113978
TIP_NGCRMRECEIVE_LOG           P1212                      713       113986
TIP_NGCRMRECEIVE_LOG           P1301                      713       113994
TIP_NGCRMRECEIVE_LOG           P1302                      713       114002
TIP_NGCRMRECEIVE_LOG           P1303                      713       114010
TIP_NGCRMRECEIVE_LOG           P1304                      713       114018
TIP_NGCRMRECEIVE_LOG           P1305                      713       114026
TIP_NGCRMRECEIVE_LOG           P1306                      713       114034
TIP_NGCRMRECEIVE_LOG           P1307                      713       114042
TIP_NGCRMRECEIVE_LOG           P1308                      672       137466
TIP_NGCRMRECEIVE_LOG           P1309                      679       105914
TIP_NGCRMRECEIVE_LOG           P1310                      679       105922
TIP_NGCRMRECEIVE_LOG           P1311                      679       105930
TIP_NGCRMRECEIVE_LOG           P1312                      679       105938
TIP_NGCRMRECEIVE_LOG           P1401                      695       648170
TIP_NGCRMRECEIVE_LOG           P1402                      695       648210
TIP_NGCRMRECEIVE_LOG           P1403                      695       648250
TIP_NGCRMRECEIVE_LOG           P1404                      695       648314
TIP_NGCRMRECEIVE_LOG           P1405                      695       648330
TIP_NGCRMRECEIVE_LOG           P1406                      695       648378
TIP_NGCRMRECEIVE_LOG           P1407                      695       648426
TIP_NGCRMRECEIVE_LOG           P1408                      695       648450
TIP_NGCRMRECEIVE_LOG           P1409                      695       648490
TIP_NGCRMRECEIVE_LOG           P1410                      695       648538
TIP_NGCRMRECEIVE_LOG           P1411                      710       118098    =>118103
TIP_NGCRMRECEIVE_LOG           P1412                      695       648610    =>648615
TIP_NGCRMRECEIVE_LOG           P1501                      695       648650    =>648655
TIP_NGCRMRECEIVE_LOG           P1502                      695       648690    =>648695
TIP_NGCRMRECEIVE_LOG           P1503                      695       648730    =>648735
TIP_NGCRMRECEIVE_LOG           P1504                      695       648770    =>648775
TIP_NGCRMRECEIVE_LOG           P1505                      695       648810    =>648815
TIP_NGCRMRECEIVE_LOG           P1506                      695       648850
TIP_NGCRMRECEIVE_LOG           P1507                      695       648890
TIP_NGCRMRECEIVE_LOG           P1508                      695       648930
TIP_NGCRMRECEIVE_LOG           P1509                      695       648970
TIP_NGCRMRECEIVE_LOG           P1510                      695       649010
TIP_NGCRMRECEIVE_LOG           P1511                      695       649050
TIP_NGCRMRECEIVE_LOG           P1512                      695       649090
TIP_NGCRMRECEIVE_LOG           P1601                      695       649098

select SEGMENT_NAME,PARTITION_NAME,HEADER_FILE,HEADER_BLOCK from dba_segments where SEGMENT_NAME='TOM_BO_INSTANCE_HIS' order by PARTITION_NAME;

SEGMENT_NAME                             PARTITION_NAME                 HEADER_FILE HEADER_BLOCK
---------------------------------------- ------------------------------ ----------- ------------
TOM_BO_INSTANCE_HIS                      P1212                                  763       110738
TOM_BO_INSTANCE_HIS                      P1301                                  763       110746
TOM_BO_INSTANCE_HIS                      P1302                                  763       110754
TOM_BO_INSTANCE_HIS                      P1303                                  763       110762
TOM_BO_INSTANCE_HIS                      P1304                                  763       110770
TOM_BO_INSTANCE_HIS                      P1305                                  763       110778
TOM_BO_INSTANCE_HIS                      P1306                                  763       110786
TOM_BO_INSTANCE_HIS                      P1307                                  763       110794
TOM_BO_INSTANCE_HIS                      P1308                                  763       110802
TOM_BO_INSTANCE_HIS                      P1309                                  763       110810
TOM_BO_INSTANCE_HIS                      P1310                                  763       110818
TOM_BO_INSTANCE_HIS                      P1311                                  763       110826
TOM_BO_INSTANCE_HIS                      P1312                                  763       110834
TOM_BO_INSTANCE_HIS                      P1401                                  695       652162
TOM_BO_INSTANCE_HIS                      P1402                                  695       654354
TOM_BO_INSTANCE_HIS                      P1403                                  696       588266
TOM_BO_INSTANCE_HIS                      P1404                                  696       588370
TOM_BO_INSTANCE_HIS                      P1405                                  695       657586   => 657591
TOM_BO_INSTANCE_HIS                      P1406                                  695       658706   => 658711
TOM_BO_INSTANCE_HIS                      P1407                                  695       658802   => 658807
TOM_BO_INSTANCE_HIS                      P1408                                  696       588498   => 588503
TOM_BO_INSTANCE_HIS                      P1409                                  695       661938   => 661943
TOM_BO_INSTANCE_HIS                      P1410                                  695       663058   => 663063
TOM_BO_INSTANCE_HIS                      P1411                                  695       663154   => 663159
TOM_BO_INSTANCE_HIS                      P1412                                  696       588626   => 588631
TOM_BO_INSTANCE_HIS                      P1501                                  695       666290   => 666295
TOM_BO_INSTANCE_HIS                      P1502                                  695       667410
TOM_BO_INSTANCE_HIS                      P1503                                  695       667506
TOM_BO_INSTANCE_HIS                      P1504                                  696       588754   =>588759
TOM_BO_INSTANCE_HIS                      P1505                                  695       670642   =>670647
TOM_BO_INSTANCE_HIS                      P1506                                  695       671762
TOM_BO_INSTANCE_HIS                      P1507                                  695       671858
TOM_BO_INSTANCE_HIS                      P1508                                  696       641234
TOM_BO_INSTANCE_HIS                      P1509                                  695       674994
TOM_BO_INSTANCE_HIS                      P1510                                  695       676114
TOM_BO_INSTANCE_HIS                      P1511                                  695       676210
TOM_BO_INSTANCE_HIS                      P1512                                  696       641362
TOM_BO_INSTANCE_HIS                      P1601                                  696       641370

然后执行dump命令dump出数据块,注意不是段头块,一般将块号增加几个,我这里增加的是5

SQL> oradebug setmypid
Statement processed.
SQL> oradebug tracefile_name
/oracle/database/diag/rdbms/integ/integ3/trace/integ3_ora_26183.trc
SQL> alter system dump datafile 695 block 661943

通过trace文件搜索obj查到相关的obj号码,然后转换成10进制

seg/obj: 0x70f31 =>462641

6.然后再AUL中用LIST命令获取执行代码

AUL> list table pboss
UNLOAD TABLE pboss.ZH0914 TO ZH0914.txt;
UNLOAD TABLE pboss.TOM_WORK_ORDER_HANG_UP TO TOM_WORK_ORDER_HANG_UP.txt;
UNLOAD TABLE pboss.TIP_ZXTV_INFO TO TIP_ZXTV_INFO.txt;
UNLOAD TABLE pboss.TIP_BESTTV_LOG_HIS TO TIP_BESTTV_LOG_HIS.txt;
UNLOAD TABLE pboss.TRMAP_EXEC_ORDER_HIS TO TRMAP_EXEC_ORDER_HIS.txt;
UNLOAD TABLE pboss.TMID_POWER_ALLDEVICE TO TMID_POWER_ALLDEVICE.txt;

7.执行获取代码,中间要加上object编号

UNLOAD TABLE PBOSS.TIP_NGCRMRECEIVE_LOG PARTITION P1411 object 462641 TO TIP_NGCRMRECEIVE_LOG_P1411.txt;
UNLOAD TABLE PBOSS.TIP_NGCRMRECEIVE_LOG PARTITION P1412 object 462655 TO TIP_NGCRMRECEIVE_LOG_P1412.txt;
UNLOAD TABLE PBOSS.TIP_NGCRMRECEIVE_LOG PARTITION P1501 object 462669 TO TIP_NGCRMRECEIVE_LOG_P1501.txt;
UNLOAD TABLE PBOSS.TIP_NGCRMRECEIVE_LOG PARTITION P1502 object 462683 TO TIP_NGCRMRECEIVE_LOG_P1502.txt;
UNLOAD TABLE PBOSS.TIP_NGCRMRECEIVE_LOG PARTITION P1503 object 462697 TO TIP_NGCRMRECEIVE_LOG_P1503.txt;
UNLOAD TABLE PBOSS.TIP_NGCRMRECEIVE_LOG PARTITION P1504 object 462711 TO TIP_NGCRMRECEIVE_LOG_P1504.txt;
UNLOAD TABLE PBOSS.TIP_NGCRMRECEIVE_LOG PARTITION P1505 object 3019673 TO TIP_NGCRMRECEIVE_LOG_P1505.txt;
UNLOAD TABLE PBOSS.TIP_NGCRMRECEIVE_LOG PARTITION P1505 object 462725 TO TIP_NGCRMRECEIVE_LOG_P15052.txt;
UNLOAD TABLE pboss.TOM_BO_INSTANCE_HIS PARTITION P1405 object 463223 TO TOM_BO_INSTANCE_HIS_P1405.txt;
UNLOAD TABLE pboss.TOM_BO_INSTANCE_HIS PARTITION P1406 object 463239 TO TOM_BO_INSTANCE_HIS_P1406.txt;
UNLOAD TABLE pboss.TOM_BO_INSTANCE_HIS PARTITION P1407 object 463255 TO TOM_BO_INSTANCE_HIS_P1407.txt;
UNLOAD TABLE pboss.TOM_BO_INSTANCE_HIS PARTITION P1408 object  TO TOM_BO_INSTANCE_HIS_P1408.txt;
UNLOAD TABLE pboss.TOM_BO_INSTANCE_HIS PARTITION P1409 object 463287 TO TOM_BO_INSTANCE_HIS_P1409.txt;
UNLOAD TABLE pboss.TOM_BO_INSTANCE_HIS PARTITION P1410 object 463303 TO TOM_BO_INSTANCE_HIS_P1410.txt;
UNLOAD TABLE pboss.TOM_BO_INSTANCE_HIS PARTITION P1411 object 463319 TO TOM_BO_INSTANCE_HIS_P1411.txt;
UNLOAD TABLE pboss.TOM_BO_INSTANCE_HIS PARTITION P1412 object 463335 TO TOM_BO_INSTANCE_HIS_P1412.txt;
UNLOAD TABLE pboss.TOM_BO_INSTANCE_HIS PARTITION P1501 object 463351 TO TOM_BO_INSTANCE_HIS_P1501.txt;
UNLOAD TABLE pboss.TOM_BO_INSTANCE_HIS PARTITION P1502 TO TOM_BO_INSTANCE_HIS_P1502.txt;
UNLOAD TABLE pboss.TOM_BO_INSTANCE_HIS PARTITION P1503 TO TOM_BO_INSTANCE_HIS_P1503.txt;
UNLOAD TABLE pboss.TOM_BO_INSTANCE_HIS PARTITION P1504 object 463399 TO TOM_BO_INSTANCE_HIS_P1504.txt;
UNLOAD TABLE pboss.TOM_BO_INSTANCE_HIS PARTITION P1505 object 3019551 TO TOM_BO_INSTANCE_HIS_P1505.txt;
UNLOAD TABLE pboss.TOM_BO_INSTANCE_HIS PARTITION P1505 object 463415 TO TOM_BO_INSTANCE_HIS_P15052.txt;

8.到AUL目录下执行导入数据,注意修改表空间和表名

sqlplus dbmon/dbmon123 @TIP_NGCRMRECEIVE_LOG_syntax.sql
sqlldr dbmon/dbmon123 control=TIP_NGCRMRECEIVE_LOG_P1411_sqlldr.ctl
TIP_NGCRMRECEIVE_LOGp1412
TIP_NGCRMRECEIVE_LOGP1412
分享到: 更多