Load完成后会在后台输出数据库 字符集和国家字符集等信息:
Load完成后 PRM-DUL界面左侧出现按照数据库用户分组的树形图点开USERS,可以看到多个用户名,例如用户需要恢复PD SCHEMA下的一张表,则点开PD ,并双击表名:
由于该TORDERDETAIL_HIS表之前已经被TRUNCATED掉了,所以双击没有显示有数据,此时在表上右键选择Unload truncated data:
PRM-DUL将尝试扫描该表所在表空间并将已经truncated掉的数据抽取出来:
如上图所示从已经被TRUNCATE过的TORDERDETAIL_HIS表中抽取出完整的984359条记录,并存放在提示指定的路径下。这里还自动生成了将文本数据导入到数据库中使用的SQLLDR 控制文件。 cd /home/oracle/PRM-DUL/PRM-DULdata/parnassus_dbinfo_PARNASSUSDATA/ ls -l ParnassusData*-rw-r–r– 1 oracle oinstall 495 Jan 18 08:31 ParnassusData.torderdetail_his.ctl-rw-r–r– 1 oracle oinstall 191164826 Jan 18 08:32 ParnassusData.torderdetail_his.dat.truncated cat ParnassusData.torderdetail_his.ctlLOAD DATAINFILE ‘ParnassusData.torderdetail_his.dat.truncated’APPENDINTO TABLE ParnassusData.torderdetail_hisFIELDS TERMINATED BY ‘ ‘OPTIONALLY ENCLOSED BY ‘”‘TRAILING NULLCOLS (“SEQ_ID” ,“SI_STATUS” ,“D_CREATEDATE” ,“D_UPDATEDATE” ,“B_ISDELETE” ,“N_SHOPID” ,“N_ORDERID” ,“C_ORDERCODE” ,“N_MEMBERID” ,“N_SKUID” ,“C_PROMOTION” ,“N_AMOUNT” ,“N_UNITPRICE” ,“N_UNITSELLINGPRICE” ,“N_QTY” ,“N_QTYFREE” ,“N_POINTSGET” ,“N_OPERATOR” ,“C_TIMESTAMP” ,“H_SEQID” ,“N_RETQTY” ,“N_QTYPOS”)将数据导入到源表中(注意 ParnassusData强烈建议你修改该SQLLDR控制文件中导入的表名字为一个临时表,这样不会覆盖原环境)。 sqlldr control=ParnassusData.torderdetail_his.ctl direct=yUsername:/ as sysdba//以上使用sqlldr导入了恢复的数据//可以通过minus来对比恢复出来的数据:select * from ParnassusData.torderdetail_his minus select * from parnassus.torderdetail_his;no rows selected测试TRUNCATE用例表与源数据表对比,发现记录完全一致。说明PRM-DUL完整、丝毫不差地恢复了被TRUNCATE表上的记录。