oracle数据库误删的表以及表中记录的恢复
oracle数据库误删的表以及表中记录的恢复
一、表的恢复
对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的。一般步骤有:
--1、从flash back里查询被删除的表
select * from recyclebin
--2、执行表的恢复
flashback table tbName to before drop; --这里的tbName代表你要恢复的表的名称。
二、表数据恢复
对误删的表记录,只要没有truncate语句,就可以根据事务的提交时间进行选择恢复,一般步骤有:
1、先从flashback_transaction_query视图里查询,视图提供了供查询用的表名称、事务提交时间、UNDO_SQL等字段。
select * from flashback_transaction_query where table_name='TEST'; 2、执行表记录恢复
一般先根据时间进行查询,查询语句模式为
select * from tb as of timestamp to_timestamp(time,'yyyy-mm-dd hh24:mi:ss'); --tb指表名称,time指某个时间点
例如:
select * from scott.test as of timestamp to_timestamp('2009-12-11 20:53:57','yyyy-mm-dd hh24:mi:ss'); 若有数据,恢复极为简单了,语句为
flashback table tb to timestamp to_timestamp(time,'yyyy-mm-dd hh24:mi:ss');
例如:
flashback table scott.test to timestamp to_timestamp('2009-12-11 20:47:30','yyyy-mm-dd hh24:mi:ss');
注意:alter table testvarchar enable row movement;
这个命令的作用是,允许Oracle 修改分配给行的rowid。
在Oracle 中,插入一行时就会为它分配一个rowid,而且这一行永远拥有这个rowid。
闪回表处理会对EMP 完成DELETE,并且重新插入行,这样就会为这些行分配一个新的rowid。要支持闪回就必须允许Oracle 执行这个操作
oracle数据库误删的表以及表中记录的恢复的更多相关文章
- 查看Oracle数据库被锁住的表,删除锁表的进程
锁表处理及查询 查看Oracle数据库被锁住的表,删除锁表的进程 1.查看被锁住的表 SELECT dob.object_name table_name, lo.locked_mode, lo. ...
- 查看oracle数据库下面的所有的表,执行某个sql脚本:
查看oracle数据库下面的所有的表: select * from user_tables;//user为用户名 执行某个sql脚本: SQL>@e 文件名.sql
- Oracle数据库delete删除普通堆表千万条记录
Oracle数据库delete删除普通堆表千万条历史记录. 直接删除的影响: 1.可能由于undo表空间不足从而导致最终删除失败的问题: 2.可能导致undo表空间过度使用,影响到其他用户正常操作. ...
- Oracle数据库误删文件导致rman备份报错RMAN-06169解决办法
Oracle数据库误删文件导致rman备份报错RMAN-06169解决办法 可能是误删文件导致在使用rman备份时候出现以下提示 RMAN-06169: could not read file hea ...
- c#用log4Net将日志写入到Oracle数据库,并写入到文件中
原文:c#用log4Net将日志写入到Oracle数据库,并写入到文件中 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https:/ ...
- oracle数据库如何打印九九乘法表
对于九九乘法表,相信对于懂IT的人并不陌生,但是外行可能会有很多的不懂,c语言也同样需要了解,它是学习的入门课程,oracle数据库书写九九乘法表有好几种方式,下面就有我为大家介绍,一起来看看吧. 九 ...
- 分享知识-快乐自己: Oracle数据库实例、用户、表、表空间之间关系
数据库: Oracle数据库是数据的物理存储.这就包括(数据文件ORA或者DBF.控制文件.联机日志.参数文件). 其实Oracle数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库 ...
- Oracle数据库-建库、建表空间,建用户
Oracle安装完后,其中有一个缺省的数据库,除了这个缺省的数据库外,我们还可以创建自己的数据库. 对于初学者来说,为了避免麻烦,可以用'Database Configuration Assistan ...
- Oracle数据库间的数据复制 - SQLPlus中的COPY命令
Copy命令可以实现不同Oracle数据库间的数据的复制,也是可以实现同一数据库的数据复制,其性能表现和导入/导出相同. 根据9i文档,说Copy命令未来会不支持,但实际上Oracle 11g仍然支持 ...
随机推荐
- IDEA 控制台乱码问题
一.修改IDEA的配置文件 找到IDEA安装目录下的 /bin/idea.exe.vmoptions(32位) 或 idea64.exe.vmoptions(64位),添加如下一行: -Dfile.e ...
- tomcat 闪退问题排查
由于启动tomcat回出现闪退情况,看不到异常 解决方法: 一. 打开startup.bat文件,在最下面 在文本的最后敲上pause,保存后重新运行startup.bat,这时候窗口会留在桌面上(调 ...
- Visual Studio安装Visual Assist的办法(兼容VS2010至VS2017)
Visual Assist可以说是一个码代码的高效帮手,有了它,敲起代码速度杠杠的,但是有时候安装破解老是出问题,这一次,我自己尝试了几次,跟着网上的教程做了做,改了改,结合之前安装的经验,最后总算安 ...
- 常用Linux终端命令行的快捷键列表
终端有很多快捷键,不太好记,常用的在这里 Ctrl+r 实现快速检索使用过的历史命令.Ctrl+r中r是retrieve中r. Ctrl+a:光标回到命令行首. (a:ahead) Ctrl+e:光标 ...
- pecl 更换对应php版本
转自 https://www.jianshu.com/p/fee58d93e8b1 版本问题 如果我们是通过apt-get或者yum安装的php,现在一般默认的都是php7.0版本. pecl安装过 ...
- python3-基础1
eval() --- 返回表达式计算结果 实际上就是把括号中的命令提取出来执行一遍. eval("print('ok')") ok 可变类型: 在ID不变的情况下,value可变 ...
- fatal: could not read Username for 'https://git.dev.tencent.com' 解决方法
在使用webhook自动部署时测试出现此问题,通过以下方法粗暴解决: vim .git/config 文件,在remote "origin" url中加入帐号密码,如图所示,格式 ...
- css 小坑
1.display:inline-block 内容上下移动 原因:inline-block 默认对齐方式是底部对齐 方法:加一个 vertical-align:top; 属性 把垂直对齐方式改为顶部
- kibi - join and filter data from multiple Elasticsearch indexes
Kibi extends Kibana 4.6.4 with data intelligence features. The core feature of Kibi is the capabilit ...
- TypeScript: this bind 和 回调的正确用法
TypeScript 中如果传递了 而且在回调函数中用了this 的话, 就要小心了, 这个this 不一定是指向当前类对象了,如果想确保指向的还是那个对象的话, 需要在传递那个方法的时候, 先调用b ...