初期化パラメータ

Autonomous AI Databaseは、データベースをプロビジョニングするときにデータベース初期化パラメータを自動的に構成します。サービスの使用を開始するために初期化パラメータを設定する必要はありません。ただし、必要に応じて一部のパラメータを変更できます。

変更可能な初期化パラメータ

次の表に、ALTER SESSIONでのみ変更可能な初期化パラメータを示します。

ノート

ノート:これらの設定のすべてがOracle Database初期化パラメータであるわけではありません。セッション固有の属性、ALTER SESSIONオプションまたはSQL翻訳フレームワークの設定があります。これらの設定は、V$PARAMETERには表示されず、SHOW PARAMETERで問い合せることはできません。

セッション固有の属性には次のものがあります。

  • CONSTRAINTS
  • CURRENT_SCHEMA
  • ISOLATION_LEVEL
  • TIME_ZONE

追加の ALTER SESSIONオプションは次のとおりです。

  • CONTAINER
  • EDITION
  • DEFAULT_COLLATION

SQL翻訳フレームワークの設定には、SQL_TRANSLATION_PROFILEが含まれます。

これらの設定のセマンティクスおよび使用方法の詳細は、『Oracle AI Database 26ai SQL言語リファレンス- ALTER SESSION』を参照してください。

ALTER SESSIONでのみ変更可能 詳細情報
CONSTRAINTS  
CONTAINER  
CURRENT_SCHEMA  
CURSOR_INVALIDATION カーソルの有効化
DEFAULT_COLLATION  
DEFAULT_CREDENTIAL  
EDITION  
ISOLATION_LEVEL  
JSON_BEHAVIOR このパラメータは、Oracle AI Database 26aiでのみ適用できます。詳細は、JSON_BEHAVIORを参照してください。
JSON_EXPRESSION_CHECK JSON_EXPRESSION_CHECK
OPTIMIZER_SESSION_TYPE オプティマイザセッションタイプ
OPTIMIZER_USE_INVISIBLE_INDEXES OPTIMIZER_USE_INVISIBLE_INDEXES
READ_ONLY  
SQL_TRACE 詳細は、Autonomous AI DatabaseでのSQLトレースの実行を参照してください
SQL_TRANSLATION_PROFILE  
SQL_TRANSPILER このパラメータは、Oracle AI Database 26aiでのみ適用できます。詳細は、SQL_TRANSPILERを参照してください。
STATISTICS_LEVEL 統計のレベル
TIME_ZONE TIME_ZONEの詳細は、『Oracle AI Database SQL言語リファレンス』に関する項を参照してください。
XML_PARAMS このパラメータは、Oracle AI Database 26aiでのみ適用できます。詳細は、XML_PARAMSを参照してください。

次の表に、ALTER SYSTEMでのみ変更可能な初期化パラメータを示します。

ALTER SYSTEMでのみ変更可能 詳細情報
BLANK_TRIMMING BLANK_TRIMMING
FIXED_DATE 固定日
JOB_QUEUE_PROCESSES JOB_QUEUE_PROCESSES
LOCKDOWN_ERRORS 詳細は、LOCKDOWN_ERRORSを参照してください
MAX_IDLE_BLOCKER_TIME MAX_IDLE_BLOCKER_TIME
値が5より大きい場合、パラメータは5に設定されているかのように動作します。
MAX_IDLE_TIME MAX_IDLE_TIME
デフォルトでは、MAX_IDLE_TIMEは1440に設定されています。MAX_IDLE_TIME値を0または1440より大きい値に設定すると、パラメータは1440に設定されたかのように動作します。
RESOURCE_MANAGER_PLAN Autonomous AI Databaseに使用するリソース・プランを指定します。
SESSION_EXIT_ON_PACKAGE_STATE_ERROR セッション_終了_パッケージ_状態_エラー

次の表に、ALTER SESSIONまたはALTER SYSTEMで変更可能な初期化パラメータを示します。

