発生するたびに調べているような気がする。。。
続きを読むlike '\_optim%' escape '\'
隠しパラメータの確認方法2のとこで like '_optim%' ってやったけど、これだと 先頭1文字がが "_" じゃないやつもヒットしちゃう。
ほんとはエスケープしてあげる必要がある。
で必要になったときのためのメモ。
タイトルのとおり。
隠しパラメータの確認方法2
隠しパラメータって V$ ビューで見えないと思ってる方も多いかもしれませんが。
設定すれば見えます。
例えば。
SQL> alter system set "_optim_peek_user_binds" = false ;
System altered.
SQL> col name for a30
SQL> col value for a10
SQL> col description for a40
SQL> select name,value,description from v$parameter where name like '_optim%'
NAME VALUE DESCRIPTION
------------------------------ ---------- ----------------------------------------
_optim_peek_user_binds FALSE enable peeking of user binds
設定されているパラメータについては、X$ ビューをみなくても、DESCRIPTION などの確認が可能です。
11.2.0.4 にて動作確認。
show parameter の裏側
show parameter に SQL TRACE をしかけてみた。
event 10046 level 12 でバインド変数もみてみた。
結果、
=====================
PARSING IN CURSOR #18446741324870934176 len=289 dep=0 uid=0 oct=3 lid=0 tim=3873769313860 hv=2462394820 ad='d3ce4140' sqlid='7cfz5wy9caaf4'
SELECT NAME NAME_COL_PLUS_SHOW_PARAM,DECODE(TYPE,1,'boolean',2,'string',3,'integer',4,'file',5,'number', 6,'big integer', 'unknown') TYPE,DISPLAY_VALUE VALUE_COL_PLUS_SHOW_PARAM FROM
V$PARAMETER WHERE UPPER(NAME) LIKE UPPER(:NMBIND_SHOW_OBJ) ORDER BY NAME_COL_PLUS_SHOW_PARAM,ROWNUM
END OF STMT
PARSE #18446741324870934176:c=616,e=616,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=1,plh=0,tim=3873769313859
:
BINDS #18446741324870934176:
Bind#0
oacdty=01 mxl=32(06) mxlc=00 mal=00 scl=00 pre=00
oacflg=20 fl2=1000000 frm=01 csi=873 siz=32 off=0
kxsbbbfp=fffffd7ffc668238 bln=32 avl=02 flg=05
value="%%"
V$PARAMETER を参照してた。
なので、V$PARAMETER から見えるパラメータは見えるし、見えないパラメータは見えない。