人生倒计时
- 今日已经过去小时
- 这周已经过去天
- 本月已经过去天
- 今年已经过去个月
oracle数据表恢复(oracle恢复误删除的表)
在oracle中如何找回被删除的数据?
1、首先新建一张测试表TEST,里面输入记录。由于删除/更新/插入恢复步骤相同,这里仅演示删除数据的情况。
(使用浏览器扫码进入在线客服窗口)
复制联系方式
2、删除其中1条记录,查看表中记录情况,由下图可见,记录2被删除了。
3、恢复之前先确定要恢复到的时间点,下图可以看出2018-03-07 15:33:00数据是正确的。
SELECT *
FROM TEST AS OF TIMESTAMP TO_TIMESTAMP('2018-03-07 15:33:00', 'YYYY-MM-DD HH24:MI:SS');
4、下面进行表数据恢复。
FLASHBACK TABLE TEST TO TIMESTAMP TO_TIMESTAMP('2018-03-07 15:33:00', 'YYYY-MM-DD HH24:MI:SS');
可以看到报错了,原因是没有开启行移动。
5、开启该表的行移动。
ALTER TABLE TEST ENABLE ROW MOVEMENT;
6、再次执行数据恢复。
FLASHBACK TABLE TEST TO TIMESTAMP TO_TIMESTAMP('2018-03-07 15:33:00', 'YYYY-MM-DD HH24:MI:SS');
然后查看数据情况,可以看到已经恢复了。

请问oracle怎么从dmp文件只恢复一张表的数据,恢复到另一个用户中
1、安装Oracle数据库软件,并且用Oracle管理工具中的Database Configuration Assistant 根据对方提供的数据库名建立数据库。数据库版本则要和导出当前dmp文件的数据库版本一致。
2、透过脚本文件建立导入dmp文件所需的表空间、用户、规则以及相关的授权。
3、将dmp文件复制到新安装的Oracle数据库服务器中,准备导入这个数据库文件。
4、通过cmd调出运行窗口,用imp命令导入数据。
5、通过数据库管理工具连接数据库,就可以查询到dmp文件中的数据了。
oracle数据库执行脚步出错,怎么恢复数据库
数据恢复方法是利用oracle提供的闪回方法进行数据恢复,适用于delete删除(一条记录)方式:
首先需要知道是什么时间进行的删除操作,如果不能确定具体时间点则选择尽量准确的删除数据前的时间。然后利用
select * from 表名 as of timestamp to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss')
语句可以找回删除的数据。利用
insert into 表名 (select * from 表名 as of timestamp to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss'));
语句就可以将恢复出来的数据插入原表中(注意要保证主键不重复)。
另一种方法可以通过闪回整个表来恢复误删除的数据,但仅适用于表结构没有发生改变且用户有flash any table权限的情况下,语句如下:
·alter table 表名 enable row movement

