--闪回表
SQL conn ymkwfn/XXXXXX
已连接。
SQL flashback table t_double_ball to timestamp to_timestamp('2013-03-15 11000
0', 'yyyy-mm-dd hh24miss');
flashback table t_double_ball to timestamp to_timestamp('2013-03-15 110000', '
yyyy-mm-dd hh24miss')
第 1 行出现错误
ORA-08189 因为未启用行移动功能, 不能闪回表
SQL alter table t_double_ball enable row movement;
表已更改。
SQL flashback table t_double_ball to timestamp to_timestamp('2013-03-15 11000
0', 'yyyy-mm-dd hh24miss');
闪回完成。
-------闪回查询
select * from t_double_ball as of timestamp to_timestamp('2013-03-15 130000', 'yyyy-mm-dd hh24miss');
14:23:35 SQL> insert into scott.tttt values (2);
已创建 1 行。
已用时间: 00: 00: 00.03
14:23:52 SQL> commit;
提交完成。
已用时间: 00: 00: 00.03
14:23:55 SQL> insert into scott.tttt values (10);
已创建 1 行。
已用时间: 00: 00: 00.00
14:24:02 SQL> commit;
提交完成。
已用时间: 00: 00: 00.00
14:24:06 SQL> SELECT *FROM SCOTT.TTTT AS OF TIMESTAMP TO_TIMESTAMP('2013-03-27 1
4:23:54' , 'YYYY-MM-DD HH24:MI:SS');
EMPNO
----------
3
3
3
3
5
6
7
已选择7行。
已用时间: 00: 00: 00.00
14:24:42 SQL> SELECT *FROM SCOTT.TTTT AS OF TIMESTAMP TO_TIMESTAMP('2013-03-27 1
4:23:55' , 'YYYY-MM-DD HH24:MI:SS');
EMPNO
----------
3
3
3
3
5
6
7
2
已选择8行。
已用时间: 00: 00: 00.01
14:24:52 SQL> SELECT *FROM SCOTT.TTTT AS OF TIMESTAMP TO_TIMESTAMP('2013-03-27 1
4:24:55' , 'YYYY-MM-DD HH24:MI:SS');
EMPNO
----------
3
3
3
3
5
6
7
2
10
已选择9行。
已用时间: 00: 00: 00.01
14:25:24 SQL> SELECT *FROM SCOTT.TTTT AS OF TIMESTAMP TO_TIMESTAMP('2013-03-27 1
4:21:32' , 'YYYY-MM-DD HH24:MI:SS');
EMPNO
----------
3
3
3
3
5
6
7
已选择7行。
已用时间: 00: 00: 00.00
14:25:34 SQL>
--------------------------数据库级闪回
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 732352512 bytes
Fixed Size 1377108 bytes
Variable Size 503319724 bytes
Database Buffers 222298112 bytes
Redo Buffers 5357568 bytes
数据库装载完毕。
SQL> flashback database to timestamp to_timestamp('2013-03-25 130000', 'yyyy-mm-
dd hh24miss');
闪回完成。
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项
SQL> alter database open resetlogs;
数据库已更改。
--恢复删除的表
Flashback table clerk_detail200912 to before drop;
--查看回收站中的表
select
object_name,original_name,partition_name,type,ts_name,createtime,
droptime
from recyclebin;
--存储过程闪回
SELECT * FROM all_source AS OF TIMESTAMP
TO_TIMESTAMP('2010-01-14 11:25:17','YYYY-MM-DD HH24:MI:sS')
where name='TJ_ZXZB_DAY'
SQL conn ymkwfn/XXXXXX
已连接。
SQL flashback table t_double_ball to timestamp to_timestamp('2013-03-15 11000
0', 'yyyy-mm-dd hh24miss');
flashback table t_double_ball to timestamp to_timestamp('2013-03-15 110000', '
yyyy-mm-dd hh24miss')
第 1 行出现错误
ORA-08189 因为未启用行移动功能, 不能闪回表
SQL alter table t_double_ball enable row movement;
表已更改。
SQL flashback table t_double_ball to timestamp to_timestamp('2013-03-15 11000
0', 'yyyy-mm-dd hh24miss');
闪回完成。
-------闪回查询
select * from t_double_ball as of timestamp to_timestamp('2013-03-15 130000', 'yyyy-mm-dd hh24miss');
14:23:35 SQL> insert into scott.tttt values (2);
已创建 1 行。
已用时间: 00: 00: 00.03
14:23:52 SQL> commit;
提交完成。
已用时间: 00: 00: 00.03
14:23:55 SQL> insert into scott.tttt values (10);
已创建 1 行。
已用时间: 00: 00: 00.00
14:24:02 SQL> commit;
提交完成。
已用时间: 00: 00: 00.00
14:24:06 SQL> SELECT *FROM SCOTT.TTTT AS OF TIMESTAMP TO_TIMESTAMP('2013-03-27 1
4:23:54' , 'YYYY-MM-DD HH24:MI:SS');
EMPNO
----------
3
3
3
3
5
6
7
已选择7行。
已用时间: 00: 00: 00.00
14:24:42 SQL> SELECT *FROM SCOTT.TTTT AS OF TIMESTAMP TO_TIMESTAMP('2013-03-27 1
4:23:55' , 'YYYY-MM-DD HH24:MI:SS');
EMPNO
----------
3
3
3
3
5
6
7
2
已选择8行。
已用时间: 00: 00: 00.01
14:24:52 SQL> SELECT *FROM SCOTT.TTTT AS OF TIMESTAMP TO_TIMESTAMP('2013-03-27 1
4:24:55' , 'YYYY-MM-DD HH24:MI:SS');
EMPNO
----------
3
3
3
3
5
6
7
2
10
已选择9行。
已用时间: 00: 00: 00.01
14:25:24 SQL> SELECT *FROM SCOTT.TTTT AS OF TIMESTAMP TO_TIMESTAMP('2013-03-27 1
4:21:32' , 'YYYY-MM-DD HH24:MI:SS');
EMPNO
----------
3
3
3
3
5
6
7
已选择7行。
已用时间: 00: 00: 00.00
14:25:34 SQL>
--------------------------数据库级闪回
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 732352512 bytes
Fixed Size 1377108 bytes
Variable Size 503319724 bytes
Database Buffers 222298112 bytes
Redo Buffers 5357568 bytes
数据库装载完毕。
SQL> flashback database to timestamp to_timestamp('2013-03-25 130000', 'yyyy-mm-
dd hh24miss');
闪回完成。
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项
SQL> alter database open resetlogs;
数据库已更改。
--恢复删除的表
Flashback table clerk_detail200912 to before drop;
--查看回收站中的表
select
object_name,original_name,partition_name,type,ts_name,createtime,
droptime
from recyclebin;
--存储过程闪回
SELECT * FROM all_source AS OF TIMESTAMP
TO_TIMESTAMP('2010-01-14 11:25:17','YYYY-MM-DD HH24:MI:sS')
where name='TJ_ZXZB_DAY'