カスタマイズされたオプション

AdvancedServerの以前のリリースでは、アドオンモジュール(手続き言語など)によって追加されることが通常知られていないパラメーターには custom_variable_classes が必要でした。

custom_variable_classes

AdvancedServer9.2では、 custom_variable_classes パラメーターは非推奨です。以前にこのパラメーターに依存していたパラメーターは、そのサポートを必要としなくなりました。

dbms_alert.max_alerts

Parameter Type: 整数

Default Value: 100

Range: 0から500

Minimum Scope of Effect: クラスター

When Value Changes Take Effect: 再起動

Required Authorization to Activate: EPASサービスアカウント

DBMS_ALERTS パッケージを使用して、システムで許可される同時アラートの最大数を指定します。

dbms_pipe.total_message_buffer

パラメータタイプ:整数

Default Value: 30Kb

Range: 30Kbから256Kb

Minimum Scope of Effect: クラスター

When Value Changes Take Effect: 再起動

Required Authorization to Activate: EPASサービスアカウント

DBMS_PIPE パッケージに使用されるバッファーの合計サイズを指定します。

index_advisor.enabled

Parameter Type: ブール

Default Value: true

Range: {true|false}

Minimum Scope of Effect: セッションごと

When Value Changes Take Effect: 即時

Required Authorization to Activate: セッションユーザー

EDB-PSQLまたはPSQLセッションでインデックスアドバイザーを一時的に中断する機能を提供します。 index_advisor.enabled 構成パラメーターを使用するには、EDB-PSQLまたはPSQLセッションにIndexAdvisorプラグイン index_advisor をロードする必要があります。

IndexAdvisorプラグインは、次の例に示すようにロードできます。

$ psql -d edb -U enterprisedb
Password for user enterprisedb:
psql (13.0.0)
Type "help" for help.

edb=# LOAD 'index_advisor';
LOAD

SET コマンドを使用してパラメーター設定を変更し、次の例に示すように、インデックスアドバイザーが代替クエリプランを生成するかどうかを制御します。

edb=# SET index_advisor.enabled TO off;
SET
edb=# EXPLAIN SELECT * FROM t WHERE a < 10000;
                     QUERY PLAN

-------------------------------------------------------
 Seq Scan on t (cost=0.00..1693.00 rows=9864 width=8)
   Filter: (a < 10000)
(2 rows)

edb=# SET index_advisor.enabled TO on;
SET
edb=# EXPLAIN SELECT * FROM t WHERE a < 10000;
                      QUERY PLAN
-----------------------------------------------------------------------------
 Seq Scan on t (cost=0.00..1693.00 rows=9864 width=8)
   Filter: (a < 10000)
 Result (cost=0.00..327.88 rows=9864 width=8)
   One-Time Filter: '===[ HYPOTHETICAL PLAN ]==='::text
   -> Index Scan using "<hypothetical-index>:1" on t (cost=0.00..327.88
 rows=9864 width=8)
          Index Cond: (a < 10000)
(6 rows)

edb_sql_protect.enabled

Parameter Type: ブール

Default Value: false

Range: {true|false}

Minimum Scope of Effect: クラスター

When Value Changes Take Effect: リロード

Required Authorization to Activate: EPASサービスアカウント

SQL/Protectが保護されたロールをアクティブに監視するかどうかを制御します。これらのロールによって発行されたSQLステートメントを分析し、 edb_sql_protect.level の設定に従って反応します。SQL/Protectで監視を開始する準備ができたら、このパラメーターをオンに設定します。

edb_sql_protect.level

Parameter Type: 列挙

Default Value: パッシブ

Range: {学ぶ|パッシブ|アクティブ}

Minimum Scope of Effect: クラスター

When Value Changes Take Effect: リロード

Required Authorization to Activate: EPASサービスアカウント

保護されたロールによってSQLステートメントが発行されたときにSQL/Protectが実行するアクションを設定します。

