初期化パラメータ
データベースをプロビジョニングすると、Autonomous Databaseによってデータベース初期化パラメータが自動的に構成されます。サービスの使用を開始するために初期化パラメータを設定する必要はありません。ただし、必要に応じて一部のパラメータを変更できます。
変更可能な初期化パラメータのリスト
APPROX_FOR_AGGREGATION APPROX_FOR_COUNT_DISTINCT APPROX_FOR_PERCENTILE BLANK_TRIMMING (Allowed only with ALTER SYSTEM) CLIENT_PREFETCH_ROWS (see CLIENT_PREFETCH_ROWS CONSTRAINTS (Allowed only with ALTER SESSION) CONTAINER (Allowed only with ALTER SESSION) CONTAINER_DATA CURRENT_SCHEMA (Allowed only with ALTER SESSION) CURSOR_INVALIDATION (Allowed only with ALTER SESSION) CURSOR_SHARING DDL_LOCK_TIMEOUT DEFAULT_COLLATION (Allowed only with ALTER SESSION) DEFAULT_CREDENTIAL (Allowed only with ALTER SESSION) EDITION (Allowed only with ALTER SESSION) FIXED_DATE (Allowed only with ALTER SYSTEM) IGNORE_SESSION_SET_PARAM_ERRORS ISOLATION_LEVEL (Allowed only with ALTER SESSION) JOB_QUEUE_PROCESSES (Allowed only with ALTER SYSTEM) LDAP_DIRECTORY_ACCESS LOAD_WITHOUT_COMPILE MAX_IDLE_TIME (Allowed only with ALTER SYSTEM) MAX_STRING_SIZE (See Data Types for details) NLS_CALENDAR NLS_COMP NLS_CURRENCY NLS_DATE_FORMAT NLS_DATE_LANGUAGE NLS_DUAL_CURRENCY NLS_ISO_CURRENCY NLS_LANGUAGE NLS_LENGTH_SEMANTICS NLS_NCHAR_CONV_EXCP NLS_NUMERIC_CHARACTERS NLS_SORT NLS_TERRITORY NLS_TIME_FORMAT NLS_TIME_TZ_FORMAT NLS_TIMESTAMP_FORMAT NLS_TIMESTAMP_TZ_FORMAT OPTIMIZER_CAPTURE_SQL_QUARANTINE OPTIMIZER_IGNORE_HINTS OPTIMIZER_IGNORE_PARALLEL_HINTS OPTIMIZER_MODE OPTIMIZER_REAL_TIME_STATISTICS OPTIMIZER_USE_SQL_QUARANTINE PLSCOPE_SETTINGS PLSQL_CCFLAGS PLSQL_DEBUG PLSQL_OPTIMIZE_LEVEL PLSQL_WARNINGS QUERY_REWRITE_INTEGRITY READ_ONLY (Allowed only with ALTER SESSION) RECYCLE_BIN REMOTE_DEPENDENCIES_MODE RESULT_CACHE_INTEGRITY (See RESULT_CACHE_INTEGRITY) RESULT_CACHE_MODE (See RESULT_CACHE_MODE) SESSION_EXIT_ON_PACKAGE_STATE_ERROR (Allowed only with ALTER SYSTEM) See SESSION_EXIT_ON_PACKAGE_STATE_ERROR SKIP_UNUSABLE_INEDEXES SQL_TRACE (Allowed only with ALTER SESSION) See Perform SQL Tracing on Autonomous Database for details SQL_TRANSLATION_PROFILE (Allowed only with ALTER SESSION) STATISTICS_LEVEL (Allowed only with ALTER SESSION) SYSDATE_AT_DBTIMEZONE (See SYSDATE_AT_DBTIMEZONE Select a Time Zone for SYSDATE on Autonomous Database) TIMEZONE (Allowed only with ALTER SESSION)
初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。TIME_ZONE
の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。
OPTIMIZER_IGNORE_HINTS
およびOPTIMIZER_IGNORE_PARALLEL_HINTS
の詳細は、Autonomous Databaseでのオプティマイザ統計の管理に関する項を参照してください。
- SESSION_EXIT_ON_PACKAGE_STATE_ERROR
SESSION_EXIT_ON_PACKAGE_STATE_ERROR
は、セッションで実行されているステートフルPL/SQLパッケージの特別な処理を有効または無効にします。 - SYSDATE_AT_DBTIMEZONE Autonomous DatabaseでのSYSDATEのタイム・ゾーンの選択
SYSDATE_AT_DBTIMEZONE
は、SYSDATE
およびSYSTIMESTAMP
へのコールで返される日時値に対するセッションでの特別な処理を有効にします。 - CLIENT_PREFETCH_ROWS
CLIENT_PREFETCH_ROWS
パラメータを設定して、クライアントが問合せ結果セットの行のフェッチ中に必要なラウンドトリップ数を削減できるようにします。 - JOB_QUEUE_PROCESSES
JOB_QUEUE_PROCESSES
パラメータを設定して、Oracle Scheduler (DBMS_SCHEDULER
)ジョブを実行するために作成できるジョブ・ワーカーの最大数を指定します。 - RESULT_CACHE_INTEGRITY
RESULT_CACHE_INTEGRITY
パラメータを設定して、結果キャッシュで結果キャッシュの候補として決定的でない可能性のある構造を使用する問合せを考慮するかどうかを指定します。 - RESULT_CACHE_MODE
RESULT_CACHE_MODE
パラメータを設定して、結果キャッシュに格納する対象となる問合せを指定します。結果キャッシュ演算子が指定されている問合せ計画のみが、結果キャッシュに対する読取りまたは書込みを試行します。
SESSION_EXIT_ON_PACKAGE_STATE_ERROR
SESSION_EXIT_ON_PACKAGE_STATE_ERROR
は、セッションで実行されているステートフルPL/SQLパッケージの特別な処理を有効または無効にします。
プロパティ | 説明 |
---|---|
パラメータ型 | Boolean |
デフォルトの値 | FALSE |
変更可能 | ALTER SYSTEM |
値の範囲 | TRUE | FALSE |
SESSION_EXIT_ON_PACKAGE_STATE_ERROR
は、セッションで実行されているステートフルPL/SQLパッケージの処理を指定します。このようなパッケージが変更された場合(Oracle提供オブジェクトの計画メンテナンス中など)、パッケージのアクティブなインスタンス化があるセッションは、パッケージを実行しようとすると次のエラーを受け取ります:
ORA-4068 existing state of package has been discarded
ただし、ORA-4068
エラーを受信するアプリケーション・コードでは、その再試行ロジックでこのエラーを処理できない場合があります。
SESSION_EXIT_ON_PACKAGE_STATE_ERROR
をTRUE
に設定すると、このケースで異なる処理が行われます。SESSION_EXIT_ON_PACKAGE_STATE_ERROR
がTRUE
の場合、パッケージ状態が破棄されると、ORA-4068
エラーが発生するのみでなく、セッションもすぐに終了します。多くのアプリケーションが自動的かつ透過的に接続を再確立することによってセッションの終了を処理できるため、これは有益である可能性があります。
親トピック: 初期化パラメータ
SYSDATE_AT_DBTIMEZONE Autonomous DatabaseでのSYSDATEのタイム・ゾーンの選択
SYSDATE_AT_DBTIMEZONE
は、SYSDATE
およびSYSTIMESTAMP
へのコールで返される日時値に対するセッションでの特別な処理を有効にします。
SYSDATE_AT_DBTIMEZONE
の値に応じて、デフォルトのAutonomous Databaseタイム・ゾーン、協定世界時(UTC)、またはデータベースに設定したタイム・ゾーンに基づく日時が表示されます。
プロパティ | 説明 |
---|---|
パラメータ型 | Boolean |
デフォルトの値 | FALSE |
変更可能 | ALTER SESSION , ALTER SYSTEM |
値の範囲 | TRUE | FALSE |
デフォルトのAutonomous Databaseタイムゾーン
デフォルトのAutonomous Databaseタイム・ゾーンは、UTC (Coordinated Universal Time)であり、デフォルトではSYSDATE
およびSYSTIMESTAMP
をコールすると、日付と時刻がUTCで返されます。
データベースのタイム・ゾーンを変更するには、次の文を実行します。この例では、データベースのタイム・ゾーンをUTC-5
に設定しています。
ALTER DATABASE SET TIME_ZONE='-05:00';
変更を有効にするには、Autonomous Databaseインスタンスを再起動する必要があります。
データベースのタイム・ゾーンの設定後、デフォルトでは、SYSDATE
およびSYSTIMESTAMP
は引き続きUTCで日時を返します(SYSDATE_AT_DBTIMEZONE
はデフォルトでFALSE
です)。セッションでSYSDATE_AT_DBTIMEZONE
をTRUE
に設定すると、SYSDATE
およびSYSTIMESTAMP
はデータベースのタイム・ゾーンを返します。
ALTER DATABASE
でSET TIME_ZONE
句を使用する方法の詳細は、データベースのタイム・ゾーンの設定を参照してください。
セッションでのSYSDATE_AT_DBTIMEZONEの使用
セッションでSYSDATE_AT_DBTIMEZONE
がFALSE
の場合、SYSDATE
およびSYSTIMESTAMP
をコールすると、デフォルトのAutonomous Databaseタイム・ゾーンであるCoordinated Universal Time (UTC)に基づいて値が返されます。
セッションでSYSDATE_AT_DBTIMEZONE
がTRUE
の場合、SYSDATE
またはSYSTIMESTAMP
をコールすると、データベースのタイム・ゾーンに基づいて日付と時刻が返されます。
SYSDATE_AT_DBTIMEZONE
をTRUE
に設定すると、アプリケーションSQLの演算子としてのSYSDATE
およびSYSTIMESTAMP
の使用にのみ影響します(たとえば、問合せ、DMLおよびCTAS操作の場合)。このパラメータを使用する場合は、クライアント/セッションのタイムゾーンがデータベースのタイムゾーンと一致することをお薦めします。
例
次の例では、SYSDATE_AT_DBTIMEZONE
パラメータ値に基づいて、2つの異なるタイム・ゾーンの日時が返されます:
SQL> SELECT DBTIMEZONE FROM DUAL;
DBTIMEZONE
_____________
-05:00
SQL> ALTER SESSION SET SYSDATE_AT_DBTIMEZONE=FALSE;
Session altered.
SQL> SELECT SYSTIMESTAMP FROM DUAL;
SYSTIMESTAMP
______________________________________
27-JAN-22 06.59.45.708082000 PM GMT
SQL> ALTER SESSION SET SYSDATE_AT_DBTIMEZONE=TRUE;
Session altered.
SQL> SELECT SYSTIMESTAMP FROM DUAL;
SYSTIMESTAMP
_________________________________________
27-JAN-22 02.14.47.578946000 PM -05:00
データベース・アクションのSQLワークシートでSYSDATE
またはSYSTIMESTAMP
問合せを実行すると、返される日時の値はUTCになります(SYSDATE_AT_DBTIMEZONE
パラメータがTRUE
またはFALSE
に設定されている場合)。データベース・アクションでの作業時にデータベースのタイム・ゾーンを取得するには、次のようにTO_CHAR()
を使用します:
SQL> SELECT TO_CHAR(SYSTIMESTAMP,'YYYY-MM-DD"T"HH24:MI:SS TZH":"TZM') FROM DUAL;
TO_CHAR(SYSTIMESTAMP,'YYYY-MM-DD"T"HH24:MI:SSTZH":"TZM')
___________________________________________________________
2022-01-27T14:15:00 -05:00
親トピック: 初期化パラメータ
CLIENT_PREFETCH_ROWS
CLIENT_PREFETCH_ROWS
パラメータを設定して、クライアントが問合せ結果セットの行のフェッチ中に必要なラウンドトリップ数を削減できるようにします。
CLIENT_PREFETCH_ROWS
は、クライアント・アプリケーションを変更せずに、Oracleクライアント・ドライバによってプリフェッチされる行数を指定します。クライアント・ドライバは、問合せの実行が成功するたび、データベースに送信される後続のフェッチ・リクエストごとに、プリフェッチされた行をバッファリングします。
このパラメータは、Oracle Call Interface (OCI)を使用してデータベースに接続するクライアントのみに適用されます。
このパラメータは、すべてのプラットフォームでOracle Instant Client/Oracle Database Client 19.17 (以上)および21.8 (以上)にのみ適用されます。
プロパティ | 説明 |
---|---|
パラメータ型 | Integer |
構文 | CLIENT_PREFETCH_ROWS = integer |
デフォルトの値 | 0 (クライアント側の設定のみが適用されます)
|
変更可能 | ALTER SYSTEM , ALTER SESSION |
値の範囲 | 0 からUB4MAXVAL (4294967295 )
|
Basic | いいえ |
CLIENT_PREFETCH_ROWS
パラメータは、ALTER SESSION
またはALTER SYSTEM
で設定できます。ALTER SESSION
を使用してパラメータ値が変更されると、後続の結果セット・フェッチでその特定のセッションに対して新しい値が有効になります。ALTER SYSTEM
を使用してパラメータ値が変更された場合、新しい値は、ALTER SYSTEM
コマンドの後に作成された接続で実行される文に対して有効になります。
たとえば、CLIENT_PREFETCH_ROWS
が100に設定され、クライアント・アプリケーションが10行のフェッチを要求した場合、合計110行がクライアント・ドライバに返されます。110行中の最初の10行がアプリケーションに与えられ、クライアント・ドライバは残りの100行を内部的にバッファリングします。クライアント・アプリケーションから次の10行がフェッチされ、フェッチ反復ごとに10行がそれぞれ、クライアント・ドライバによって内部的にバッファされる100行から処理できます。このプロセスにより、データベースとの間の必要なネットワーク・ラウンドトリップの数が削減されます。この例では、11番目のフェッチで、新しいネットワーク・ラウンドトリップが発生し、結果セットが使い果たされておらず、サイクルが繰り返されているかぎり、データベースは110行の次のバッチを返します。
CLIENT_PREFETCH_ROWS
の設定に関するノート:
-
CLIENT_PREFETCH_ROWS
がゼロ以外の値に設定されている場合、その値はプリフェッチ行数のデフォルトのOCI_ATTR_PREFETCH_ROWS
値よりも優先されます。 -
OCI_ATTR_PREFETCH_ROWS
値がデフォルト以外の値に設定されている場合、プリフェッチ行数のCLIENT_PREFETCH_ROWS
値は無視されます。 -
OCIAttrSet()
でCLIENT_PREFETCH_ROWS
を使用する場合:OCI_ATTR_PREFETCH_ROWS
は、プリフェッチされるトップレベル行の数を設定します。デフォルトは1行です。ただし、CLIENT_PREFETCH_ROWS
が設定されている場合、プリフェッチされる最上位行の数は、次の優先順位によって決定されます。-
OCIAttrSet()
関数またはoraaccess.xml
を値'1'として使用してOCI_ATTR_PREFETCH_ROWS
属性を設定すると、データベース初期化パラメータのCLIENT_PREFETCH_ROWS
値が優先され、プリフェッチされる最上位行の数が決定されます。 -
OCIAttrSet()
関数またはoraaccess.xml
を1以外の値'x'として使用してOCI_ATTR_PREFETCH_ROWS
属性を設定すると、最上位行数の'x'がプリフェッチされ、データベース初期化パラメータCLIENT_PREFETCH_ROWS
は無視されます。 -
OCIAttrSet()
またはoraaccess.xml
を使用してOCI_ATTR_PREFETCH_ROWS
値を設定しない場合、データベース初期化パラメータのCLIENT_PREFETCH_ROWS
値が優先され、プリフェッチされる最上位行の数が決定されます。
-
-
OCIAttrGet()
でCLIENT_PREFETCH_ROWS
を使用する場合:ファンクション
OCIAttrGet()
は、OCI_ATTR_PREFETCH_ROWS
、oraaccess.xml
およびデータベース初期化パラメータCLIENT_PREFETCH_ROWS
から設定された有効なプリフェッチ行値を返します。OCI_ATTR_PREFETCH_MEMORY
値が設定されている場合、OCIAttrGet()
によって返される値は、最終的なプリフェッチ行の値ではない可能性があり、OCI_ATTR_PREFETCH_MEMORY
属性で指定されたメモリー値で許可される最大行数に制限される場合があります。
参照:
-
結果のフェッチおよびプリフェッチ数の設定の詳細は、『Oracle Call Interface開発者ガイド』を参照してください。
親トピック: 初期化パラメータ
JOB_QUEUE_PROCESSES
JOB_QUEUE_PROCESSES
パラメータを設定して、Oracle Scheduler (DBMS_SCHEDULER
)ジョブを実行するために作成できるジョブ・ワーカーの最大数を指定します。
値を0に設定すると、Oracle提供でないスケジューラ・ジョブが無効になります。
プロパティ | 説明 |
---|---|
パラメータ型 | Integer |
構文 | JOB_QUEUE_PROCESSES = integer |
デフォルトの値 |
デフォルト値は、ECPU数(データベースがOCPUを使用している場合はOCPU数)およびECPU自動スケーリングの設定(データベースがOCPUを使用している場合はOCPU自動スケーリング)によって異なります。詳細は次の表を参照してください。 |
変更可能 | ALTER SYSTEM |
値の範囲 |
最小値: 最大値は、次の表に示すように、ECPU数(データベースがOCPUを使用している場合はOCPU数)およびECPU自動スケーリング(データベースがOCPUを使用している場合はOCPU自動スケーリング)の設定によって異なります。 |
JOB_QUEUE_PROCESSES
のデフォルト値と最大値は、使用するコンピュート・モデルによって異なります。詳細は、Autonomous Databaseのコンピュート・モデルを参照してください。
コンピュート・モデル | 自動スケーリングが無効なデフォルトおよび最大値 | 自動スケーリングが有効なデフォルトおよび最大値 |
---|---|---|
ECPU | 7.5 x ECPU数 | 22.5 x ECPU数 |
OCPU | 30 x OCPU数 | 90 x OCPU数 |
Oracle Schedulerのジョブ・コーディネータおよびジョブ・ワーカーは、JOB_QUEUE_PROCESSES
パラメータによって制御されます。Oracle Schedulerジョブ用に作成されるジョブ・ワーカーの数は、使用可能なリソース、リソース・マネージャ設定、現在実行中のジョブなどの複数のファクタに応じて、スケジューラにより自動チューニングされます。
JOB_QUEUE_PROCESSES
のデフォルト値では、アプリケーションのサービス品質とシステム・リソースの適切な使用の両立を図っています。ただし、すべての環境にデフォルト値が適合するとはかぎりません。
JOB_QUEUE_PROCESSES
の値を0に設定すると、Oracle提供でないスケジューラ・ジョブが無効になります。JOB_QUEUE_PROCESSES
が0
に設定されている場合、Oracle提供ユーザーの内部ジョブは無効化されません(Oracle提供ユーザーが実行するサービス関連ジョブは引き続きスケジュールされます)。
Oracle提供のユーザーは、値がY
のORACLE_MAINTAINED
としてマークされたユーザーです。Oracle提供以外のユーザーは、値がN
のORACLE_MAINTAINED
としてマークされたユーザーです。
詳細は、ALL_USERSを参照してください。
親トピック: 初期化パラメータ
RESULT_CACHE_INTEGRITY
RESULT_CACHE_INTEGRITY
パラメータを設定して、結果キャッシュで結果キャッシュの候補として決定的でない可能性のある構造を使用する問合せを考慮するかどうかを指定します。
プロパティ | 説明 |
---|---|
パラメータ型 | 文字列 |
構文 | RESULT_CACHE_INTEGRITY = { ENFORCED | TRUSTED } |
デフォルトの値 |
Autonomous Databaseのデフォルト値は |
変更可能 | ALTER SYSTEM |
値
-
ENFORCED
:RESULT_CACHE_MODE
または指定されたヒントの設定に関係なく、結果キャッシュの対象となるのは決定論的な構成のみです。たとえば、決定論的として宣言されていないPL/SQLファンクションを使用する問合せはキャッシュされません(ファンクションが決定論的として宣言されていないかぎり、そのようなファンクションを使用した問合せ結果はキャッシュされません)。 -
TRUSTED
: データベースは、RESULT_CACHE_MODE
および指定されたヒントの設定を尊重し、結果キャッシュの候補として決定的でない可能性のある構造を使用する問合せを検討します。たとえば、決定論的として宣言されていないPL/SQLファンクションを使用する問合せはキャッシュできます。ただし、非決定的であることがわかっている結果はキャッシュされません(たとえば、SYSDATE
またはSYSDATE
を含むコンストラクト)。
親トピック: 初期化パラメータ
RESULT_CACHE_MODE
RESULT_CACHE_MODE
パラメータを設定して、結果キャッシュに格納する適格な問合せを指定します。結果キャッシュ演算子が指定されている問合せ計画のみが、結果キャッシュに対する読取りまたは書込みを試行します。
プロパティ | 説明 |
---|---|
パラメータ型 | 文字列 |
構文 | RESULT_CACHE_MODE = { MANUAL | MANUAL_TEMP | FORCE | FORCE_TEMP } |
デフォルトの値 |
ワークロード・タイプがデータ・ウェアハウスに設定されているAutonomous Databaseの場合: ワークロード・タイプ「トランザクション処理」、「JSON」または「APEX」の場合: |
変更可能 | ALTER SESSION , ALTER SYSTEM |
詳細は、RESULT_CACHE_MODEを参照してください。
- SQLの結果キャッシュ・ヒントの使用
キャッシュの動作を制御するには、アプリケーション・レベルで結果キャッシュ・ヒントを使用します。SQLの結果キャッシュ・ヒントは、結果キャッシュのモードおよび表注釈よりも優先されます。
親トピック: 初期化パラメータ
SQLの結果キャッシュ・ヒントの使用
キャッシュの動作を制御するには、アプリケーション・レベルで結果キャッシュ・ヒントを使用します。SQLの結果キャッシュ・ヒントは、結果キャッシュのモードおよび表注釈よりも優先されます。
SQL結果キャッシュ・ヒントは、次の方法で使用できます。
-
RESULT_CACHE
ヒントの使用 -
NO_RESULT_CACHE
ヒントの使用 -
ビューでの
RESULT_CACHE
ヒントの使用
RESULT_CACHE
ヒントの使用
結果キャッシュ・モードがMANUAL
の場合、/*+ RESULT_CACHE */
ヒントは、問合せブロックの結果をキャッシュに格納し、キャッシュされた結果を今後の実行で使用するようデータベースに指示します。
詳細は、RESULT_CACHEヒントの使用およびRESULT_CACHEヒントを参照してください。
NO_RESULT_CACHE
ヒントの使用
/*+ NO_RESULT_CACHE */
ヒントは、データベースがサーバーまたはクライアントの結果キャッシュに結果をキャッシュしないように指示します。
詳細は、NO_RESULT_CACHEヒントの使用およびRESULT_CACHEヒントを参照してください。
ビューでのRESULT_CACHE
ヒントの使用
RESULT_CACHE
ヒントは、ヒントが指定された問合せブロックにのみ適用されます。ビューにのみヒントが指定されている場合は、その結果のみがキャッシュされます。
詳細は、「ビューでのRESULT_CACHEヒントの使用」およびRESULT_CACHEヒントを参照してください。
親トピック: RESULT_CACHE_MODE