こんにちは!土門大貴(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;
システムが変更されました。
Oracleの基本 ~データベース入門から設計/運用の初歩までposted with ヨメレバ
渡部 亮太,相川 潔,日比野 峻佑,岡野 平八郎,宮川 大地 技術評論社 2017-09-22