前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于Flashback的小测试(r10笔记第15天)

关于Flashback的小测试(r10笔记第15天)

作者头像
jeanron100
发布2018-03-19 17:41:51
6740
发布2018-03-19 17:41:51
举报

对于Oracle的Flashback来说,在11g里面有了一个很细微的变化,可以说是一个很不错的福利,那就是开启闪回不需要重启数据库至mount状态下,归档模式下open状态就可以开启,关闭。

但是有一点自己也记不太清楚了,那就是有时候数据库开启/关闭很容易,有的时候却需要额外花点功夫。今天索性花了点时间理了理。

查看是否开启闪回数据库,可以简单使用下面的方式。

代码语言:javascript
复制
SQL> select database_role,flashback_on from v$database;
DATABASE_ROLE                    FLASHBACK_ON
-------------------------------- ------------------------------------
PHYSICAL STANDBY                 YES

如果要关闭,就需要一个命令即可。 SQL> alter database flashback off; Database altered. 我在备库上测试的情况如下:

在open状态下,尝试开启抛出了ORA-00153的错误。 SQL> alter database flashback on; alter database flashback on * ERROR at line 1: ORA-01153: an incompatible media recovery is active 隐隐记得在有些数据库中是可以直接开启的,为什么在这个环境就不行了?

难道是闪回区设置有问题? 查看闪回区的使用率,可以看到闪回区是没有问题的。 SQL> select * from v$flash_recovery_area_usage FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES -------------------- ------------------ ------------------------- --------------- CONTROL FILE 0 0 0 REDO LOG 1.71 0 7 ARCHIVED LOG 5.19 0 38 BACKUP PIECE 0 0 0 IMAGE COPY 0 0 0 FLASHBACK LOG 0 0 0 FOREIGN ARCHIVED LOG 0 0 0 不大确定,查看了下MetaLink,找到一篇文档的说明。 ORA-1153 trying to turn on Flashback for Physical Standby Database (Doc ID 1286863.1) Solution如下 In order to enable the flashback, the recovery has to be stopped. You can use the following command to stop the recovery on standby database SQL> alter database recover managed standby database cancel; - Enable Flashback : SQL> alter database flashback on; - Start the managed recovery again SQL> alter database recover managed standby database disconnect from session; 当然在操作的时候,发现日志中竟然抛出了Kernel相关的小错误。 Managed Standby Recovery not using Real Time Apply Parallel Media Recovery started with 64 slaves Wed Sep 07 10:29:01 2016 Errors in file /U01/app/oracle/diag/rdbms/snewtest2/newtest2/trace/newtest2_pr03_67053.trc: ORA-27090: Unable to reserve kernel resources for asynchronous disk I/O Additional information: 3 Additional information: 128 Additional information: 166023704 Warning: recovery process PR03 cannot use async I/O

这个问题,自己在以前的博客也讨论过:关于aio设置的讨论 当然Oracle有下面的链接可供参考,对于内核参数的设置还是有一些很详细的建议。 Oracle Validated Configuration: http://linux.oracle.com/pls/apex/f?p=102:2:2007385298933639::NO::P2_VC_ID:426 比如文档中的建议为: fs.aio-max-nr= 3145728 当然我们可以查看当前系统的aio配置情况。 [oracle@snewtest2 trace]$ cat /proc/sys/fs/aio-max-nr 65536 修改这个内核参数的设置,即可生效,这个问题就引刃而解了。 sysctl -w fs.aio-max-nr=3145728

当然关于aio的设置,想了解更多,可以参考。

https://www.pythian.com/blog/troubleshooting-ora-27090-async-io-errors/

而为什么Flashback on,off在有些数据库可以很轻松的使用呢,发现对于主库可以随意切换,对于备库需要先停止应用日志,开启Flashback database,再继续开启日志应用。 SQL> alter database flashback off; Database altered. SQL> alter database flashback on; Database altered.

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-09-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 杨建荣的学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档