データベース -> ORACLE -> 管理
初期化パラメータ設定
初期化パラメータファイルと、サーバパラメータファイル
パラメータファイルはデータベースの設定を記述する。
パラメータファイルは以下の2種類あるが、
両方存在する場合はサーバパラメータファイルが優先して読み込まれる。
初期化パラメータファイル(PFILE)
・テキスト形式
・動的パフォーマンスビュー v$parameter
・SQL及びエディタで編集可能
(動的・静的更新が可能。SQLは動的更新のみ可能)
サーバパラメータファイル(SPFILE)
・バイナリ形式
・動的パフォーマンスビュー v$spparameter
・SQLでのみ編集可能
(動的・静的更新が可能)
初期化パラメータ値を変更する
Oracle Enterprise Manager で初期化パラメータを修正する
ブラウザで http://oracle:1158/em にアクセスする。
管理タブのデータベース構成から すべての初期化パラメータ をクリックする。
SPFile(サーバパラメータ)を変更する場合は SPFile タブをクリックすると
全ての値が変更できる。変更を反映するにはデータベースを再起動する。
初期化パラメータファイル(pfile)をエディタで修正する
初期値の場合ファイルは以下の場所にある。
初期化パラメータ:
$ORACLE_HOME/dbs/init.ora
※ サーバパラメータはバイナリの為直接修正はできない。
SQLコマンドで修正する
サーバパラメータ
$ORACLE_HOME/dbs/spfileorcl.ora
サーバパラメータを更新する際、以下の3種類変更方法がある。
・インスタンスへの変更(動的)
・サーバパラメータファイル(spfile)への変更(インスタンス再起動後有効)
・インスタンス及びサーバパラメータファイルへの変更
SCOPE句 オプション値は以下の通り
・インスタンス MEMORY
・サーバパラメータ SPFILE
・両方 BOTH
例:監査ログを無効にする
現在のインスタンス設定値を確認
SQL> show parameter audit_trail
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_trail string DB
SQL>
値を変更する
SQL> alter system set audit_trail=none;
alter system set audit_trail=none
*
行1でエラーが発生しました。:
ORA-02095: 指定した初期化パラメータを変更できません。
動的に変更できない値の為、エラーとなる
SCOPE句を省略すると MEMORY(インスタンス)になるのでサーバパラメータファイルのみ
変更するよう SCOPE=SPFILE オプションを設定する。
SQL> alter system set audit_trail=none scope=spfile;
システムが変更されました。 * scope=[spfile|memory|both]
spfile:サーバパラメータ
memory:メモリ
both:spfile&memory
# memoryは動的変更可能なパラメータのみ
この時点ではインスタンスを再起動していないので更新されていない
SQL> show parameter audit_trail
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_trail string DB
SQL>
インスタンスを停止する。停止時に変更内容が表示される
SQL> shutdown immediate
;
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
SQL> 1 alter system set audit_trail=none scope=spfile
2*
SQL>
起動する
SQL> startup
ORACLEインスタンスが起動しました。
Total System Global Area 167772160 bytes
Fixed Size 1218316 bytes
Variable Size 83888372 bytes
Database Buffers 79691776 bytes
Redo Buffers 2973696 bytes
データベースがマウントされました。
データベースがオープンされました。
SQL>
SQL>
確認すると更新されている
SQL> show parameter audit_trail
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_trail string NONE
SQL>
初期化パラメータの確認
初期化パラメータファイル
初期化パラメータファイル(PFILE)
${ORACLE_HOME}/dbs/init.ora
サーバパラメータファイル(SPFILE)
${ORACLE_HOME}/dbs/spfile${ORACLE_SID}.ora
# strings spfile${ORACLE_SID}.ora | grep audit_trail
*.audit_trail='DB'
#
show parameter コマンドで初期化パラメータ値を表示
SQL> show parameter
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
O7_DICTIONARY_ACCESSIBILITY boolean FALSE
active_instance_count integer
aq_tm_processes integer 0
archive_lag_target integer 0
asm_diskgroups string
asm_diskstring string
asm_power_limit integer 1
audit_file_dest string /u01/app/oracle/admin/orcl/adu
mp
audit_sys_operations boolean FALSE
audit_syslog_level string
audit_trail string NONE
background_core_dump string partial
background_dump_dest string /u01/app/oracle/admin/orcl/bdu
mp
backup_tape_io_slaves boolean FALSE
bitmap_merge_area_size integer 1048576
blank_trimming boolean FALSE
buffer_pool_keep string
buffer_pool_recycle string
circuits integer
cluster_database boolean FALSE
※ 以下省略
ワイルドカードを使用する場合
SQL> show parameter audit_%
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest string /u01/app/oracle/admin/orcl/adu
mp
audit_sys_operations boolean FALSE
audit_syslog_level string
audit_trail string DB
SQL>
動的パフォーマンスビュー v$parameter で Audit関連の初期化パラメータを確認する
SQL>
SQL> desc v$parameter
名前 NULL? 型
----------------------------------------------------- -------- ------------------
NUM NUMBER
NAME VARCHAR2(80)
TYPE NUMBER
VALUE VARCHAR2(512)
DISPLAY_VALUE VARCHAR2(512)
ISDEFAULT VARCHAR2(9)
ISSES_MODIFIABLE VARCHAR2(5)
ISSYS_MODIFIABLE VARCHAR2(9)
ISINSTANCE_MODIFIABLE VARCHAR2(5)
ISMODIFIED VARCHAR2(10)
ISADJUSTED VARCHAR2(5)
ISDEPRECATED VARCHAR2(5)
DESCRIPTION VARCHAR2(255)
UPDATE_COMMENT VARCHAR2(255)
HASH NUMBER
SQL>
SQL>
SQL> select NAME,VALUE from v$parameter where NAME like '%audit%';
NAME VALUE
------------------------------ --------------------------------------------------
audit_sys_operations FALSE
audit_file_dest /u01/app/oracle/admin/orcl/adump
audit_syslog_level
audit_trail NONE
SQL>
SQL>
動的パフォーマンスビュー v$spparameter で Audit関連のサーバパラメータを確認する
SQL> desc v$spparameter
名前 NULL? 型
----------------------------------------- -------- ----------------------------
SID VARCHAR2(80)
NAME VARCHAR2(80)
VALUE VARCHAR2(255)
DISPLAY_VALUE VARCHAR2(255)
ISSPECIFIED VARCHAR2(6)
ORDINAL NUMBER
UPDATE_COMMENT VARCHAR2(255)
SQL>
SQL> select name,value from v$spparameter where name like 'audit%';
NAME VALUE
------------------------------ ------------------------------
audit_sys_operations FALSE
audit_file_dest /var/tmp/orcl
audit_syslog_level
audit_trail db
SQL>