oracle参数设置教程的设置和重置的一个实际案例
本文主要介绍oracle参数设置和重置的相关内容,供大家参考。
环境:Oracle RAC 10.2.0.5
要求:1节点的aq_tm_processes需要默认的恢复,和节点2设置不变
背景:
The aq_tm_processes parameter can be checked from the 10.2 official file, and the default value of the parameter is 0, which we call it the default 0..
然后,事实上,我们发现默认的0和我们手动设置其设置为0,效果是完全不同的。
与同事沟通并最终学习技术细节:
在oracle中,使用set设置参数值实际上做了很多事情。如果要恢复Oracle的默认值,最有效的方法是重置值,以便一切都符合Oracle的默认设计。
对于目前的情况,如果你设置的参数aq_tm_processes 0。,它是从原始的默认0完全不同。
如果它被设置为0,所有q00苦力的过程将不会开始。如果默认是0,可以启动进程小q00。
1。构建测试环境
目前,生产参数的内容与此类似,有一个全局设置,有一个实例1设置,如下所示:
aq_tm_processes = 1 *。
JY1 aq_tm_processes = 0。
我们知道一个实例的设置优先级是高的,也就是说,这个设置的效果是1,参数是0,实例2是1…
即:例1无法启动q00的小程序,对2例可以开始小q00过程。
建筑试验环境模拟生产:
aq_tm_processes 1第一集:
改变系统设置aq_tm_processes = 1范围=两SID =*;
——创建pfile = / / pfile11 TMP ora'from数据库;
此时将在参数文件中设置这样的设置:
aq_tm_processes = 1 *。
该实例1 aq_tm_processes设置为0
改变系统设置aq_tm_processes = 0 =都= 'jy1 SID的范围;
——创建pfile = / / pfile12 TMP ora'from数据库;
此时将在参数文件中设置这样的设置:
aq_tm_processes = 1 *。
JY1 aq_tm_processes = 0。
此时,对生产环境的状态进行了模拟:
SQL >
SQL >改变系统设置aq_tm_processes范围=两SID = * = 1;
系统的改变。
SQL >创建pfile = / / pfile11 TMP ora'from数据库;
文件创建。
显示参数
名称类型值
-----------------------------------------------------------------------------
aq_tm_processes整数1
SQL >!PS - EF | grep q00
Oracle 1462273850 15:27分 / / / 1 00:00:00 bin bash C PS EF | grep q00
Oracle 146414620 15:27分 / 1 00:00:00 grep q00
Oracle 2653410 00:00:00 ora_q002_jy1 15:08
Oracle 3153810 ora_q000_jy1 15:21 00:00:00
SQL >
SQL >改变系统设置aq_tm_processes范围=两SID = 'jy1 ' = 0;
系统的改变。
SQL >创建pfile = / / pfile12 TMP ora'from数据库;
文件创建。
显示参数
名称类型值
-----------------------------------------------------------------------------
aq_tm_processes整数0
SQL >!PS - EF | grep q00
Oracle 2044273850 15:28 PTS / / / 1 00:00:00 bin bash C PS EF | grep q00
Oracle 204620440 15:28 PTS / 1 00:00:00 grep q00
SQL >
你可以看到,q00过程设定后0消失,即使实例重新启动的过程,将不再启动q00。
2。测试方案
我们现在要做的是确保节点1的aq_tm_processes恢复到默认设置不改变节点2。
2.1尝试直接重置参数来指定节点1,然后重新启动验证
改变系统复位aq_tm_processes范围为'jy1的SID = =;
创建pfile = / / pfile13 TMP ora'from数据库;
重新启动节点1验证你确定你能满足需要吗
实际操作如下:
警告:改变系统复位aq_tm_processes范围为'jy1的SID = =;
系统的改变。
SQL >创建pfile = / / pfile13 TMP ora'from数据库;
文件创建。
显示参数
名称类型值
-----------------------------------------------------------------------------
aq_tm_processes整数0
SQL >!PS - EF | grep q00
Oracle 3801273850 15:32 PTS / / / 1 00:00:00 bin bash C PS EF | grep q00
Oracle 380338010 15:32 PTS / 1 00:00:00 grep q00
启动力
Oracle实例开始。
系统全局区域599785472字节
固定大小2098112字节
可变大小301993024字节
数据库缓冲289406976字节
重做缓冲区6287360字节
数据库安装。
打开数据库。
显示参数
名称类型值
-----------------------------------------------------------------------------
aq_tm_processes整数1
SQL >!PS - EF | grep q00
Oracle 422810 00:00:00 ora_q000_jy1 15:33
Oracle 423210 00:00:00 ora_q002_jy1 15:33
Oracle 5021273850 15:35分 / / / 1 00:00:00 bin bash C PS EF | grep q00
Oracle在15:35分502350210 / 1 00:00:00 grep q00
SQL >
正如你所看到的,答案是明确的:不,不。
因为这只会以实例1参数复位,但由于全球参数*之前,重新启动实例1,我们会发现,aq_tm_processes参数将1。
也就是说,对于实例1的设置,它自然会遵循整个设置。
2.2正确的实验方法
有了上述基础,就有了实现需求的途径。
我们假设,如果全局参数也被重置,它将影响节点2之前的设置,所以我们只能单独设置节点2的值,然后重置全局参数。
改变系统设置aq_tm_processes = 1 =都= 'jy2 SID的范围;
——创建pfile = / / pfile14 TMP ora'from数据库;
改变系统复位aq_tm_processes范围=为SID =*;
——创建pfile = / / pfile15 TMP ora'from数据库;
重新启动节点1验证你确定你能满足需要吗
实际操作如下:
SQL >改变系统设置aq_tm_processes范围=两SID = 'jy2 ' = 1;
系统的改变。
SQL >创建pfile = / / pfile14 TMP ora'from数据库;
文件创建。
警告:改变系统复位aq_tm_processes范围=为SID =*;
系统的改变。
SQL >创建pfile = / / pfile15 TMP ora'from数据库;
文件创建。
启动力
Oracle实例开始。
系统全局区域599785472字节
固定大小2098112字节
可变大小301993024字节
数据库缓冲289406976字节
重做缓冲区6287360字节
数据库安装。
打开数据库。
显示参数
名称类型值
-----------------------------------------------------------------------------
aq_tm_processes整数0
SQL >!PS - EF | grep q00
Oracle 744611 ora_q000_jy1 15:40 00:00:00
Oracle 744810 ora_q001_jy1 15:40 00:00:00
Oracle 745010 ora_q002_jy1 15:40 00:00:00
Oracle 745210 ora_q003_jy1 15:40 00:00:00
Oracle 7480273850 15:41 PTS / / / 1 00:00:00 bin bash C PS EF | grep q00
Oracle 748274800 15:41 PTS / 1 00:00:00 grep q00
SQL >
如您所见,实际操作测试验证的答案与预期一致:是的。
注:所有的步骤创建pfile可以删除。操作被添加到每个步骤,以证实该理论的正确性。
三.总结
然后总结,在客户环境的实际情况下,是完成以下三个步骤来完成需求:
-安全节点2的设置不变。
改变系统设置aq_tm_processes = 1 = = 'jy2范围为SID;
重置节点1的设置
改变系统复位aq_tm_processes范围为'jy1的SID = =;
——重置全局设置
改变系统复位aq_tm_processes范围=为SID =*;
本文的知识点概括起来:事实上,只有以下3个知识点清晰可见。
复位操作实际上是从二进制文件只是删除值;
在实例级别设置优先级高于整个设置。
注意Oracle在设置参数值上做的很少,而简单的理解是默认0与设置0不一样。
总结
以上就是本文的全部内容。希望本文的内容对大家的学习或工作有一定的参考价值。如果有任何疑问,可以留言交流,谢谢您的支持。