关于Flashback的小测试

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

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

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

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

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

这个问题,自己在以前的博客也讨论过
http://blog.itpub.net/23718752/viewspace-1700615/
当然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.

目录
相关文章
|
SQL Oracle 关系型数据库
[20120813]11GR2下flashback data archive的测试.txt
[20120813]11GR2下flashback data archive的测试.txt        oracle 11GR2有一个新特性,就是flashback data archive,就是通过一个表空间记录表的一些变化,查询历史数据.
757 0
|
23天前
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。
|
23天前
|
存储 测试技术 数据库
接口测试工具攻略:轻松掌握测试技巧
在互联网快速发展的今天,软件系统的复杂性不断增加,接口测试工具成为确保系统稳定性的关键。它如同“翻译官”,模拟请求、解析响应、验证结果、测试性能并支持自动化测试,确保不同系统间信息传递的准确性和完整性。通过Apifox等工具,设计和执行测试用例更加便捷高效。接口测试是保障系统稳定运行的第一道防线。
|
23天前
|
Web App开发 JSON 测试技术
API测试工具集合:让接口测试更简单高效
在当今软件开发领域,接口测试工具如Postman、Apifox、Swagger等成为确保API正确性、性能和可靠性的关键。Postman全球闻名但高级功能需付费,Apifox则集成了API文档、调试、Mock与自动化测试,简化工作流并提高团队协作效率,特别适合国内用户。Swagger自动生成文档,YApi开源但功能逐渐落后,Insomnia界面简洁却缺乏团队协作支持,Paw仅限Mac系统。综合来看,Apifox是国内用户的理想选择,提供中文界面和免费高效的功能。
|
2月前
|
监控 JavaScript 测试技术
postman接口测试工具详解
Postman是一个功能强大且易于使用的API测试工具。通过详细的介绍和实际示例,本文展示了Postman在API测试中的各种应用。无论是简单的请求发送,还是复杂的自动化测试和持续集成,Postman都提供了丰富的功能来满足用户的需求。希望本文能帮助您更好地理解和使用Postman,提高API测试的效率和质量。
125 11
|
3月前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
90 3
|
4月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
107 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
5月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
303 7
Jmeter实现WebSocket协议的接口测试方法
|
5月前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
319 3
快速上手|HTTP 接口功能自动化测试
|
5月前
|
JavaScript 前端开发 测试技术
ChatGPT与接口测试
ChatGPT与接口测试,测试通过
71 5