edb_sql_protect.level 構成パラメータは、学習モード、パッシブモード、またはアクティブモードのいずれかを使用するために、次の値のいずれかに設定できます。

  • learn. 保護されたロールのアクティビティを追跡し、ロールによって使用される関係を記録します。これは、保護されたアプリケーションの予想される動作が学習されるように、最初にSQL/Protectを構成するときに使用されます。

  • passive. 保護されたロールが定義されたルールに違反している場合に警告を発行しますが、SQLステートメントの実行を停止しません。これは、SQL/Protectが保護されたロールの予想される動作を学習した後の次のステップです。これは基本的に侵入検知モードで動作し、適切に監視されている場合は本番環境で実行できます。

  • active. 保護されたロールの無効なステートメントをすべて停止します。これは、危険なクエリの実行を防ぐSQLファイアウォールとして動作します。これは、攻撃者がアプリケーションの背後にある脆弱点とデータベースのタイプを特定しようとしている場合の早期侵入テストに対して特に効果的です。SQL/Protectはこれらの脆弱性ポイントを閉じるだけでなく、ブロックされたクエリを追跡するため、攻撃者がシステムに侵入する別の方法を見つける前に管理者に警告することができます。

SQL/Protectを初めて使用する場合は、 edb_sql_protect.level を learn に設定します。

edb_sql_protect.max_protected_relations

Parameter Type: 整数

Default Value: 1024

Range: 1から2147483647

Minimum Scope of Effect: クラスター

When Value Changes Take Effect: 再起動

Required Authorization to Activate: EPASサービスアカウント

役割ごとに保護できる関係の最大数を設定します。サーバーの保護された関係の総数は、保護された関係の数に保護されたロールの数を掛けたものになることに注意してください。保護された関係はすべて、共有メモリのスペースを消費します。可能な限り最大の保護された関係のスペースは、データベースサーバーの起動時に予約されます。

edb_sql_protect.max_protected_relations が有効な範囲外の値(たとえば、2,147,483,648)に設定されているときにサーバーが起動すると、データベースサーバーのログファイルに警告メッセージが記録されます。

2014-07-18 16:04:12 EDT WARNING: invalid value for parameter
"edb_sql_protect.max_protected_relations": "2147483648"
2014-07-18 16:04:12 EDT HINT: Value exceeds integer range.

データベースサーバーは正常に起動しますが、 edb_sql_protect.max_protected_relations がデフォルト値の1024に設定されています。

パラメーターの上限は整数データ型の最大値としてリストされていますが、実際の設定は、使用可能な共有メモリーの量とデータベースサーバーの起動時に使用されるパラメーター値によって異なります。

共有メモリに必要なスペースを確保できる限り、この値は受け入れられます。共有メモリ内のスペースを予約できないような値の場合、データベースサーバーの起動は次のようなエラーメッセージで失敗します。

