Oracle引入Flashback 获得高可用性
2007-05-09 12:13:20 来源:WEB开发网注意:在默认情况下,Oracle在时钟级别上检索SCN。当然,时钟当中的所有行都有一样的SCN。激活行级别的SCN检索,可以在CREATE TABLE命令中使用ROWDEPENDENCIES关键字。
检验重现数据库是可能的。 判断你可以重现的最早的时间。SELECT OLDEST_FLASHBACK_SCN
,to_char(OLDEST_FLASHBACK_TIME,'YYYY-MM-DD:HH24:MI:SS')
"OLDEST_FLASHBACK_TIME"
FROM V$FLASHBACK_DATABASE_LOG;
OLDEST_FLASHBACK_SCN OLDEST_FLASHBACK_TI
-------------------- -------------------
1319629 2006-09-23:19:51:56
判断你是否有重新存储点。select name, scn, time from v$restore_point;
NAME SCN TIME
---------------- ---------- ----------------------------
MY_RESTORE_POINT 1321136 23-SEP-06 08.16.24.000000000 PM
这里是一些你感兴趣的视图。
重现数据库
你可以在SQL*Plus 或者 RMAN中执行重现数据库。重现数据库可以是基于修改和重新存储点的时间。RMAN提供了额外的基于选项的日志顺序。
使用先前创建的重新存储点来重现数据库。SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
.
.
.
Database mounted.
SQL> flashback database to restore point my_restore_point;
Flashback complete.
在警告日志中检查重现数据库消息
.
.
.
Sat Sep 23 20:38:11 2006
flashback database to restore point my_restore_point
Sat Sep 23 20:38:12 2006
Flashback Restore Start
Flashback Restore Complete
Flashback Media Recovery Start
parallel recovery started with 2 processes
Sat Sep 23 20:38:14 2006
Recovery of Online Redo Log: Thread 1 Group 2 Seq 33 Reading mem 0
Mem# 0 errs 0:
C:ORACLEPRODUCT10.2.0ORADATAORCLREDO02.LOG
Sat Sep 23 20:38:16 2006
Incomplete Recovery applied until change 1321137
Flashback Media Recovery Complete
Completed: flashback database to restore point my_restore_point
验证你的数据库恢复到你想要的状态如果你不满意,你可以再次重现,把数据库向前恢复,直到或者执行了完全恢复:recover database.注意:重现数据库可以通过RESETLOGS执行。SQL> alter database open read only;
Database altered.
SQL> select c1, ora_rowscn from my_table;
C1 ORA_ROWSCN
---------- ----------
1 1321002
为一般用途打开数据库
对我们的恢复满意了之后,为了一般用途打开数据库。SQL> shutdown;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
.
.
.
Database mounted.
SQL> alter database open resetlogs;
Database altered.
结论
重现数据库将会成为我最喜欢的Oracle10g特性之一。无论你是否纠正了用户的错误,只是看看先前的数据库状态,或者在衰退测试之后回到测试环境中,这个特性都是减少恢复时间的最好策略。我们看到这项技术很容易使用,比传统的恢复更快,并且最好的是,它是免费的!我希望你也会认为重现数据库是可用性体系结构中的一项主要组件。
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
更多精彩
赞助商链接