ニュース&ブログ
Oracle 便利SQL帖 その5現在のセッションの初期化パラメータを確認する
この記事は最終更新から8年以上経過しています。内容が古くなっている可能性があります。
投稿日:2016/8/10
V$PARAMETER
V$PARAMETERビューを確認する事で現在のセッションで有効となっている初期化パラメータの値を確認する事が出来ます。
V$PARAMETERビューの説明
ここではV$PARAMETERビューの主要な項目を記載します。
列 | 説明 | |
1 | NAME | パラメータ名 |
2 | VALUE | パラメータの値 |
3 | DISPLAY_VALUE | パラメータの値を見やすいフォーマットで表示 |
4 | ISDEFAULT | デフォルト値が設定されているかどうか (TRUE:デフォルト値、FALSE:デフォルト値ではない) |
5 | ISSES_MODIFIABLE | ALTER SESSIONで変更できるパラメータかどうか (TRUE:変更できる、FALSE:変更できない。) |
6 | ISSYS_MODIFIABLE | ALTER SYSTEMで変更できるパラメータかどうか。また変更できる場合、そのパラメータが有効になる時期。 ・IMMEDIATE ALTER SYSTEMで即時に変更結果の有効化が可能。 ・DEFERRED ALTER SYSTEMで変更可能だが、以降のセッションで変更結果が有効となる。 ・FALSE ALTER SYSTEMでサーバパラメータファイルの変更を行い、変更結果を反映する為に再起度が必要。 |
7 | DEFERRED | パラメータの説明 |
実行例
V$PARAMETERビューを使って、現在のセッションで有効になっているパラメータを確認します。
【SQL】set lines 200
set pages 9999
col name for a30
col value for a30
col display_value for a30
col description for a70
select
name,
value,
display_value,
isdefault,
isses_modifiable,
issys_modifiable,
description
from v$parameter;
【実行結果】
NAME VALUE DISPLAY_VALUE ISDEFAULT ISSES ISSYS_MOD DESCRIPTION
------------------------------ ------------------------------ ------------------------------ --------- ----- --------- ----------------------------------------------------------------------
processes 150 150 FALSE FALSE FALSE user processes
sessions 248 248 TRUE FALSE FALSE user and system sessions
timed_statistics TRUE TRUE TRUE TRUE IMMEDIATE maintain internal timing statistics
timed_os_statistics 0 0 TRUE TRUE IMMEDIATE internal os statistic gathering interval in seconds
resource_limit FALSE FALSE TRUE FALSE IMMEDIATE master switch for resource limit
license_max_sessions 0 0 TRUE FALSE IMMEDIATE maximum number of non-system user sessions allowed
license_sessions_warning 0 0 TRUE FALSE IMMEDIATE warning level for number of non-system user sessions
cpu_count 4 4 TRUE FALSE IMMEDIATE number of CPUs for this instance
この例ではprocessの値は150となっており、ISDEFAULTが「FALSE」の為、デフォルトの値でない事を確認できます。また、ISSES_MODIFIABLEが「FALSE」の為、ALTER SESSION分では変更が行えず、ISSYS_MODIFIABLEも「FALSE」の為、この値を変更する場合にはALTER SYSTEM分でサーバパラメータファイルの変更を行い、再起動が必要である事が確認できます。
コラム V$PARAMETER2
現在のパラメータの値を確認するのに。V$PARAMETER2の利用も可能です。内容はほぼ、V$PARAMETERと変わりませんが、V$PARAMETER2はパラメータの値でいくつかの値がリストされているようなパラメータに関して1行ずつで出力すると言う特徴があります。
SQL> select
2 name,
3 value
4 from
5 v$parameter
6 where
7 name = 'control_files';
NAME VALUE
------------------------------ ------------------------------
control_files C:\APP\XXXXXX\ORADATA\ORC
L01\CONTROL01.CTL, C:\APP\\XXXXXX
\ORADATA\ORCL01\CONTROL
02.CTL
上記の通り、V$PARAMETERで「control_files」パラメータを調べると、2つの制御ファイルが、「,」区切りで、1つのカラム内に出力されている事が分かります。しかし、V$PARAMETER2の場合には、別々の行に表示されます。
SQL> select
2 name,
3 value
4 from
5 v$parameter2
6 where
7 name = 'control_files';
NAME VALUE
------------------------------ ------------------------------
control_files C:\APP\XXXXXX\ORADATA\ORC
L01\CONTROL01.CTL
control_files C:\APP\XXXXX\ORADATA\ORC
L01\CONTROL02.CTL
必要に応じて使い分けてみてください。