初期化パラメータにはSPFILEとPFILEの2種類があり、SPFILEはバイナリベース、PFILEがテキストベースのファイルになります。
PFILEはOracleデータベースを通じた値の変更が出来ない、RMANのバックアップの対象に含めることが出来ないなどの理由により、SPFILEの利用が推奨されています。
今日はsqlplusを利用した初期化パラメータの確認、変更の手順を確認してみます。
・確認
9行が選択されました。
初期化パラメータの確認はv$parameterやv$spparameterビューで確認することが出来ます。
v$parameterは現行のセッションで有効になっている初期化パラメータ、v$spparameterはSPFILEに記載されている初期化パラメータが確認できます。
またshow parameterコマンドでも確認は可能です。
・変更
また、初期化パラメータには動的パラメータと静的パラメータがあり、動的パラメータは再起動せずにパラメータの変更が可能で、静的パラメータは再起動が必要になります。
また、動的パラメータにはセッションレベルのパラメータとシステムレベルのパラメータの2種類があります。
セッションレベルがセッション単位で変更できるパラメータで、システムレベルが全てのセッションに影響するパラメータです。
初期化パラメータの値を変更する場合はALTER SYSTEM SET構文を利用しますが、SCOPE句でセッションレベル(SCOPE=MEMORY)で変更するか、システムレベル(SCOPE=SYSTEM)で変更するかを選べます。
両方(SCOPE=BOTH)も可能です。
また、静的パラメータをセッションレベルで変更しようとするとエラーが出力されて変更できません。
SQL> ALTER SYSTEM SET LOG_BUFFER=1000
PFILEはOracleデータベースを通じた値の変更が出来ない、RMANのバックアップの対象に含めることが出来ないなどの理由により、SPFILEの利用が推奨されています。
今日はsqlplusを利用した初期化パラメータの確認、変更の手順を確認してみます。
・確認
SQL> SELECT name, value FROM v$parameter
2 WHERE name LIKE '%pool%';
NAME VALUE
------------------------------ ------------------------------
shared_pool_size 0
large_pool_size 0
java_pool_size 0
streams_pool_size 0
shared_pool_reserved_size 16357785
buffer_pool_keep
buffer_pool_recycle
global_context_pool_size
olap_page_pool_size 0
9行が選択されました。
初期化パラメータの確認はv$parameterやv$spparameterビューで確認することが出来ます。
v$parameterは現行のセッションで有効になっている初期化パラメータ、v$spparameterはSPFILEに記載されている初期化パラメータが確認できます。
またshow parameterコマンドでも確認は可能です。
SQL> show parameter pool
NAME TYPE VALUE
------------------------------------ --------------- ------------------------------
buffer_pool_keep string
buffer_pool_recycle string
global_context_pool_size string
java_pool_size big integer 0
large_pool_size big integer 0
olap_page_pool_size big integer 0
shared_pool_reserved_size big integer 16357785
shared_pool_size big integer 0
streams_pool_size big integer 0 ・変更
また、初期化パラメータには動的パラメータと静的パラメータがあり、動的パラメータは再起動せずにパラメータの変更が可能で、静的パラメータは再起動が必要になります。
また、動的パラメータにはセッションレベルのパラメータとシステムレベルのパラメータの2種類があります。
セッションレベルがセッション単位で変更できるパラメータで、システムレベルが全てのセッションに影響するパラメータです。
初期化パラメータの値を変更する場合はALTER SYSTEM SET構文を利用しますが、SCOPE句でセッションレベル(SCOPE=MEMORY)で変更するか、システムレベル(SCOPE=SYSTEM)で変更するかを選べます。
両方(SCOPE=BOTH)も可能です。
SQL> ALTER SYSTEM SET shared_pool_size=100m
2 SCOPE=BOTH;
システムが変更されました。
SQL> show parameter pool
NAME TYPE VALUE
------------------------------------ --------------- ------------------------------
buffer_pool_keep string
buffer_pool_recycle string
global_context_pool_size string
java_pool_size big integer 0
large_pool_size big integer 0
olap_page_pool_size big integer 0
shared_pool_reserved_size big integer 16357785
shared_pool_size big integer 100M
streams_pool_size big integer 0 また、静的パラメータをセッションレベルで変更しようとするとエラーが出力されて変更できません。
SQL> ALTER SYSTEM SET LOG_BUFFER=1000
2 SCOPE=BOTH;
ALTER SYSTEM SET LOG_BUFFER=1000
*
行1でエラーが発生しました。:
ORA-02095: 指定した初期化パラメータを変更できません。

コメント