OracleDB

[Oracle] 隠しパラメーター確認方法と変更手順

こんにちは!土門大貴(daikidomon)です。

Oracle Databaseの隠しパラメータの確認方法と変更方法を紹介したいと思います。

隠しパラメータは通常方法「show parameter」や「v$parameter」では確認することが出来ません。

また変更時もちょっとしてコツがあるので、この記事を活用してみてください。

隠しパラメータの表示

以下のSQLで隠しパラメータを表示することが出来ます。
set line 1000
set pagesize 100
col NAME for a40
col VALUE for a40
col DESCRIPTION for a120
select
a.KSPPINM AS PARAMETER,
b.KSPPSTVL AS VALUE,
a.KSPPDESC AS DESCRIPTION
from X$KSPPI a,
X$KSPPCV b
where a.INDX = b.indx
and a.KSPPINM like '<パラメータ名>';
今回は列に別名を付けています。

  • PARAMETER:隠しパラメータ名
  • VALUE:設定値
  • DESCRIPTION:隠しパラメータの内容

以下、実行例になります。

SQL> set line 1000
SQL> set pagesize 100
SQL> col PARAMETER for a40
SQL> col VALUE for a20
SQL> col DESCRIPTION for a60
SQL> select
2 a.KSPPINM AS PARAMETER,
3 b.KSPPSTVL AS VALUE,
4 a.KSPPDESC AS DESCRIPTION
5 from X$KSPPI a,
6 X$KSPPCV b
7 where a.INDX = b.indx
8 and a.KSPPINM like '_optim_peek_user_binds';

PARAMETER VALUE DESCRIPTION
---------------------------------------- -------------------- ------------------------------------------------------------
_optim_peek_user_binds TRUE enable peeking of user binds
上記の例では、「_optim_peek_user_binds」の設定は「TRUE」になっています。

隠しパラメータの変更:alter system

隠しパラメータを変更するには「alter system」文で行います。
alter system set "<隠しパラメータ>" = TRUE scope = <MEMORY / SPFILE / BOTH> ;
隠しパラメータを変更するには「ダブルクォーテーション」で括らないといけないので注意してください。

SQL> alter system set "_optim_peek_user_binds" = TRUE scope = both;

システムが変更されました。
 

関連記事

-OracleDB

Copyright© スタートアップIT企業社長のブログ , 2020 All Rights Reserved.