博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Truncate 表之恢复
阅读量:4068 次
发布时间:2019-05-25

本文共 1608 字,大约阅读时间需要 5 分钟。

Truncate 表之恢复

1.     测试环境:

Linux:172.28.145.21

DB:testdb01

2.     原理

Truncate 不会逐个清除用户数据块上的数据,而仅仅重置数据字典和元数据块上的元数据(如存储断头和扩展段图)。

也就是说,此时,基本数据表并未破坏,而是被系统回收,等待被重新分配—因此,要恢复被truncate的数据,需要及时备份所在的数据文件。

3.     存储过程包:

Fy_Recover_Data是利用Oracle表扫描机制、数据嫁接机制恢复TRUNCATE或者损坏数据的工具包。由纯PLSQL编写,从网上下载下来的:

 

4.     测试模拟:

创建表:

CREATETABLET_TRUNCATE ASSELECT* FROM TAB;

Truncate 表数据:

truncatetableshiyu.T_TRUNCATE;

恢复:执行FY_Recover_Data.SQL 存储过程

开始恢复:执行下面语句:

declare

     tgtowner varchar2(30);

     tgttable varchar2(30);

     datapath varchar2(4000);

     datadir varchar2(30);

     rects varchar2(30);

     recfile varchar2(30);

     rstts varchar2(30);

     rstfile varchar2(30);

     blksz number;

     rectab varchar2(30);

     rsttab varchar2(30);

     copyfile varchar2(30);

   begin

     tgtowner :='SHIYU';--table owner

     tgttable :='T_TRUNCATE';  --table name

     datapath :='/data/oradata/test01/';   --必须和T_TRUNCATE 表所在的数据文件目录相同

     datadir :='DUMP_DIR';  -oracle 中目录的名字,可以修改

     Fy_Recover_data.prepare_files(tgtowner,tgttable, datapath,datadir, rects,recfile, rstts,rstfile, blksz);

     Fy_Recover_data.fill_blocks(tgtowner,tgttable, datadir,rects, recfile,rstts,8,tgtowner, tgtowner,rectab, rsttab,copyfile);

     Fy_Recover_data.recover_table(tgtowner,tgttable, tgtowner,rectab, tgtowner,rsttab, datadir,datadir, recfile,datadir,copyfile, blksz);

   end;

   /

    注:执行上面的SQL产生2个表空间(2个数据文件),还有1copy文件。

 

如下截图:

--把恢复的数据从shiyu. TRUNCATE$$ 中插入到shiyu. TRUNCATE表(shiyu. TRUNCATE$$ 中是shiyu. TRUNCATE表truncate之前的数据)

insertintoshiyu.T_TRUNCATE select* from shiyu.T_TRUNCATE$$;

 

这时在查询刚才truncate掉的表

5.     收尾:

数据恢复后,把恢复时产生的2个表空间删除,再删除对应数据文件

 

DROPTABLESPACEFY_REC_DATA INCLUDINGCONTENTSANDDATAFILES;

 

DROPTABLESPACEFY_RST_DATA INCLUDINGCONTENTSANDDATAFILES;

转载地址:http://zkhji.baihongyu.com/

你可能感兴趣的文章
网上开店之培养忠诚客户
查看>>
2006年中国软件收入规模前100家企业名单
查看>>
给毕业生的忠告
查看>>
2006年培养员工的失败与成功之处
查看>>
管理出效益
查看>>
感谢工程二部的所有员工!!!
查看>>
MINIGUI学习笔记之安装使用
查看>>
MINIGUI与共享内存
查看>>
浮点型(FLOAT)与CHAR型转换
查看>>
何为团队?
查看>>
如何做好一个项目经理?
查看>>
寻求工控、自动化合作者建立工控网站!(长期有效)
查看>>
MiniGUI 2.0.3商业版本安装
查看>>
REDHAT 网络通讯源码
查看>>
LINUX 串口通讯源码
查看>>
浙西2日游(4.21-22)
查看>>
LINUX起死回生记
查看>>
网站规划之初稿 (工控帮 http://www.opc-china.com)
查看>>
网站系统之咨询(网奇行业门户)(如此做法怎么能对的起“中国建站第一品牌”)
查看>>
数字电影《大寒小寒》(淳朴,无私)
查看>>