ALTER SESSIONまたはALTER SYSTEMを使用して変更可能 詳細情報
APPROX_FOR_AGGREGATION APPROX_FOR_AGGREGATION
APPROX_FOR_COUNT_DISTINCT 個別約_FOR_COUNT_DISTINCT
APPROX_FOR_PERCENTILE 約1%
CLIENT_PREFETCH_ROWS CLIENT_PREFETCH_ROWSを参照してください
CLOUD_TABLE_COMMIT_THRESHOLD 詳細は、CLOUD_TABLE_COMMIT_THRESHOLDを参照してください。
CONTAINER_DATA コンテナ・データ
CURSOR_SHARING CURSOR_SHARING
DDL_LOCK_TIMEOUT DDL_ロックタイムアウト
GROUP_BY_POSITION  
GROUP_BY_POSITION_ENABLED このパラメータは、Oracle AI Database 26aiでのみ適用できます。詳細は、GROUP_BY_POSITION_ENABLEDを参照してください。
HEAT_MAP ヒートマップ(_M)
IGNORE_SESSION_SET_PARAM_ERRORS 無視_セッション_セット_パラメータ_エラー
LDAP_DIRECTORY_ACCESS LDAPディレクトリ・アクセス
LOAD_WITHOUT_COMPILE  
MAX_STRING_SIZE 詳細は、「データ型」を参照してください
NLS_CALENDAR NLS_CALENDAR
NLS_COMP NLS_COMP
NLS_CURRENCY NLS_CURRENCY
NLS_DATE_FORMAT NLS_DATE_FORMAT
NLS_DATE_LANGUAGE NLS_DATE_LANGUAGE
NLS_DUAL_CURRENCY NLS_DUAL_CURRENCY
NLS_ISO_CURRENCY NLS_ISO_CURRENCY
NLS_LANGUAGE NLS_LANGUAGE
NLS_LENGTH_SEMANTICS NLS_LENGTH_SEMANTICS
NLS_NCHAR_CONV_EXCP NLS_NCHAR_CONV_EXCP
NLS_NUMERIC_CHARACTERS NLS_NUMERIC_CHARACTERS
NLS_SORT NLS_SORT
NLS_TERRITORY NLS_TERRITORY
NLS_TIME_FORMAT  
NLS_TIME_TZ_FORMAT  
NLS_TIMESTAMP_FORMAT NLSタイムスタンプ書式
NLS_TIMESTAMP_TZ_FORMAT タイムスタンプ_TZ_FORMAT
OPTIMIZER_CAPTURE_SQL_QUARANTINE OPTIMIZER_CAPTURE_SQL_QUARANTINE
OPTIMIZER_IGNORE_HINTS OPTIMIZER_IGNORE_HINTSの詳細は、Autonomous AI Databaseでのオプティマイザ統計の管理を参照してください。
OPTIMIZER_IGNORE_PARALLEL_HINTS OPTIMIZER_IGNORE_PARALLEL_HINTSの詳細は、Autonomous AI Databaseでのオプティマイザ統計の管理を参照してください。
OPTIMIZER_MODE OPTIMIZER_MODE
OPTIMIZER_REAL_TIME_STATISTICS オプティマイザ_リアルタイム_統計
OPTIMIZER_USE_SQL_QUARANTINE オプティマイザ_USE_SQL_QUARANTINE
PLSCOPE_SETTINGS PLSCOPE設定
PLSQL_CCFLAGS PLSQL_CCFLAGS
PLSQL_DEBUG PLSQL_デバグ
PLSQL_IMPLICIT_CONVERSION_BOOL このパラメータは、Oracle AI Database 26aiでのみ適用できます。PLSQL_IMPLICIT_CONVERSION_BOOLを参照してください。
PLSQL_OPTIMIZE_LEVEL PLSQL_OPTIMIZE_LEVEL
PLSQL_WARNINGS PLSQL_WARNINGS
QUERY_REWRITE_INTEGRITY QUERY_REWRITE_INTEGRITY
RECYCLEBIN ごみ箱
REMOTE_DEPENDENCIES_MODE REMOTE_DEPENDENCIES_モード
RESULT_CACHE_INTEGRITY 「RESULT_CACHE_INTEGRITY」を参照してください
RESULT_CACHE_MODE 「RESULT_CACHE_MODE」を参照してください
SKIP_UNUSABLE_INEDEXES SKIP_UNUSABLE_INDEXES
SQL_HISTORY_ENABLED このパラメータは、Oracle AI Database 26ai以降で使用できます。詳細は、SQL_HISTORY_ENABLEDを参照してください。
SYSDATE_AT_DBTIMEZONE SYSDATE_AT_DBTIMEZONE Autonomous AI DatabaseでのSYSDATEのタイムゾーンの選択を参照してください
XML_CLIENT_SIDE_DECODING XML_CLIENT_SIDE_DECODINGを参照してください

