表被truncate 后的恢复
来源:互联网 发布:尼古丁贴片有用吗 知乎 编辑:程序博客网 时间:2024/05/05 18:41
如下 scott 用户下表t 被truncate 了
1、在sys用户下创建包 FY_Recover_Data 这个包可以在网上搜索找得到 参考文章出处:http://blog.chinaunix.net/uid-23284114-id-3754559.html
2、查询表所在的数据文件位置,将数据文件复制到其他盘下或目录下即可 如 F:\app\SKY\oradata\orcl
select file_name from dba_data_files f, dba_tables t where t.owner='SCOTT' and t.table_name='T' and t.tablespace_name = f.tablespace_name;
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 := 'SCOTT'; --table owner
tgttable := 'T'; --table name
datapath := 'F:\app\SKY\oradat\ORCL'; --必须和被truncate表所在的数据文件的目录相同
datadir := 'EXPDP_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;
1、在sys用户下创建包 FY_Recover_Data 这个包可以在网上搜索找得到 参考文章出处:http://blog.chinaunix.net/uid-23284114-id-3754559.html
2、查询表所在的数据文件位置,将数据文件复制到其他盘下或目录下即可 如 F:\app\SKY\oradata\orcl
select file_name from dba_data_files f, dba_tables t where t.owner='SCOTT' and t.table_name='T' and t.tablespace_name = f.tablespace_name;
3、执行如下语句恢复 在 command window 中或sql plus 中执行,在sql window中执行会报错,对表空间无权限的错,这个包我没研究过,也看不太明白,这个纯粹是工具拿来就用吧。
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 := 'SCOTT'; --table owner
tgttable := 'T'; --table name
datapath := 'F:\app\SKY\oradat\ORCL'; --必须和被truncate表所在的数据文件的目录相同
datadir := 'EXPDP_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;
执行完后,会在scott 用户下有 t$ 或t$$ 表 将数据 insert 到t 表后 删除目录下(F:\app\SKY\oradata\orcl )产生的文件
alter tablespace FY_REC_DATA8 offline;
alter tablespace FY_RST_DATA8 offline;
然后直接到目录下删除 或者 drop tablespace FY_REC_DATA8 including contents and datafiles;
1 0
- 表被truncate 后的恢复
- oracle中误truncate 表后的恢复数据方法
- 如何利用Log explorer恢复被truncate/drop table后的数据
- oracle数据库中truncate表后如何快速恢复
- 无备份恢复truncate掉的表
- truncate表的数据恢复(一)
- truncate表的数据恢复(二)
- oracle 恢复truncate表
- Truncate 表之恢复
- oracle truncate恢复方法
- DUAL表被“不幸”删除后的恢复
- Log explorer 对drop/truncate table的数据恢复
- 使用ODU恢复oracle被truncate的表数据
- 利用Oracle表扫描机制恢复被Truncate的数据
- 如何恢复被drop或truncate表的数据
- 利用rman恢复被失误drop或者truncate的表
- 利用闪回恢复truncate表的数据
- MySQL之truncate表后恢复思路整理(前提是有备份且开启binlog)
- Socket的那点破事
- android Conversion to Dalvik format failed with error 1的错误的解决
- Yum安装JAVA(1.7.0)、Elasticsearch(1.6.2)
- unity3d 发布后动态修改地形高度源码
- window窗口程序
- 表被truncate 后的恢复
- ubuntu 安装(install) pwntcha[一个做"验证码识别"的开源程序]
- 实习日志-第44天
- DEFINE()和offsetof的定义
- HttpClient won't import in Android Studio
- 6 ways to make your lists scroll faster than the wind
- Linux中tty、pty、pts的概念区别
- Android设置Settings实现:PreferenceActivity(1)
- Unity嵌入Android后Android视图获取不到事件焦点