初期化パラメータはオラクル・データベース全体に関わる設定値である。初期化パラメータの設定値を格納するファイルには、テキスト形式の初期化パラメータ・ファイル(PFILE)とバイナリ形式のサーバー・パラメータ・ファイル(SPFILE)という2種類の形式があり、どちらかを使用する。
初期化パラメータ・ファイルは、オラクルの初期化パラメータをテキスト形式で格納するファイルである。テキストファイル形式なので、初期化パラメータの設定値をテキストエディタで編集することができる。
初期化パラメータ・ファイルのパス名は $ORACLE_HOME/dbs/initSID.ora または $ORACLE_HOME/dbs/init.ora である。ここで、SID はシステム識別子を表す。たとえば、システム識別子が orcl の場合、初期化パラメータ・ファイルのパス名は $ORACLE_HOME/dbs/initorcl.ora となる。
初期化パラメータの値を変更した際、その変更をオラクル・インスタンスに反映するには、オラクル・インスタンスの再起動が必要となる。
初期化パラメータ・ファイルはサーバー・パラメータ・ファイルから作成することもできる。サーバー・パラメータ・ファイルから初期化パラメータ・ファイルに変換するには、SQL*PlusからCREATE PFILEコマンドを実行する。
CREATE PFILE [= 'pfile_path'] FROM SPFILE [= 'spfile_path']
初期化パラメータ・ファイルのパスを指定する。初期化パラメータ・ファイルのパス指定を省略した場合は、$ORACLE_HOME/dbs/init SID .ora に作成される。
作成するサーバー・パラメータ・ファイルのパスを指定する。サーバー・パラメータ・ファイルのパス指定を省略した場合は、$ORACLE_HOME/dbs/spfile SID .ora からパラメータを読み込む。
サーバー・パラメータ・ファイルは、オラクルの初期化パラメータをバイナリ形式で格納するファイルである。ALTER SYSTEM 文を使うことによりパラメータの値を変更することができる。
サーバー・パラメータ・ファイルのパス名は $ORACLE_HOME/dbs/spfileSID.ora または $ORACLE_HOME/dbs/spfile.ora である。
パラメータの種類によっては、設定値を変更する際にオラクル・インスタンスの再起動なしに動的に変更することもできる。
サーバー・パラメータ・ファイルは初期化パラメータ・ファイルから作成することができる。初期化パラメータ・ファイルからサーバー・パラメータ・ファイルに変換するには、SQL*PlusからCREATE SPFILEコマンドを実行する。
CREATE SPFILE [= 'spfile_path'] FROM PFILE [= 'pfile_path']
作成するサーバー・パラメータ・ファイルのパスを指定する。サーバー・パラメータ・ファイルのパス指定を省略した場合は、$ORACLE_HOME/dbs/spfile SID .ora に作成される。
初期化パラメータ・ファイルのパスを指定する。初期化パラメータ・ファイルのパス指定を省略した場合は、$ORACLE_HOME/dbs/init SID .ora からパラメータを読み込む。
初期化パラメータ・ファイルおよびサーバー・パラメータ・ファイルが複数存在する場合、優先順位の1番高いものが使用される。初期化パラメータ・ファイルおよびサーバー・パラメータ・ファイルの優先順位を次に示す。
SQL*Plus からSHOW(省略形はSHO)コマンドを使用することで、パラメータの値を確認することができる。
SHO[W] PARAMETER[S] [ パラメータ名 ]
パラメータ名の指定を省略した場合、すべてのパラメータ一覧が表示される。特定のパラメータの値だけを表示するには、パラメータ名を指定する。
パラメータの値を表示する例を次に示す。
$ sqlplus /nolog
SQL> connect / as sysdba
接続されました。
SQL> show parameters sga_target
NAME TYPE VALUE
-------------------- ----------- ------------------------
sga_target big integer 128M
SQL>
また、OracleデータディクショナリV$SYSTEM_PARAMETER を参照することによっても、パラメータの値を確認することができる。
SQL> SELECT VALUE FROM V$SYSTEM_PARAMETER WHERE NAME = 'sga_target';
134217728
パラメータ・ファイル(PFILE)を使用している場合は、テキストエディタでパラメータの値を変更して、オラクルのインスタンスを再起動する。
サーバー・パラメータ・ファイル(SPFFILE)を使用している場合は、ALTER SYSTEM 分を使用してパラメータの値を変更する。
サーバー・パラメータ sga_max_size を変更する例を次に示します。
ALTER SYSTEM SET sga_max_size = 300M SCOPE = spfile;
主な初期化パラメータには、次のようなものがある。
パラメータ | 説明 |
---|---|
background_dump_dest | ALERTログおよびバックグラウンド・トレースの格納場所 |
control_files | 制御ファイル名のリスト |
db_block_size | 標準ブロックサイズ(バイト単位)。デフォルト値はOSによって異なる。データベース登録時のみ設定することができ、後で変更することはできない。 |
db_cache_size | データベース・バッファ・キャッシュのサイズ(バイト単位) |
db_domain | ネットワークの理論上の位置を表す。分散データベースシステムにおいて、データベース名が同じでもドメインが異なれば別のデータベースと見なされる。たとえば、データベース名がsalesの場合、sales.mycompany.jpとsales.mycompany.comは別のデータベースである。 |
db_name | データベース名。最大8バイトで、ASCII文字のみを指定できる。 |
ddl_lock_timeout | DDLの対象がロックされていた場合の待ち時間を指定する。(Oracle 11g以降) |
fixed_date | システム日時を一時的に変更する際に設定する |
global_names | データベースリンクが接続するデータベースと同じ名前を持つ必要があるかどうかを表す。global_namesがfalseの場合、チェックは行われない。 |
instance_name | インスタンス名 |
java_pool_size | Javaプールのサイズ(バイト単位)。SGA_TARGETを指定してSGA領域を自動管理する場合、JAVA_POOL_SIZEの値は0となる。 |
large_pool_size | ラージ・プールのサイズ(バイト単位)。SGA_TARGETを指定してSGA領域を自動管理する場合、LARGE_POOL_SIZEの値は0となる。 |
nls_length_semantics | VARCHAR2の最大長及びCHARの長さを指定する際のデフォルトのセマンティクス(長さの単位)をBYTE 又はCHAR で指定する。 |
open_links | ひとつのセッションで同時に使えるデータベース・リンクの数 |
service_names | サービス名 |
sga_target | SGAに割り当てるメモリサイズ(byte)。この値が設定されている場合、SHARED_POOL_SIZEやLARGE_POOL_SIZE、JAVA_POOL_SIZE、DB_CACHE_SIZEを指定しなくても、OracleがSGAのメモリ管理を自動的に行う。 |
sga_max_size | 最大SGAメモリサイズ(byte)。SGA_TARGETは、この値以内を指定する必要がある。 |
shared_pool_size | システムグローバル領域(SGA)内の共有プールのサイズ(バイト単位)。SGA_TARGETを指定してSGA領域を自動管理する場合、SHARED_POOL_SIZEの値は0となる。 |
spfile | サーバー・パラメータ・ファイルのパス |
user_dump_dest | ユーザー・トレースの格納場所 |
値 | 説明 |
---|---|
NONE | データベースの監査を無効にする。(デフォルト) |
DB | データベースの監査を有効にして、監査レコードをSYS.AUD$テーブルに格納する。 |
OS | データベースの監査を有効にして、監査レコードをファイルに格納する。 |
XML | データベースの監査を有効にして、監査レコードをファイルにXML形式で格納する。 |
データベースの監査を使用禁止にする手順を示す。
$ sqlplus / as sysdba
SQL> ALTER SYSTEM SET audit_trail = none scope = spfile;
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP
SQL> TRUNCATE TABLE SYS.AUD$;
初期化パラメータに関わるOracleデータベースの構成図を示す。