初期化パラメータの詳細は、『Oracle AI Databaseリファレンス』に関する項を参照してください。

CLIENT_PREFETCH_ROWS

CLIENT_PREFETCH_ROWSパラメータを設定して、クライアントが問合せ結果セットの行のフェッチ中に必要なラウンドトリップ数を削減できるようにします。

CLIENT_PREFETCH_ROWSは、クライアント・アプリケーションを変更せずに、Oracleクライアント・ドライバによってプリフェッチされる行数を指定します。クライアント・ドライバは、問合せが成功するたびに、およびデータベースに送信された後続のフェッチ・リクエストごとに、プリフェッチされた行をバッファリングします。

このパラメータは、Oracle Call Interface (OCI)を使用してデータベースに接続するクライアントにのみ適用されます。

このパラメータは、すべてのプラットフォームについて、Oracle Instant Client/Oracle Database Client 19.17 (以降)および21.8 (以降)でのみ適用されます。

プロパティ 摘要
パラメータ・タイプ 整数
構文 CLIENT_PREFETCH_ROWS = integer
デフォルト値 0 (クライアント側の設定のみが適用されます)
変更可能 ALTER SYSTEM, ALTER SESSION
値の範囲 0からUB4MAXVAL (4294967295)
基本 いいえ

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が設定されている場合、プリフェッチされる最上位行の数は、次の優先順位によって決まります。

    1. OCIAttrSet()ファンクションまたはoraaccess.xmlを値'1'として使用してOCI_ATTR_PREFETCH_ROWS属性を設定すると、データベース初期化パラメータのCLIENT_PREFETCH_ROWS値が優先され、プリフェッチされる最上位行の数が決定されます。

    2. OCIAttrSet()関数またはoraaccess.xmlを1以外の値'x'として使用してOCI_ATTR_PREFETCH_ROWS属性を設定すると、最上位行数の'x'がプリフェッチされ、データベース初期化パラメータCLIENT_PREFETCH_ROWSは無視されます。

    3. OCIAttrSet()またはoraaccess.xmlを使用してOCI_ATTR_PREFETCH_ROWS値を設定しない場合、データベース初期化パラメータのCLIENT_PREFETCH_ROWS値が優先され、プリフェッチされる最上位レベルの行数が決定されます。

  • OCIAttrGet()でのCLIENT_PREFETCH_ROWSの使用:

    関数OCIAttrGet()は、OCI_ATTR_PREFETCH_ROWSoraaccess.xmlおよびデータベース初期化パラメータCLIENT_PREFETCH_ROWSから設定された有効なプリフェッチ行値を戻します。OCI_ATTR_PREFETCH_MEMORY値が設定されている場合、OCIAttrGet()によって戻される値は、最終的なプリフェッチ行の値ではなく、OCI_ATTR_PREFETCH_MEMORY属性で指定されたメモリー値で許可される最大行数に制限されることがあります。

    ノート

    関連情報:

CLOUD_TABLE_COMMIT_THRESHOLD

CLOUD_TABLE_COMMIT_THRESHOLDパラメータは、変更がオブジェクト・ストレージに書き込まれる前に、クラウド表のバッファ済変更数を制御します。

CLOUD_TABLE_COMMIT_THRESHOLDパラメータが0以外の値に設定されている場合、値は変更数のしきい値として処理され、変更数が指定されたしきい値に達するまでクラウド表の変更がバッファされます。しきい値に達すると、バッファ済の変更がオブジェクト・ストレージにエクスポートされます。このパラメータのデフォルト値は0です(バッファリングは無効)。

詳細は、クラウド表についてを参照してください。

ノート

