oracle隐含参数的查看与修改

简介:

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

2.  如果想查询某一个具体的隐含参数的值,只需要在上面原基础上加上 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

3.   修改隐含参数方法:

这里列举一个修改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;

文章可以转载,必须以链接形式标明出处。


本文转自 张冲andy 博客园博客,原文链接:http://www.cnblogs.com/andy6/p/6444376.html    ,如需转载请自行联系原作者

相关文章
|
SQL 运维 Oracle
Oracle 超时设置2:设置实例级参数
Oracle超时设置系列的第二篇文章,设置实例级参数
489 0
|
29天前
|
存储 SQL Oracle
【Oracle】玩转Oracle数据库(二):体系结构、存储结构与各类参数
【Oracle】玩转Oracle数据库(二):体系结构、存储结构与各类参数
42 7
|
4月前
|
SQL Oracle 关系型数据库
oracle查询数据库参数sql语句
oracle查询数据库参数sql语句
|
12月前
|
Oracle 关系型数据库
|
12月前
|
缓存 Oracle 关系型数据库
Oracle中控制commit的三个参数 commit_write, commit_logging和 commit_wait
Oracle中控制commit的动作有三个参数 commit_write, commit_logging和 commit_wait,按重要性分别说明如下
142 0
|
12月前
|
Oracle 前端开发 关系型数据库
使用隐含参数_disable_logging分析oracle写redo logfile的性能
oracle有一个隐含参数_disable_logging可以禁止日志的生成,这个参数当然不能在生产库使用,但我们可以将其因为与测试,例如,如果我们怀疑数据库写redo logfile存在性能问题,我们可以将这个参数设置为true,禁止写日志,看看oracle的性能提高了多少。
|
12月前
|
Oracle 关系型数据库
Oracle中filesystemio_options 和 disk_asynch_io 参数的设置
参考文档Doc ID 1987437.1 filesystemio_options参数,中间是这个参数的配置值。
174 0
|
Oracle 关系型数据库 数据挖掘
|
存储 Oracle 关系型数据库
MySQL数据库: 添加列、修改列、删除列、修改列属性、修改表名(包括MySQL、SQLServer、Oracle)
MySQL数据库: 添加列、修改列、删除列、修改列属性、修改表名(包括MySQL、SQLServer、Oracle)
407 0
MySQL数据库: 添加列、修改列、删除列、修改列属性、修改表名(包括MySQL、SQLServer、Oracle)
|
Oracle 算法 关系型数据库
Oracle如何修改数据库的DBID和DBNAME?
Oracle如何修改数据库的DBID和DBNAME?
322 0