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不一样。


总结

以上就是本文的全部内容。希望本文的内容对大家的学习或工作有一定的参考价值。如果有任何疑问,可以留言交流,谢谢您的支持。