实验隐藏参数"_allow_resetlogs_corruption"的使用
实验环境:OEL 5.7 + Oracle 10.2.0.5
Tips:该参数仅在特殊恢复场景下使用,需要在专业Oracle工程师指导下进行操作。
1.隐藏参数说明
查询隐藏参数"_allow_resetlogs_corruption"及说明:
set linesize 333
col name for a35
col description for a66
col value for a30
SELECT i.ksppinm name,
i.ksppdesc description,
CV.ksppstvl VALUE
FROM sys.x$ksppi i, sys.x$ksppcv CV
WHERE i.inst_id = USERENV ('Instance')
AND CV.inst_id = USERENV ('Instance')
AND i.indx = CV.indx
AND i.ksppinm LIKE '%&keyword%'
ORDER BY 1;
Enter value for keyword: allow_resetlog
old 8: AND i.ksppinm LIKE '%&keyword%'
new 8: AND i.ksppinm LIKE '%allow_resetlog%'
NAME DESCRIPTION VALUE
----------------------------------- ------------------------------------------------------------------ ------------------------------
_allow_resetlogs_corruption allow resetlogs even if it will cause corruption FALSE
通过这个隐藏参数非常规恢复的库,原则建议还是要重建库的。其实在alert日志中也会看到有这样的建议:
Wed Dec 26 00:00:41 CST 2018
alter database open resetlogs
Wed Dec 26 00:00:41 CST 2018
RESETLOGS is being done without consistancy checks. This may result
in a corrupted database. The database should be recreated.
2.故障场景再现
模拟常规开库失败的场景:
SQL> select checkpoint_change# from v$datafile_header;
CHECKPOINT_CHANGE#
------------------
10013731555
10014045643
10014045643
10014045643
10014045643
10014045643
10014045643
10014045643
10014045643
9 rows selected.
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: '+ZHAOJINGYU/jy/datafile/system.256.839673875'
说明:这个环境是模拟数据文件1丢失,最终从备份restore出来一个旧的文件,但由于种种原因,总之没有后续的归档去做recover,导致无法追平。
此时就可尝试使用_allow_resetlogs_corruption隐藏参数强制开库:
SQL> alter system set "_allow_resetlogs_corruption" = true scope=spfile;
SQL> shutdown immediate
SQL> startup mount
SQL> alter database open resetlogs;
此时再去查询数据文件头的SCN已经一致:
SQL> select checkpoint_change# from v$datafile_header;
CHECKPOINT_CHANGE#
--------------------
10014022016
10014022016
10014022016
10014022016
10014022016
10014022016
10014022016
10014022016
10014022016
9 rows selected.
注意处理完毕后及时改回这个隐藏参数为false:
alter system set "_allow_resetlogs_corruption" = false scope=spfile;
其他注意事项:如果开库遇到ORA-600 [2662]类错误,可以参考之前随笔:
最终通过推进SCN的手段来解决ORA-600 [2662]类问题。
其实这个场景其实可能会遇到各种问题,都属于非常规恢复范畴,后续我会计划去继续测试验证一些常见场景及解决方案。
实验隐藏参数"_allow_resetlogs_corruption"的使用的更多相关文章
- Delphi 中的 procedure of object (类方法存在一个隐藏参数self),简单深刻 good
其实要了解这些东西,适当的学些反汇编,WINDOWS内存管理机制,PE结构,看下李维的VCL架构剖析可以很好理解type TMyEvent = procedure of object;这是一种数据类型 ...
- Delphi函数指针的两种定义(对象方法存在一个隐藏参数self,所以不能相互赋值)
delphi中经常见到以下两种定义 Type TMouseProc = procedure (X,Y:integer); TMouseEvent = procedure (X,Y:integer) o ...
- oracle 查看隐藏参数
隐藏参数 (hidden parameters) ,由oracle内部使用,以 '_' 开头. 可以通过以下两种方式查看所有隐藏参数: SELECT i.ksppinm name, i.ksppd ...
- ORACLE隐藏参数查看及修改
查看隐藏参数 select x.ksppinm name, y.ksppstvl value, y.ksppstdf isdefault, decode(bitand(y.ksppstvf,7),1, ...
- 用超链接提交表单,实现在动态网页的url中隐藏参数
动态网页中怎么隐藏url参数传递 我们在做动态网站的时候往往会在各个页面之间传递参数,而这些参数的名称和值都会在url地址栏中被暴露出来,这样一方面不安全,另一方面也不便于搜索引擎的收录,有的时候还有 ...
- jsp取addFlashAttribute值深入理解即springMVC发redirect传隐藏参数
结论:两种方式 a.如果没有进行action转发,在页面中el需要${sessionScope['org.springframework.web.servlet.support.SessionFlas ...
- 极端恢复时用到的几个隐藏参数 Oracle hidden corruption recovery parameters
Oracle hidden corruption recovery parameters Note: Oracle hidden parameters are undocumented and uns ...
- Oracle11g版本中未归档隐藏参数
In this post, I will give a list of all undocumented parameters in Oracle 11g. Here is a query to se ...
- Android之Monkey全参数(包含隐藏参数)
http://blog.csdn.net/jlminghui/article/details/38238443 参数如下: 注意:以下例子中命令均为Windows cmd命令窗口运行环境,往外官网列出 ...
随机推荐
- Java多线程系列——计数器 CountDownLatch
简介: CountDownLatch 是一个非常实用的多线程控制工具类,通常用来控制线程的等待,它可以让某个线程等待直到倒计时结束 CountDownLatch 提供了两个主要的方法,await(). ...
- go语言调用append之后是否重新分配内存?
查看tidb源代码:::util/charset/charset.go,下面有段代码: // GetAllCharsets gets all charset descriptions in the l ...
- webstrom IDE 激活
2017.2.27更新 选择“license server” 输入:http://idea.imsxm.com/ 2016.2.2 版本的破解方式: 安装以后,打开软件会弹出一个对话框:选择“lice ...
- 【BZOJ4025】二分图
Description 神犇有一个n个节点的图.由于神犇是神犇,所以在T时间内一些边会出现后消失.神犇要求出每一时间段内这个图是否是二分图.这么简单的问题神犇当然会做了,于是他想考考你. Input ...
- python 解除装饰器,调用原本函数。
假设fun函数被装饰器装饰了,name调用fun,就不是调用fun本身了,那么如何继续调用本身呢.使用fun_raw = fun.__wrapped__这样使用fun_raw就是调用没被装饰器修饰后的 ...
- Mock an function to modify partial return value by special arguments on Python
Mock an function to modify partial return value by special arguments on Python python mock一个带参数的方法,修 ...
- Java设计模式系列之装饰者模式
装饰者模式的定义 动态地将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案 装饰者模式的UML类图 一般来说装饰者模式有下面几个参与者: Component:装饰者和被装饰者共同 ...
- 半深入理解CSS3 object-position/object-fit属性
半深入理解CSS3 object-position/object-fit属性 转载:https://www.zhangxinxu.com/wordpress/2015/03/css3-object-p ...
- windows修改PowerShell(命令提示符)默认中文编码方式
如果以下方法都没有作用的话,可以直接在代码中调用<stdlib.h>中的system("mode con cp select=65001")或者是system(&quo ...
- Nest.js 拦截器
Docs: https://docs.nestjs.com/interceptors 该对象包含从路由处理程序返回的值 在方法执行之前/之后绑定额外的逻辑 转换函数返回的结果 转换从函数抛出的异常 / ...