- V$PARAMETER の ISDEFAULT 列から判断可能。
- ISDEFAULT 列の値が TRUE なら デフォルト値(または init.ora , spfile に指定されていない)
- FALSE なら 任意に指定した値
試しに db_writer_processes を変更してみる。
SQL> -- 変更前のパラメータ値確認
show parameter db_writer_processes;SQL>
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_writer_processes integer 1
SQL> -- 変更前、デフォルト値か否かを確認
set lines 120 pages 1000
col name format a35
col value format a25
col isdefault format a9
col default_value format a25
select
name,
value,
isdefault,
default_value
from v$parameter
where name = 'db_writer_processes';SQL> SQL> SQL> SQL> SQL> SQL> SQL> 2 3 4 5 6 7
NAME VALUE ISDEFAULT DEFAULT_VALUE
----------------------------------- ------------------------- --------- -------------------------
db_writer_processes 1 ★TRUE★ 0
# ISDEFAULT 列が TRUE なので現在デフォルト値、またはspfileに指定されていない値となっている。
SQL> -- パラメータ値変更
alter system set db_writer_processes = 3 scope = spfile;SQL>
システムが変更されました。
SQL> -- DB 再起動
shutdown immediateSQL>
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
SQL> startup
ORACLEインスタンスが起動しました。
Total System Global Area 1392508928 bytes
Fixed Size 8620608 bytes
Variable Size 469763520 bytes
Database Buffers 905969664 bytes
Redo Buffers 8155136 bytes
データベースがマウントされました。
データベースがオープンされました。
SQL> -- 変更後のパラメータ値確認
show parameter db_writer_processes;SQL>
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_writer_processes integer 3
SQL> -- 変更後、デフォルト値か否かを確認
set lines 120 pages 1000
col name format a35
col value format a25
col isdefault format a9
col default_value format a25
select
name,
value,
isdefault,
default_value
from v$parameter
where name = 'db_writer_processes';SQL> SQL> SQL> SQL> SQL> SQL> SQL> 2 3 4 5 6 7
NAME VALUE ISDEFAULT DEFAULT_VALUE
----------------------------------- ------------------------- --------- -------------------------
db_writer_processes 3 ★FALSE★ 0
# ISDEFAULT 列が FALSE なので指定した値がセットされている。