ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle10g闪回数据库特性及归档方式

Oracle10g闪回数据库特性及归档方式

原创 Linux操作系统 作者:buliaoqingtian 时间:2019-06-06 20:42:06 0 删除 编辑
对10g里归档方式及闪回功能进行介绍

Oracle10g的闪回特性及归档方式的建立与oracle9i的相应功能都有了很大的提高,下面分两部分分别介绍这两部分内容。

归档方式

Oracle9i起用归档方式时必须要设置相关参数值,这些参数包括:log_archive_dest_nlog_archive_start;同时在起动数据库到装载状态后alter database archivelog;但在oracle10g里已不需要设置上述参数的值,只需要”alter database archivelog”,请看下面的实验。

SQL> shutdown immediate数据库已经关闭。已经卸载数据库。
ORACLE
例程已经关闭。
SQL> startup mount
ORACLE
例程已经启动。

Total System Global Area 289406976 bytes
Fixed Size 1248600 bytes
Variable Size 125829800 bytes
Database Buffers 159383552 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
SQL> alter database archivelog;
数据库已更改。

SQL> alter database open;
数据库已更改。

SQL> archive log list
数据库日志模式 存档模式自动存档 启用存档终点 USE_DB_RECOVERY_FILE_DEST最早的联机日志序列 16下一个存档日志序列 18当前日志序列 18

闪回特性

在介绍闪回特性之前有一点要说明,起用闪回特性时数据库必须已处于归档方式,否则会报。错。请见下例:

SQL> shutdown immediate数据库已经关闭。已经卸载数据库。
ORACLE
例程已经关闭。
SQL> startup mount
ORACLE
例程已经启动。

Total System Global Area 289406976 bytes
Fixed Size 1248600 bytes
Variable Size 121635496 bytes
Database Buffers 163577856 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
SQL> alter database flashback on;
alter database flashback on
*
1 行出现错误:
ORA-38706:
无法启用 FLASHBACK DATABASE 事件记录。
ORA-38707:
尚未启用介质恢复。

与闪回相关的数据库参数分别有:db_recovery_file_destdb_recovery_file_dest_sizedb_flashback_retention_target

SQL> show parameter db_recovery_file_dest

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string D:oracleproduct10.2.0/flash
_recovery_area
db_recovery_file_dest_size big integer 2G
SQL> show parameter db_flashback_retention_target

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_flashback_retention_target integer 1440

如果你发现某些参数的值过小,可通过ALTER SYSTEM 语句进行修改。确定四个参数的值合适后,就可以起用数据库的闪回查询功能。

SQL> shutdown immediate数据库已经关闭。已经卸载数据库。
ORACLE
例程已经关闭。
SQL> startup mount
ORACLE
例程已经启动。

Total System Global Area 289406976 bytes
Fixed Size 1248600 bytes
Variable Size 125829800 bytes
Database Buffers 159383552 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
SQL> alter database flashback on;
数据库已更改。

SQL> alter database open;
数据库已更改。

闪回功能一:恢复被删数据

   如果用户数据被误删除,可以通过闪回功能进行恢复,具体功能见下例:

SQL> conn wyj/wyj@oracledb已连接。
SQL> select * from b;

ID NAME
---------- ----------
1 wyj

SQL> delete from b;
已删除 1 行。

SQL> commit;
提交完成。

SQL> select dbms_flashback.get_system_change_number from dual;

GET_SYSTEM_CHANGE_NUMBER
------------------------
1015318

SQL> select * from b as of scn 1015307;

ID NAME
---------- ----------
1 wyj

SQL> flashback table b to scn 1015307;
闪回完成。

SQL> select * from b;

ID NAME
---------- ----------
1 wyj

闪回功能二:表被删除

如果表被DROP被,这种情况在10g里也可以将其恢复。具体使用法请见下例。

SQL> select count(*) from tjcvs;

COUNT(*)
----------
49811

SQL> drop table tjcvs;
表已删除。

SQL> select count(*) from tjcvs;
select count(*) from tjcvs
*
1 行出现错误:
ORA-00942:
表或视图不存在


SQL> show recyclebin
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- ------------------------------ ------------ -------------------
TJCVS BIN$Ut8LXOW4R86USSK6HHQCBA==$0 TABLE 2007-06-20:15:29:52
SQL> flashback table tjcvs to before drop;
闪回完成。

SQL> select count(*) from tjcvs;

COUNT(*)
----------
49811

闪回功能数据字典

与闪回功能相关的静态数据字典有:USER_RECYCLEBIN,DBA_RECYCLEBIN

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/526592/viewspace-236719/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2005-08-03

  • 博文量
    88
  • 访问量
    66483