oracle表还原truncate,Oracle数据库之Oracle表恢复(truncate)
本文主要向大家介绍了Oracle数据库之Oracle表恢复(truncate),通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助。
一、模拟truncate操作:
SQL> conn scott/tiger
SQL> select count(*) from t;
COUNT(*)
----------
13
SQL> truncate table t;
二、恢复truncate表的数据
1.下载hellodba的恢复工具到数据库服务器
linux下使用终端,如下:
windows下输入以下网址:
http://www.hellodba.com/Download/FY_Recover_Data.zip
2.解压下载下来的FY_Recover_Data.pck
[oracle@rac1 ~]$ unzip FY_Recover_Data.zip
解压后得到一个文件FY_Recover_Data.SQL
以下3-7步操作均用sys用户执行
3.使用sys用户执行解压后的脚本(我这里解压后的文件在/home/oracle/)
SQL> @/home/oracle/FY_Recover_Data.SQL
这个脚本实际是在sys用户下创建了一个名为FY_Recover_Data的package
4.使用sys用户找出存放truncate表的数据文件路径,下一步会用到这个文件路径
SQL> 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;
查得结果是/u01/oracle/oradata/orcl/users01.dbf
5.使用sys用户执行以下操作开始恢复:
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 := 'SCOTT'; --table owner
tgttable := 'T'; --table name
datapath := '/u01/oracle/oradata/orcl/'; --必须和被truncate表所在的数据文件的目录相同
datadir := 'FY_DATA_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个表空间FY_REC_DATA、FY_RST_DATA,还有1个copy文件。
6.使用sys用户把恢复的数据从scott.t$$中插回scott.t表
注:scott.t$$中是scott.t表truncate之前的数据
SQL> insert into scott.t select * from scott.t$$;
13 rows created.
SQL> commit;
Commit complete.
SQL> select count(*) from t;
COUNT(*)
----------
13
可以看到被truncate的数据已经恢复。
7.使用sys用户删除恢复时产生的2个表空间及数据文件
SQL> drop tablespace fy_rec_data including contents and datafiles;
Tablespace dropped.
SQL> drop tablespace fy_rst_data including contents and datafiles;
Tablespace dropped.
本文由职坐标整理并发布,希望对同学们学习Oracle有所帮助,更多内容请关注职坐标数据库Oracle数据库频道!
oracle表还原truncate,Oracle数据库之Oracle表恢复(truncate)相关推荐
- oracle用户新增数据文件,[数据库]20200722_Oracle添加表空间、用户,用户授权
[数据库]20200722_Oracle添加表空间.用户,用户授权 0 2020-07-25 17:00:30 --创建表空间CREATE TABLESPACE aifu --表空间名 aifu LO ...
- oracle 表字段顺序_Oracle数据库如何修改表中字段顺序
Oracle数据库如何修改表中字段顺序 发布时间:2020-07-09 15:53:15 来源:亿速云 阅读:166 本篇文章给大家分享的是有关Oracle数据库如何修改表中字段顺序,小编觉得挺实用的 ...
- oracle 定时器时间分区_Oracle数据库之oracle按时间分区以及自动分区
本文主要向大家介绍了Oracle数据库之oracle按时间分区以及自动分区,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. (1) --- 创建按时间分区的表 create ta ...
- oracle tabe unlock_oracle 常用命令-数据库专栏,ORACLE
第一章:日志管理 1.forcing log switches sql> alter system switch logfile; 2.forcing checkpoints sql> a ...
- 如何通过dblink truncate远程数据库上的表
一般情况下,当我们直接truncate一个远程的表的时候,通常会返回如下的错误信息: ORA-02021: DDL operations are not allowed on a remote dat ...
- mysql还原数据表的语句_MYSQL数据库常用备份及恢复语句
备份MySQL数据库的命令,可以加选不同的参数选项来实现不同格式的要求. mysqldump -h主机 -u用户名 -p密码 数据库名 > 文件 备份MySQL数据库为带删除表的格式,能够让该备 ...
- mysql分库分表事务控制_数据库分库分表之后,你是如何解决事务问题?
我们需要接受失望,因为它是有限的:我们不会失去希望,因为它是无穷的. 一.概述 随着时间和业务的发展,数据库中表的数据量会越来越大,相应地,数据操作,增删改查的开销也会越来越大.因此,把其中一些大表进 ...
- php如何在mysql数据库里创建表_php创建mysql数据库以及数据表
php创建mysql数据库以及数据表 用php链接到mysqli,成功后利用,mysqli_query()创建数据库以及数据表. $con = mysqli_connect("localho ...
- mysql数据库表名大小写敏感_Mysql数据库名和表名的大小写敏感性问题
导读:一直以来,Mysql数据库名和表名的大小写都是个敏感的问题,困扰着Mysql数据库管理员.在 MySQL 中,数据库和表对应于那些目录下的目录和文件.因而,操作系统的敏感性决定数据库和表命名的大 ...
- 提交表单数据到数据库_普通表单不仅适用于数据库
提交表单数据到数据库 您也可以将类似的规则应用于数据对象类型. (You can apply similar rules to data object types, too.) You probabl ...
最新文章
- 学习 Ruby on Rails 真的很爽!
- LFS、BLFS、ALFS、HLFS的区别
- 深度学习核心技术精讲100篇(十)-机器学习模型融合之Kaggle如何通过Stacking提升模型性能
- QT的QItemSelection类的使用
- 登录centos虚拟机后显示-bash-4.1
- C++|STL学习笔记-map的基本操作(插入,删除,遍历,大到小输出)【仿大佬写法】
- Pocket通证POKT锁仓总价值超2.1947亿美元
- python 基本数据类型
- 大佬对Maven进行深度讲解:什么是Maven?POM.XML如何解读?
- alpha-beta 极大极小值剪枝算法
- 网络安全(加密技术、数字签名、证书)
- 为程序员准备的英语学习资料
- 【Python CLI】第三章 控制台输出
- 【SDCC 2016现场】数据库/大数据技术实战专场实录(下)
- java excel 单元格 斜线_JAVA POI EXCEl单元格内部分字符设置样式 HSSFRichTextString用法...
- Python-玩转数据-python网络编程
- 熟知ghost参数 恢复系统没烦恼【xpghost】
- mybatis运行报错java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed
- 摄像头8mm可以看多远_监控摄像头有多少种,如何来选型
- 全网舆情监测系统功能板块具体详介
热门文章
- lucene.NET详细使用与优化详解
- python中的数据类型,存储,实现
- 统计apache404错误ip并加入iptables防火墙
- apache的httpd.conf中文注释
- C#完整执行存储过程的代码加实例
- SVM的升维解决线性不可分
- SQL with(nolock)详解
- sql server 2005 时间转化获取年,有一个时间如2009-07-15,现在要分别查出年、月、日,...
- 普通视图和物化视图区别
- java token生成和验证_SpringBoot集成JWT生成token及校验方法过程解析