数据库管理复习之oracle 10 G 闪回操作
2008-09-06 22:59
579 查看
oracle 10 G 闪回操作
1 什么是闪回
闪回是oracle9i开始才有的功能,10g进行了完善
闪回操作包括了 查询闪回
表闪回
删除闪回
数据库闪回
2 闪回操作在数据库恢复中的应用
查询闪回:可用于查看和重建因为意外被删除或更改而丢失的数据。
select sysdate from dual;
select * from emp;
delete from emp;
commit;
select * from emp as of timestamp
to_timestamp ('时间点');
闪回
insert into emp
(select * from emp to timestamp
to_timestamp('时间点');
表闪回: 利用表闪回可以恢复表 ,取消对表的进行的修改
表闪回要求用户具有FLASHBACK ANY TABLE 权限
ALTER TABLE 表名 ENABLE ROW MOVEMENT;
FLASHBACK TABLE EMP TO TIMESTAMP
TO_TIMESTAMP('时间点');
删除闪回
这个是一个新的安全机制,当一个表删除的时候,ORACLE 10G
会将这个表放到回收站里面RECYCLEBIN中,这个数据会一直保存
知道用户决定永久删除它们或者出现表空间的空间不足的时候才会
被删除。回收站RECYCLEBIN 是一个虚拟容器,用于存储所有被删除
的对象。
查询回收站信息
SHOW RECYCLEBIN
或通过查询数据字段USER_RECYCLEBIN
SELECT OBJECT_NAME,ORIGINAL_NAME,TYPE,DROPTIME FROM USER_RECYCLEBIN'
SQL> show recyclebin;
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- ------------------------------ ------------ -------------------
DEPT BIN$VjrBIcrVgk7gQBSUBSgFyg==$0 TABLE 2008-09-06:22:10:55
查询到表以后,是可以通过删除闪回进行恢复的,引用以下命令
SQL> flashback table dept to before drop;
Flashback complete.
或者 通过 回收站里面的文件回复就可以了 在不知道表名的前提下
SQL> flashback table "BIN$VjrBIcrdgk7gQBSUBSgFyg==$0" to before drop;
Flashback complete.
如果要真正删除一个表 而不进入回收站 可以用PURGE;
DROP TABLE DEPT PURGE;
SHOW RECYCLEBIN;没有数据返回
也可以用PURGE RECYCLEBIN 区域来永久删除表;
SQL> show recyclebin;
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- ------------------------------ ------------ -------------------
TEST BIN$VjrBIcrjgk7gQBSUBSgFyg==$0 TABLE 2008-09-06:22:23:05
PURGE TABLE TEST;
SQL> PURGE TABLE TEST;
Table purged.
删除当前用户的回收站
purge recyclebin;
用SYS用户删除所有用的数据
purge dba_recyclebin;
数据库闪回
将数据库回到过去某一状态
--select name,dbid,checkpoint_change# SCN from v$database; (查查当前的SCN号)
--select * from v$log (查查日志的SCN号)
FLASH DATABASE TO SCN 4474843028;
FLASH DATABASE TO TIMESTAMP
TO_TIMESTAMP ('时间点')
1 什么是闪回
闪回是oracle9i开始才有的功能,10g进行了完善
闪回操作包括了 查询闪回
表闪回
删除闪回
数据库闪回
2 闪回操作在数据库恢复中的应用
查询闪回:可用于查看和重建因为意外被删除或更改而丢失的数据。
select sysdate from dual;
select * from emp;
delete from emp;
commit;
select * from emp as of timestamp
to_timestamp ('时间点');
闪回
insert into emp
(select * from emp to timestamp
to_timestamp('时间点');
表闪回: 利用表闪回可以恢复表 ,取消对表的进行的修改
表闪回要求用户具有FLASHBACK ANY TABLE 权限
ALTER TABLE 表名 ENABLE ROW MOVEMENT;
FLASHBACK TABLE EMP TO TIMESTAMP
TO_TIMESTAMP('时间点');
删除闪回
这个是一个新的安全机制,当一个表删除的时候,ORACLE 10G
会将这个表放到回收站里面RECYCLEBIN中,这个数据会一直保存
知道用户决定永久删除它们或者出现表空间的空间不足的时候才会
被删除。回收站RECYCLEBIN 是一个虚拟容器,用于存储所有被删除
的对象。
查询回收站信息
SHOW RECYCLEBIN
或通过查询数据字段USER_RECYCLEBIN
SELECT OBJECT_NAME,ORIGINAL_NAME,TYPE,DROPTIME FROM USER_RECYCLEBIN'
SQL> show recyclebin;
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- ------------------------------ ------------ -------------------
DEPT BIN$VjrBIcrVgk7gQBSUBSgFyg==$0 TABLE 2008-09-06:22:10:55
查询到表以后,是可以通过删除闪回进行恢复的,引用以下命令
SQL> flashback table dept to before drop;
Flashback complete.
或者 通过 回收站里面的文件回复就可以了 在不知道表名的前提下
SQL> flashback table "BIN$VjrBIcrdgk7gQBSUBSgFyg==$0" to before drop;
Flashback complete.
如果要真正删除一个表 而不进入回收站 可以用PURGE;
DROP TABLE DEPT PURGE;
SHOW RECYCLEBIN;没有数据返回
也可以用PURGE RECYCLEBIN 区域来永久删除表;
SQL> show recyclebin;
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- ------------------------------ ------------ -------------------
TEST BIN$VjrBIcrjgk7gQBSUBSgFyg==$0 TABLE 2008-09-06:22:23:05
PURGE TABLE TEST;
SQL> PURGE TABLE TEST;
Table purged.
删除当前用户的回收站
purge recyclebin;
用SYS用户删除所有用的数据
purge dba_recyclebin;
数据库闪回
将数据库回到过去某一状态
--select name,dbid,checkpoint_change# SCN from v$database; (查查当前的SCN号)
--select * from v$log (查查日志的SCN号)
FLASH DATABASE TO SCN 4474843028;
FLASH DATABASE TO TIMESTAMP
TO_TIMESTAMP ('时间点')
相关文章推荐
- 源码-Oracle数据库管理-第十章-数据表操作-Part 3(更新数据)
- (Oracle)数据库管理的相关操作语句
- 复习ORACLE 数据库DBA操作日志(不停更新.........)
- Oracle起步学习(二)---简单的数据库初始操作、用户管理
- (Oracle)数据库管理的相关操作语句
- 源码-Oracle数据库管理-第十章-数据表操作-Part 4(删除数据)
- 超详细Oracle 12c数据库对象管理操作
- 用Solaris 10中的SMF(Service Management Facility)管理Oracle数据库的运行
- 源码-Oracle数据库管理-第十章-数据表操作-Part 2(插入数据)
- Oracle 数据库的 dml 误操作使用闪回解决
- Oracle学习笔记之Oracle 数据库操作之用户管理
- 数据库复习日志oracle 10 g 数据库备份和恢复(1)
- 源码-Oracle数据库管理-第十章-数据表操作-Part 1(插入数据)
- Oracle学习(十三)之管理表空间以及数据库闪回设置
- Oracle学习笔记之oracle 数据库操作之表的管理
- oracle 复习体系三 数据库操作
- (Oracle)数据库管理的相关操作语句
- 数据库操作_连接SQL Server数据库示例;连接ACCESS数据库;连接到 Oracle 数据库示例;SqlCommand 执行SQL命令示例;SqlDataReader 读取数据示例;使用DataAdapter填充数据到DataSet;使用DataTable存储数据库表;将数据库数据填充到 XML 文件;10 使用带输入参数的存储过程;11 使用带输入、输出参数的存储过程示;12 获得数据库中表的数目和名称;13 保存图片到SQL Server数据库示例;14 获得插入记录标识号;Exce
- MFC中使用ADO操作各类数据库的封装类,包括MySql、Access、Oracle、MSSql
- oracle控制台管理不了数据库