ノート:このパラメータは、すべてのクラウド表に適用され、ALTER SESSION権限を持つすべてのユーザーが設定できます。したがって、クラウド表は、コミットされた変更が永続的で、同時リーダーからすぐに参照できる必要があるセキュリティ・クリティカルなデータには適していません。このため、クラウド表は監査ログ表などのユース・ケースに適さない場合があります。

プロパティ 摘要
パラメータ・タイプ 整数
構文 CLOUD_TABLE_COMMIT_THRESHOLD =整数
デフォルト値 デフォルト値は0です(バッファリングは無効です)。
変更可能 ALTER SESSIONALTER SYSTEM
値の範囲 0 to 2147483647

JOB_QUEUE_PROCESSES

JOB_QUEUE_PROCESSESパラメータを設定して、Oracle Scheduler (DBMS_SCHEDULER)ジョブを実行するために作成できるジョブ・ワーカーの最大数を指定します。

値を0に設定すると、Oracle提供以外のスケジューラ・ジョブが無効になります。

プロパティ 摘要
パラメータ・タイプ 整数
構文 JOB_QUEUE_PROCESSES = integer
デフォルト値 デフォルト値は、ECPU数(データベースがOCPUを使用する場合のOCPU数)およびECPU自動スケーリングの設定(データベースがOCPUを使用する場合のOCPU自動スケーリング)によって異なります。詳細については、次の表を参照してください。
変更可能 ALTER SYSTEM
値の範囲

最小値: 0

最大値は、次の表に示すように、ECPU数(データベースがOCPUを使用する場合のOCPU数)およびECPU自動スケーリングの設定(データベースがOCPUを使用する場合のOCPU自動スケーリング)によって異なります。

JOB_QUEUE_PROCESSESのデフォルト値と最大値は、使用するコンピュート・モデルによって異なります。詳細は、Autonomous AI 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_PROCESSES0に設定されている場合、これはOracle提供ユーザーの内部ジョブを無効化しません(Oracle提供ユーザーが実行するサービス関連ジョブは引き続きスケジュールされます)。

Oracle提供のユーザーは、値がYORACLE_MAINTAINEDとしてマークされたユーザーです。Oracle提供以外のユーザーは、値がNORACLE_MAINTAINEDとしてマークされたユーザーです。

詳細は、ALL_USERSを参照してください。

LOCKDOWN_ERRORS

Autonomous AI Databaseのロックダウン・プロファイル・エラーが発生するか無視するかを制御するには、LOCKDOWN_ERRORSパラメータを設定します。

Autonomous AI Databaseは、ロックダウン・プロファイルを使用して、特定のデータベースの機能と機能を制限します。デフォルトでは、Autonomous AI Databaseロックダウン・プロファイルによって制限されているSQLコマンドを実行しようとすると、データベースによってエラーが発生します。LOCKDOWN_ERRORSパラメータを使用すると、ロックダウン・プロファイル・エラーを抑制できます。また、LOCKDOWN_ERRORSが値IGNOREに設定されている場合、エラーを無視すると、SQL文、ユーザーおよびコマンドのタイムスタンプに関する詳細が記録されます。

ノート

ノート:このパラメータの値をIGNOREに設定する前に、既存のスクリプトを慎重に評価してください。値をIGNOREに設定すると、使用する既存のスクリプトによってロックダウン・エラーが発生しなくなります。

DBA_LOCKDOWN_ERRORSビューを使用して、ロックダウン・プロファイル・エラーに関する情報を取得できます。詳細は、ロックダウン・エラー・ビューを参照してください。

プロパティ 摘要
パラメータ・タイプ 文字列
構文 LOCKDOWN_ERRORS = IGNORE | RAISE
デフォルト値 デフォルト値はRAISEです。
変更可能 ALTER SYSTEM
有効な値

RAISE: ロックダウン・プロファイル・エラーの発生。

IGNORE: ロックダウン・プロファイル・エラーを抑制します。

SESSION_EXIT_ON_PACKAGE_STATE_ERROR

SESSION_EXIT_ON_PACKAGE_STATE_ERRORは、セッションで実行されているステートフルPL/SQLパッケージの特別な処理を有効または無効にします。