2014-07-18 15:22:17 EDT FATAL: could not map anonymous shared memory:
Cannot allocate memory
2014-07-18 15:22:17 EDT HINT: This error usually means that PostgreSQL's
request for a shared memory segment exceeded available memory, swap
space or huge pages. To reduce the request size (currently 2070118400
bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing
shared_buffers or max_connections.

このような場合は、データベースサーバーを正常に起動できるようになるまでパラメーター値を減らします。

edb_sql_protect.max_protected_roles

Parameter Type: 整数

Default Value: 64

Range: 1から2147483647

Minimum Scope of Effect: クラスター

When Value Changes Take Effect: 再起動

Required Authorization to Activate: EPASサービスアカウント

保護できるロールの最大数を設定します。

保護されたロールはすべて、共有メモリのスペースを消費します。サーバーは、保護されたロールの数に保護された関係の数( edb_sql_protect.max_protected_relations )を掛けたスペースを予約することに注意してください。可能な限り最大の保護されたロールのスペースは、データベースサーバーの起動時に確保されます。

edb_sql_protect.max_protected_roles が有効な範囲外の値(たとえば、2,147,483,648の値)に設定されているときにデータベースサーバーが起動すると、警告メッセージがデータベースサーバーのログファイルに記録されます。

2014-07-18 16:04:12 EDT WARNING: invalid value for parameter
"edb_sql_protect.max_protected_roles": "2147483648"
2014-07-18 16:04:12 EDT HINT: Value exceeds integer range.

データベースサーバーは正常に起動しますが、 edb_sql_protect.max_protected_roles がデフォルト値の64に設定されています。

パラメーターの上限は整数データ型の最大値としてリストされていますが、実際の設定は、使用可能な共有メモリーの量とデータベースサーバーの起動時に使用されるパラメーター値によって異なります。

共有メモリに必要なスペースを確保できる限り、この値は受け入れられます。共有メモリ内のスペースを予約できないような値の場合、データベースサーバーの起動は次のようなエラーメッセージで失敗します。

2014-07-18 15:22:17 EDT FATAL: could not map anonymous shared memory:
Cannot allocate memory
2014-07-18 15:22:17 EDT HINT: This error usually means that PostgreSQL's
request for a shared memory segment exceeded available memory, swap
space or huge pages. To reduce the request size (currently 2070118400
bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing
shared_buffers or max_connections.

このような場合は、データベースサーバーを正常に起動できるようになるまでパラメーター値を減らします。

edb_sql_protect.max_queries_to_save

Parameter Type: 整数

Default Value: 5000

Range: 100から2147483647

Minimum Scope of Effect: クラスター

When Value Changes Take Effect: 再起動

Required Authorization to Activate: EPASサービスアカウント

ビュー edb_sql_protect_queries に保存する問題のあるクエリの最大数を設定します。

保存されるすべてのクエリは、共有メモリの領域を消費します。保存可能なクエリの最大可能容量は、データベースサーバーの起動時に確保されます。

edb_sql_protect.max_queries_to_save が有効範囲外の値(たとえば、値10)に設定されているときにデータベースサーバーが起動すると、警告メッセージがデータベースサーバーのログファイルに記録されます。

2014-07-18 13:05:31 EDT WARNING:  10 is outside the valid range for
parameter "edb_sql_protect.max_queries_to_save" (100 .. 2147483647)

データベースサーバーは正常に起動しますが、 edb_sql_protect.max_queries_to_save がデフォルト値の5000に設定されています。

パラメーターの上限は整数データ型の最大値としてリストされていますが、実際の設定は、使用可能な共有メモリーの量とデータベースサーバーの起動時に使用されるパラメーター値によって異なります。

共有メモリに必要なスペースを確保できる限り、この値は受け入れられます。共有メモリ内のスペースを予約できないような値の場合、データベースサーバーの起動は次のようなエラーメッセージで失敗します。

2014-07-18 15:22:17 EDT FATAL: could not map anonymous shared memory:
Cannot allocate memory
2014-07-18 15:22:17 EDT HINT: This error usually means that PostgreSQL's
request for a shared memory segment exceeded available memory, swap
space or huge pages. To reduce the request size (currently 2070118400
bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing
shared_buffers or max_connections.

このような場合は、データベースサーバーを正常に起動できるようになるまでパラメーター値を減らします。

edb_wait_states.directory

Parameter Type: ストリング

Default Value: edb_wait_states

Range: 該当なし

Minimum Scope of Effect: クラスター

When Value Changes Take Effect: 再起動

Required Authorization to Activate: EPASサービスアカウント

EDB待機状態ログファイルが保存されるディレクトリパスを設定します。指定されたパスは、絶対パスであり、相対パスではありません。ただし、デフォルト設定は edb_wait_states であり、 $PGDATA/edb_wait_states がデフォルトのディレクトリの場所になります。EDBの待機状態については、 パフォーマンス分析とチューニング<performance_analysis_and_tuning>`の ``EDB Wait States` を参照してください。

edb_wait_states.retention_period

Parameter Type: 整数

Default Value: 604800s

Range: 86400sから2147483647s

Minimum Scope of Effect: クラスター

When Value Changes Take Effect: リロード

Required Authorization to Activate: EPASサービスアカウント

EDB待機状態のログファイルが削除されるまでの期間を設定します。デフォルトは604800秒、つまり7日です。EDBの待機状態については、 パフォーマンス分析とチューニング<performance_analysis_and_tuning>`の ``EDB Wait States` を参照してください。

edb_wait_states.sampling_interval

Parameter Type: 整数

Default Value: 1秒

Range: 1秒から2147483647秒

Minimum Scope of Effect: クラスター

When Value Changes Take Effect: リロード

Required Authorization to Activate: EPASサービスアカウント

EDB待機状態の2つのサンプリングサイクル間のタイミング間隔を設定します。デフォルト設定は1秒です。EDBの待機状態については、 パフォーマンス分析とチューニング<performance_analysis_and_tuning>`の ``EDB Wait States` を参照してください。

edbldr.empty_csv_field

Parameter Type: 列挙

Default Value: NULL

Range: {NULL|empty_string|pgsql}

Minimum Scope of Effect: セッションごと

When Value Changes Take Effect: 即時

Required Authorization to Activate: セッションユーザー

edbldr.empty_csv_field パラメーターを使用して、EDB*Loaderが空の文字列を処理する方法を指定します。 edbldr.empty_csv_field パラメータの有効な値は次のとおりです。

パラメータ設定

EDB*Loaderの動作

NULL

空のフィールドはNULLとして扱われます。

empty_string

空のフィールドは、長さがゼロの文字列として扱われます。

pgsql

空のフィールドは、引用符が含まれていない場合はNULLとして扱われ、引用符が含まれている場合は空の文字列として扱われます。

EDB*Loaderの edbldr.empty_csv_field パラメータの詳細については、EDBWebサイトの「OracleDevelopersToolsandUtilitiesGuideのデータベース互換性」を参照してください。

utl_encode.uudecode_redwood

Parameter Type: ブール

Default Value: false

Range: {true|false}

Minimum Scope of Effect: セッションごと

When Value Changes Take Effect: 即時

Required Authorization to Activate: セッションユーザー

TRUE に設定すると、AdvancedServerの UTL_ENCODE.UUDECODE 機能は、 UTL_ENCODE.UUENCODE 機能のOracle実装によって作成されたuuencodeされたデータをデコードできます。

デフォルト設定の FALSE に設定すると、AdvancedServerの UTL_ENCODE.UUDECODE 機能は、AdvancedServerの UTL_ENCODE.UUENCODE 機能によって作成されたuuencodeされたデータをデコードできます。

utl_file.umask

Parameter Type: ストリング

Default Value: 0077

Range: umask設定の8進数

Minimum Scope of Effect: セッションごと

When Value Changes Take Effect: 即時

Required Authorization to Activate: セッションユーザー

utl_file.umask パラメータは、Linuxの umask コマンドと同様の方法で、ファイルモード作成マスク、または単に*mask* を設定します。これは、AdvancedServer UTL_FILE パッケージ内でのみ使用されます。

注釈

utl_file.umask パラメーターは、Windowsシステムではサポートされていません。

utl_file.umask に指定される値は、Linuxの umask コマンドに有効な3文字または4文字の8進数文字列です。この設定により、 UTL_FILE 関数および手順によって作成されたファイルの権限が決まります。(ファイル許可と umask コマンドの使用法については、LinuxまたはUnixシステムに関する情報源を参照してください。)

次に、デフォルトの utl_file.umask 設定の0077の結果を示します。 enterprisedb グループに属するユーザーおよび他のすべてのユーザーに対するすべての権限が拒否されることに注意してください。ユーザー enterprisedb のみがファイルの読み取りおよび書き込み権限を持っています。

-rw------- 1 enterprisedb enterprisedb 21 Jul 24 16:08 utlfile