加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flashback Database 闪回数据库

发布时间:2020-12-15 18:38:03 所属栏目:百科 来源:网络整理
导读:条件: 1、必须处于归档模式 SQL archive loglist 数据库日志模式??????????? 存档模式 自动存档???????????? 启用 存档终点??????????? USE_DB_RECOVERY_FILE_DEST 最早的联机日志序列???? 119 下一个存档日志序列?? 121 当前日志序列?????????? 121 SQL ?

条件:

1、必须处于归档模式

SQL> archive loglist

数据库日志模式??????????? 存档模式

自动存档???????????? 启用

存档终点??????????? USE_DB_RECOVERY_FILE_DEST

最早的联机日志序列???? 119

下一个存档日志序列?? 121

当前日志序列?????????? 121

SQL>

?

2、数据库必须指定了Flash Recovery Area

初始化参数:

Db_recovery_file_dest:指定FRA的存储路径,可以是文件系统、asm磁盘组,但是不能是裸设备。

如果是rac结构,建议将FRA置于共享存储中。

Db_recovery_file_dest_size:指定FRA最大可用空间。

?

SQL> showparameter db_recovery_file_dest

?

NAME???????????????????????????????? TYPE??????? VALUE

----------------------------------------------- ------------------------------

db_recovery_file_dest??????????????? string????? D:oracleproduct10.2.0flash

????????????????????????????????????????????????_recovery_area

db_recovery_file_dest_size?????????? big integer 5000M

SQL>

?

3、数据库必须启动flashback database

SQL> selectflashback_on from v$database;

?

FLASHBACK_ON

------------------

NO

?

SQL> alterdatabase flashback on;

alter databaseflashback on

*

第 1 行出现错误:

ORA-38759:数据库必须仅由一个实例装载并且不能打开。

?

?

SQL> shutdownimmediate;

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> startupmount;

ORACLE 例程已经启动。

?

Total System GlobalArea? 612368384 bytes

Fixed Size????????????????? 1250428 bytes

Variable Size???????????? 260049796 bytes

Database Buffers????????? 343932928 bytes

Redo Buffers??????????????? 7135232 bytes

数据库装载完毕。

SQL> alterdatabase flashback on;

?

数据库已更改。

?

SQL> selectflashback_on from v$database;

?

FLASHBACK_ON

------------------

YES

?

SQL>

?

4、参数db_flashback_retention_target:flashbacklog数据保留的时间。

SQL> showparameter db_flashback_retention_target;

?

NAME???????????????????????????????? TYPE??????? VALUE

----------------------------------------------- -----------------

db_flashback_retention_target???????integer??? ?1440 ====>单位是minute,即24小时

SQL>

该参数未直接指定flashrecovery area大小,但是受其约束。

如:库每天10%数据变动,设置为1440,则flash recovery area 要当前库实际容量的10%;设置为2880,则flashrecovery area 要当前库实际容量的20%;

?

5、启用force logging:强制所有操作均写入重做日志,否则对于nologging方式下插入的数据可能无法用flashbackdatabase恢复。

?

SQL> selectforce_logging from v$database;

?

FOR

---

NO

?

SQL> alterdatabase force logging;

?

数据库已更改。

?

SQL> alterdatabase no force logging;

?

数据库已更改。

?

?

Flashback database制约因素:

1、它用来讲数据库中的数据恢复到之前的某个时间点,而非介质恢复,因此不能用来恢复之前被删除的数据文件。

2、如果控制文件被重建,则在此之前所产生的所有flashback logs都失效,也就是不能讲flashback database 恢复到控制文件被重建之前。

3、不支持对数据库执行过shrin(收缩)操作后的恢复。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读