プロパティ 摘要
パラメータ・タイプ ブール
デフォルト値 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_ERRORTRUEに設定すると、この場合に異なる処理が行われます。SESSION_EXIT_ON_PACKAGE_STATE_ERRORTRUEの場合、パッケージ状態が破棄されたときにORA-4068エラーが発生するのみでなく、セッションはただちに終了します。接続を自動的に透過的に再確立することで、多くのアプリケーションでセッション終了を処理できるため、これは有利です。

RESULT_CACHE_INTEGRITY

RESULT_CACHE_INTEGRITYパラメータを設定して、結果キャッシュが結果キャッシュの候補として非決定的な構造を使用する可能性のある問合せを考慮するかどうかを指定します。

プロパティ 摘要
パラメータ・タイプ 文字列
構文 RESULT_CACHE_INTEGRITY = { ENFORCED | TRUSTED }
デフォルト値 Autonomous AI Databaseのデフォルト値: ENFORCED
変更可能 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 AI Databaseの場合: FORCE

ワークロード・タイプがトランザクション処理、JSONまたはAPEXの場合: MANUAL

変更可能 ALTER SESSIONALTER SYSTEM

詳細は、RESULT_CACHE_MODEを参照してください。

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ヒントを参照してください。

SYSDATE_AT_DBTIMEZONE Autonomous AI DatabaseでのSYSDATEのタイム・ゾーンの選択

SYSDATE_AT_DBTIMEZONEは、SYSDATEおよびSYSTIMESTAMPへのコールで返される日時値に対する特別な処理を有効にします。

SYSDATE_AT_DBTIMEZONEの値に応じて、デフォルトのAutonomous AI Databaseタイム・ゾーン、協定世界時(UTC)、またはデータベースに設定したタイム・ゾーンに基づく日時が表示されます。

プロパティ 摘要
パラメータ・タイプ ブール
デフォルト値 FALSE
変更可能 ALTER SESSIONALTER SYSTEM
値の範囲 TRUE | FALSE

デフォルトのAutonomous AIデータベース・タイム・ゾーン

デフォルトのAutonomous AI Databaseタイム・ゾーンは協定世界時(UTC)であり、デフォルトではSYSDATEおよびSYSTIMESTAMPをコールすると、UTCで日時が返されます。

データベースのタイム・ゾーンを変更するには、次の文を実行します。

この例では、データベースのタイム・ゾーンをUTC-5に設定しています。

ALTER DATABASE SET TIME_ZONE='-05:00';

この例では、米国東海岸のデータベース・タイムゾーン(America/New_York)を設定し、時刻はDSTスイッチで自動的に調整されます。

ALTER DATABASE SET TIME_ZONE='America/New_York';

ノート

ノート:変更を有効にするには、Autonomous AI Databaseインスタンスを再起動する必要があります。

データベースのタイム・ゾーンを設定した後、デフォルトでは、SYSDATEおよびSYSTIMESTAMPは引き続きUTCで日時を返します(デフォルトではSYSDATE_AT_DBTIMEZONEFALSEです)。セッションでSYSDATE_AT_DBTIMEZONETRUEに設定した場合、SYSDATEおよびSYSTIMESTAMPはデータベースのタイムゾーンを返します。

SET TIME_ZONE句をALTER DATABASEとともに使用する方法の詳細は、Oracle Database 19cまたはOracle AI Database 26aiデータベース・タイムゾーンの設定を参照してください。

セッションでのSYSDATE_AT_DBTIMEZONEの使用

セッションでSYSDATE_AT_DBTIMEZONEFALSEの場合、デフォルトのAutonomous AI Databaseタイムゾーンである協定世界時(UTC)に基づいて、SYSDATEおよびSYSTIMESTAMPの戻り値をコールします。

セッションでSYSDATE_AT_DBTIMEZONETRUEの場合、SYSDATEまたはSYSTIMESTAMPをコールすると、データベースのタイムゾーンに基づいて日時が返されます。

ノート

ノート: SYSDATE_AT_DBTIMEZONETRUEに設定すると、SYSDATEおよびSYSTIMESTAMPがアプリケーションSQLの演算子(問合せ、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