カーネル・パラメータの値の表示および変更
リソース制御に対して指定されている現在の値を表示し、必要に応じて変更するには、この手順に従います。
リソース制御の値の表示
-
リソース制御の現在の値を表示するには:
$ id -p // to verify the project id uid=100(oracle) gid=100(dba) projid=1 (group.dba) $ prctl -n project.max-shm-memory -i project group.dba $ prctl -n project.max-sem-ids -i project group.dba
-
現在の値を変更するには、
prctl
コマンドを使用します。たとえば:-
max-shm-memoryの値を6GBに変更するには:
# prctl -n project.max-shm-memory -v 6gb -r -i project group.dba
-
max-sem-idsの値を256に変更するには:
# prctl -n project.max-sem-ids -v 256 -r -i project group.dba
ノート:
prctl
コマンド(リソース制御)を使用してシステム・パラメータを変更する場合、これらのパラメータの変更を有効にするためにシステムを再起動する必要はありません。ただし、変更されたパラメータは、システムの再起動後は永続しません。 -
リソース制御の値の変更
次の手順を使用して、リソース制御のプロジェクト設定を変更すると、システムの再起動後も変更が有効になります。
-
デフォルトでは、Oracleインスタンスは
dba
グループのoracleユーザーとして実行されます。group.dba
という名前のプロジェクトが、oracle
ユーザーのデフォルトのプロジェクトとして機能するように作成されます。id
コマンドを実行し、oracle
ユーザーのデフォルト・プロジェクトを検証します。# su - oracle $ id -p uid=100(oracle) gid=100(dba) projid=100(group.dba) $ exit
-
最大共有メモリー・サイズを2GBに設定するには、
projmod
コマンドを実行します。# projmod -sK "project.max-shm-memory=(privileged,2G,deny)" group.dba
また、リソース制御値
project.max-shm-memory=(privileged,2147483648,deny)
を、Oracleプロジェクトのプロジェクト・エントリの最後のフィールドに追加する方法もあります。 -
/etc/project
ファイルの値を確認します。# cat /etc/project
出力は、次のようなものです。
system:0:::: user.root:1:::: noproject:2:::: default:3:::: group.staff:10:::: group.dba:100:Oracle default project ::: project.max-shm-memory=(privileged,2147483648,deny)
-
リソース制御がアクティブであることを確認するには、次の例のように、プロセス所有権をチェックし、コマンド
id
およびprctl
を実行します。# su - oracle $ id -p uid=100(oracle) gid=100(dba) projid=100(group.dba) $ prctl -n project.max-shm-memory -i process $$ process: 5754: -bash NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT project.max-shm-memory privileged 2.00GB - deny
ノート:
最大共有メモリーの値は、SGA要件によって異なります。SGAサイズより大きい値を設定する必要があります。