oracle隐含参数的查看与修改

2025-05-24Oracle / RAC

v$parameter视图中查询参数的时候其实都是通过x$ksppi和x$ksppcv这两个内部视图中得到的。

  1. 可以通过如下方式查询当前实例的所有隐含参数:

col name for a30;

col value for a10;

select

x.ksppinm name,

y.ksppstvl value,

y.ksppstdf isdefault,

decode(bitand(y.ksppstvf,7),1,'MODIFIED',4,'SYSTEM_MOD','FALSE') ismod,

decode(bitand(y.ksppstvf,2),2,'TRUE','FALSE') isadj

from

sys.x$ksppi x,

sys.x$ksppcv y

where

x.inst_id = userenv('Instance') and

y.inst_id = userenv('Instance') and

x.indx = y.indx

order by

translate(x.ksppinm, ' _', ' ')

/

查询结果部分截图:

NAME VALUE ISDEFAULT ISMOD ISADJ

—————————— ———- ——— ———- —–

_xsolapi_use_olap_dml TRUE TRUE FALSE FALSE

_xsolapi_use_olap_dml_for_rank TRUE TRUE FALSE FALSE

_xtbuffer_size 0 TRUE FALSE FALSE

  1. 如果想查询某一个具体的隐含参数的值,只需要在上面原基础上加上 and x.ksppinm ='XXXXX' 过滤。

例如查询 _gc_undo_affinity 。

col name for a30;

col value for a10;

select

x.ksppinm name,

y.ksppstvl value,

y.ksppstdf isdefault,

decode(bitand(y.ksppstvf,7),1,'MODIFIED',4,'SYSTEM_MOD','FALSE') ismod,

decode(bitand(y.ksppstvf,2),2,'TRUE','FALSE') isadj

from

sys.x$ksppi x,

sys.x$ksppcv y

where

x.inst_id = userenv('Instance') and

y.inst_id = userenv('Instance') and

x.indx = y.indx and x.ksppinm ='_gc_undo_affinity'

order by

translate(x.ksppinm, ' _', ' ')

/

NAME VALUE ISDEFAULT ISMOD ISADJ

—————————— ———- ——— ———- —–

_gc_undo_affinity TRUE TRUE FALSE FALSE

  1. 修改隐含参数方法:

这里列举一个修改DRM (有bug,易导致RAC 实例崩溃)隐含参数的例子。不同隐含参数的修改不同,具体需查看文档。

方法一:(可以重启的改法)

3.1 查看此隐含参数的值。 (这里不贴代码,请参照上面自行执行)

3.2 修改隐含参数的值。

SQL> alter system set "_gc_policy_time"=0 scope=spfile sid='*';

System altered.

SQL> alter system set "_gc_undo_affinity"=false scope=spfile sid='*';

System altered.

3.3 改完了之后,需要重启生效,查看。

方法二 (不能重启)

如果暂时无法重启实例,可以使用如下命令“事实上”禁用DRM:(以下两个参数可以动态调整)

alter system set "_gc_affinity_limit"=10000000;

alter system set "_gc_affinity_minimum"=10000000; oracle性能优化好文要顶关注我收藏该文![1756815119239-b023be82-5948-4a9e-94d5-3d8a3a178e97.png](#)![1756815119303-d6dcf1b5-c1af-4072-b371-9d2ce37b4afc.png](#)![1756815119358-57a51125-5ddf-4bd8-a41a-2e21913a8ed6.jpg](http://home.cnblogs.com/u/andy6/)张冲andy

关注 – 24

粉丝 – 15+加关注00« 三种 Failover 之 Client-Side Connect time Failover、Client-Side TAF、Service-Side TAF

» 最常见的5个导致 RAC 实例崩溃的问题

posted on 2017-02-26 14:27 张冲andy 阅读(622) 评论(0) 编辑 收藏