ALTER DATABASE

目的

ALTER DATABASE文を使用すると、既存のデータベースを変更、メンテナンスまたはリカバリできます。

関連項目:

前提条件

ALTER DATABASEシステム権限が必要です。

startup_clausesを指定するには、AS SYSDBAAS SYSOPERAS SYSBACKUPまたはAS SYSDGとして接続している必要もあります。

general_recovery句を指定する場合は、SYSDBAまたはSYSBACKUPシステム権限も必要です。

DEFAULT EDITION句を指定するには、指定されたエディションのUSEオブジェクト権限のWITH GRANT OPTIONも必要です。

マルチテナント・コンテナ・データベース(CDB)に接続しているときには、次の条件が適用されます。

  • CDB全体を変更する場合は、現在のコンテナがルートである必要があります。また、共通に付与されているALTER DATABASE権限が必要です。

  • コンテナを変更する場合は、そのコンテナが現在のコンテナである必要があります。また、ALTER DATABASE権限(共通に付与されている権限か、そのコンテナでローカルに付与されている権限のいずれか)が必要です。

CDBでのALTER DATABASEの使用のノート

CDBに接続しているときにALTER DATABASE文を発行する場合、この文の動作は、現在のコンテナおよび指定した句によって変わります。

現在のコンテナがルートである場合、次の句を含むALTER DATABASE文を使用すると、CDB全体が変更されます。これらの句を指定するには、共通に付与されているALTER DATABASE権限が必要です。

  • startup_clauses

  • recovery_clauses

    ノート: 個々のプラガブル・データベース(PDB)のバックアップとリカバリ用に、recovery_clausesのサブセットがサポートされています。これらの句を指定するには、ALTER DATABASE権限(共通に付与されている権限か、そのPDBでローカルに付与されている権限のいずれか)が必要です。詳細は、「CDBでのrecovery_clausesの使用のノート」を参照してください。

  • logfile_clauses

  • controlfile_clauses

  • standby_database_clauses

  • instance_clauses

  • security_clause

  • RENAME GLOBAL_NAME TO

  • ENABLE BLOCK CHANGE TRACKING

  • DISABLE BLOCK CHANGE TRACKING

  • undo_mode_clause

現在のコンテナがルートの場合、次の句を含むALTER DATABASE文を使用すると、ルートのみが変更されます。これらの句を指定するには、ALTER DATABASE権限(共通に付与されている権限か、そのルートでローカルに付与されている権限のいずれか)が必要です。

  • database_file_clauses

  • DEFAULT EDITION

  • DEFAULT TABLESPACE

現在のコンテナがルートの場合、次の句を含むALTER DATABASE文を使用すると、ルートが変更され、PDBにデフォルト値が設定されます。これらの句を指定するには、共通に付与されているALTER DATABASE権限が必要です。

  • DEFAULT [ LOCAL ] TEMPORARY TABLESPACE

  • flashback_mode_clause

  • SET DEFAULT { BIGFILE | SMALLFILE } TABLESPACE

  • set_time_zone_clause

現在のコンテナがPDBである場合、ALTER DATABASE文を使用すると、そのPDBが変更されます。この場合、ALTER PLUGGABLE DATABASE文でもサポートされるALTER DATABASE句のみを発行できます。この機能は、CDBに移行したアプリケーションの下位互換性を維持するために用意されています。例外はPDBストレージの限度の変更です。これには、ALTER PLUGGABLE DATABASEpdb_storage_clauseを使用する必要があります。これらの句の詳細は、ALTER PLUGGABLE DATABASEのドキュメントを参照してください。

構文

database_clause::=

startup_clauses::=

full_database_recovery::=

partial_database_recovery::=

parallel_clause::=

managed_standby_recovery::=

(parallel_clause::=)

ノート:

managed_standby_recoveryのいくつかの副次句は不要であり、その使用は非推奨になっています。これらの副次句は、構文図にも記載されていません。managed_standby_recovery」のセマンティクスを参照してください。

move_datafile_clause::=

autoextend_clause::=

switch_logfile_clause::=

supplemental_id_key_clause::=を参照

supplemental_plsql_clause::=

logfile_descriptor::=

trace_file_clause::=

activate_standby_db_clause::=

maximize_standby_db_clause::=

switchover_clause::=

failover_clause::=

commit_switchover_clause::=

start_standby_clause::=

stop_standby_clause::=

convert_database_clause::=

flashback_mode_clause::=

undo_mode_clause::=

set_time_zone_clause::=

instance_clauses::=

security_clause::=

prepare_clause::=

lost_write_protection ::=

cdb_fleet_clauses::=

lead_cdb_clause::=

lead_cdb_uri_clause::=

セマンティクス

database_clause

非コンテナ・データベースのDATABASEオプションを指定します。

db_name

変更するデータベースの名前を指定します。db_nameを省略した場合は、初期化パラメータDB_NAMEの値によって特定されたデータベースが変更されます。なお、データベースの制御ファイルが初期化パラメータCONTROL_FILESに指定されている場合にのみ、そのデータベースを変更できます。データベース識別子は、Oracle Netのデータベース指定とは関係ありません。

startup_clauses

startup_clausesを使用すると、データベースをマウントおよびオープンして、アクセス可能にできます。

MOUNT句

MOUNT句を使用すると、データベースをマウントできます。データベースがすでにマウントされている場合、この句は使用できません。

MOUNT STANDBY DATABASE

MOUNT STANDBY DATABASEを指定すると、フィジカル・スタンバイ・データベースをマウントできます。キーワードSTANDBY DATABASEは省略可能です(マウントされるデータベースがプライマリとセカンダリのどちらであるかは自動的に判別されるため)。この文が実行されるとすぐに、スタンバイ・インスタンスはプライマリ・インスタンスからREDOデータを受信できるようになります。

関連項目:

スタンバイ・データベースの詳細は、『Oracle Data Guard概要および管理』を参照してください。

MOUNT CLONE DATABASE

MOUNT CLONE DATABASEを指定すると、クローン・データベースをマウントできます。

OPEN句

OPEN句を使用すると、データベースを使用可能な状態にできます。データベースをオープンするには、マウントしておく必要があります。

OPENを他のキーワードを指定せずに単独で指定した場合のデフォルトは、プライマリ・データベース、ロジカル・スタンバイ・データベースまたはスナップショット・スタンバイ・データベースではOPEN READ WRITE NORESETLOGS、フィジカル・スタンバイ・データベースではOPEN READ ONLYです。

OPEN READ WRITE

OPEN READ WRITEを指定すると、読取り/書込みモードでデータベースがオープンされ、ユーザーはREDOログを生成できるようになります。これは、プライマリ・データベースをオープンするときのデフォルトです。この句は、フィジカル・スタンバイ・データベースに対しては指定できません。

RESETLOGS | NORESETLOGS

現行のログ順序番号を1にリセットし、アーカイブされていないログ(現行のログを含む)をアーカイブして、リカバリ時に適用されなかったREDO情報を今後適用されないように破棄するかどうかを指定します。Oracle Databaseは、この句の設定が必要な次の状況を除き、NORESETLOGSを自動的に使用します。

  • 次の場合は、RESETLOGSを指定する必要があります。

    • 不完全メディア・リカバリ、またはバックアップ制御ファイルを使用してメディア・リカバリを実行した後

    • 前回の不完全なOPEN RESETLOGS操作の後

    • FLASHBACK DATABASE処理の後

  • 作成した制御ファイルをマウントした場合、オンライン・ログが失われたときはRESETLOGSを、失われていないときはNORESETLOGSを指定する必要があります。

UPGRADE | DOWNGRADE

データベースをアップグレードまたはダウングレードする場合にかぎり、これらのOPEN句パラメータを使用します。この句は、Oracle Databaseに対して、アップグレードとダウングレードにそれぞれ必要なシステム・パラメータを動的に変更するように指示します。SQL*PlusのSTARTUP UPGRADEコマンドまたはSTARTUP DOWNGRADEコマンドでも、同じ結果が得られます。

CDBのUPGRADEパラメータまたはDOWNGRADEパラメータを使用すると、ルート・コンテナは指定したモードで開かれますが、それ以外のコンテナはすべてREAD WRITEモードで開かれます。

関連項目:

OPEN READ ONLY

OPEN READ ONLYを指定すると、トランザクションが読取り専用に制限され、ユーザーはREDOログを生成できなくなります。この設定は、フィジカル・スタンバイ・データベースをオープンするときのデフォルトであり、このように設定すると、プライマリ・データベース・サイトからのアーカイブ・ログのコピー中でも、フィジカル・スタンバイ・データベースが問合せに使用可能になります。

データベースのオープンの制限事項

データベースをオープンする場合、次の制限事項が適用されます。

  • データベースが現在他のインスタンスでREAD WRITEモードでオープンされている場合、READ ONLYモードではオープンできません。

  • データベースをリカバリする必要がある場合、READ ONLYモードではオープンできません。

  • データベースがREAD ONLYモードでオープンされている間は、表領域をオフラインに切り替えることはできません。ただし、データファイルのオフラインとオンラインの切替えは可能であり、データベースがREAD ONLYモードでオープンされている間にオフラインのデータファイルおよび表領域をリカバリすることも可能です。

    関連項目:

    フィジカル・スタンバイ・データベースのオープン方法の詳細は、『Oracle Data Guard概要および管理』を参照してください。

recovery_clauses

recovery_clausesを使用すると、バックアップ後の操作を指定できます。これらすべての句では、Oracle Databaseは、現行の制御ファイルが認識しているデータファイルおよびログ・ファイルのインカネーションを使用して、データベースをリカバリします。

関連項目:

データベースのバックアップの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』および「データベースのリカバリ: 例」を参照してください。

CDBでのrecovery_clausesの使用のノート

現在のコンテナがルートである場合は、すべてのrecovery_clausesを指定してCDB全体のバックアップとリカバリを実行できます。

現在のコンテナがPDBである場合は、recovery_clausesの次の副次句を指定してそのPDBのバックアップとリカバリを実行できます。

  • BEGIN BACKUP

  • END BACKUP

  • full_database_recovery: DATABASEキーワードのみを指定できます。

  • partial_database_recovery

  • general_recoveryLOGFILE句とCONTINUE

前述の副次句は、ALTER PLUGGABLE DATABASEpdb_recovery_clausesを使用して指定することもできます。ALTER PLUGGABLE DATABASEの構文図pdb_recovery_clausesを参照してください。

general_recovery

general_recovery句を指定すると、データベース、スタンバイ・データベース、または指定した表領域やファイルのメディア・リカバリを制御できます。インスタンスで、データベースがマウント済(オープン状態またはクローズ状態)の場合、関連ファイルが使用中でなければ、この句を使用できます。

ノート:

全体的または部分的なデータベース・リカバリおよびログファイルのリカバリでは、デフォルトでパラレル化が有効になっています。並列度はデータベースによって計算されます。NOPARALLELを指定してこれらの操作の並列化を無効にすることも、並列度をPARALLEL integerで指定することもできます(それぞれの構文図を参照してください)。

一般的なデータベース・リカバリの制限事項

一般的なリカバリには、次の制限事項があります。

  • データベースがクローズ状態の場合にのみ、データベース全体をリカバリできます。

  • インスタンスで、データベースが排他モードでマウントされている必要があります。

  • リカバリ対象の表領域またはデータファイルがオフラインの場合、データベースがオープン状態でもクローズ状態でも、表領域またはデータファイルをリカバリできます。

  • 共有サーバー・アーキテクチャでOracle Databaseに接続している場合、メディア・リカバリは実行できません。

関連項目:

AUTOMATIC

AUTOMATICを指定すると、リカバリ操作を続けるために必要な、次のアーカイブREDOログ・ファイルの名前が自動的に生成されます。LOG_ARCHIVE_DEST_nパラメータが定義されている場合は、Oracle Databaseはこのパラメータのうち、有効で使用可能なものをスキャンして、最初のローカル・アーカイブ先を決定します。このアーカイブ先をLOG_ARCHIVE_FORMATと組み合せて、ターゲットのREDOログ・ファイル名が生成されます。LOG_ARCHIVE_DEST_nパラメータが定義されていない場合は、かわりにLOG_ARCHIVE_DESTパラメータ値が使用されます。

生成された名前のファイルが見つかった場合は、そのファイルに格納されているREDOが適用されます。ファイルが見つからない場合は、ファイル名の入力を求めるプロンプトが表示され、このときに、生成されたファイル名が候補として表示されます。

AUTOMATICLOGFILEも指定しなかった場合は、ファイル名の入力を求めるプロンプトが表示され、このときに、生成されたファイル名が候補として表示されます。この生成されたファイル名をそのまま使用することも、別の完全修飾ファイル名を入力することもできます。アーカイブ済のファイル名が、Oracle Databaseによって生成されるファイル名とは異なることがわかっている場合は、LOGFILE句を使用すると時間を節約できます。

FROM 'location'

FROM 'location'を指定すると、アーカイブREDOログ・ファイル・グループを読み取る位置を指定できます。locationには、使用するオペレーティング・システムの表記規則に従って、ファイルの位置を完全に指定する必要があります。このパラメータを指定しないと、そのアーカイブREDOログ・グループは、初期化パラメータLOG_ARCHIVE_DESTまたはLOG_ARCHIVE_DEST_1に指定された位置にあるとみなされます。

full_database_recovery

full_database_recovery句を指定すると、データベース全体をリカバリできます。

DATABASE

DATABASE句を指定すると、データベース全体をリカバリできます。これはデフォルトです。データベースがクローズされている場合にのみ、このオプションを使用できます。

STANDBY DATABASE

STANDBY DATABASE句を指定すると、プライマリ・データベースからコピーされたアーカイブREDOログ・ファイルおよび制御ファイルを使用して、フィジカル・スタンバイ・データベースを手動でリカバリできます。スタンバイ・データベースは、マウントされているがオープンされていない状態である必要があります。

この句は、オンライン・データファイルのみをリカバリします。

  • UNTIL句を使用すると、リカバリ操作の存続期間を指定できます。

    • CANCELは、取消しベースのリカバリを示します。RECOVER CANCEL句を指定したALTER DATABASE文を発行するまで、データベース・リカバリが続行されます。

    • TIMEは、時間ベースのリカバリを示します。このパラメータは、dateに指定した時点までデータベースをリカバリします。dateは、'YYYY-MM-DD:HH24:MI:SS'の書式の文字リテラルである必要があります。

    • CHANGEは、変更ベースのリカバリを示します。integerに指定したシステム変更番号の直前の、トランザクションの一貫性が保たれるところまでデータベースをリカバリします。

    • CONSISTENTは、データベースを読取り専用モードでオープンできるよう、すべてのオンライン・ファイルの一貫性が保たれるSCNポイントまでデータベースをリカバリします。この句では、制御ファイルがバックアップ制御ファイルである必要があります。

  • 現行の制御ファイルのかわりにバックアップ制御ファイルを使用する場合、USING BACKUP CONTROLFILEを指定します。

  • Storage Snapshot Optimizationを使用してストレージ・スナップショットでデータベースをリカバリするには、SNAPSHOT TIME句を指定します。この句はストレージ・スナップショットが作成されたときにデータベースがバックアップ・モードでなかったときに使用できます。

    • dateは、'YYYY-MM-DD:HH24:MI:SS'形式の文字リテラルである必要があります。これはスナップショットが完了した直後の時刻を示す必要があります。UNTIL TIME句を指定する場合は、SNAPSHOT TIME dateUNTIL TIME date以前の時刻である必要があります。

    関連項目:

    ストレージ・スナップショットの最適化を使用したリカバリの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。

partial_database_recovery

partial_database_recovery句を指定すると、個々の表領域およびデータファイルをリカバリできます。

TABLESPACE

TABLESPACE句を指定すると、指定した表領域のみをリカバリできます。リカバリの対象となる表領域がオフラインの場合、データベースがオープン状態でもクローズ状態でも、この句を使用できます。

DATAFILE

DATAFILE句を指定すると、指定したデータファイルをリカバリできます。リカバリ対象のデータファイルがオフラインの場合、データベースがオープン状態でもクローズ状態でも、この句を使用できます。

データファイルは、名前または番号で識別できます。番号で識別した場合、filenumberは、V$DATAFILE動的パフォーマンス・ビューのFILE#列、またはDBA_DATA_FILESデータ・ディクショナリ・ビューのFILE_ID列の数を表す整数です。

STANDBY {TABLESPACE | DATAFILE}

旧リリースでは、スタンバイ上の特定の表領域や特定のデータファイルの古いバックアップをリカバリして、残りのスタンバイ・データベースとの一貫性を確保するために、STANDBY TABLESPACEまたはSTANDBY DATAFILEを指定できました。これらの2つの句は、現在サポートされていません。かわりに、ALTER DATABASE RECOVER MANAGED STANDBY DATABASE UNTIL CONSISTENT文を使用して、一貫性のあるポイントまで(それ以上は超えずに)スタンバイ・データベースをリカバリします。

LOGFILE

LOGFILE 'filename'を指定すると、指定したREDOログ・ファイルを使用して、メディア・リカバリを続行できます。

TEST

TEST句を使用すると、試行リカバリを実行できます。試行リカバリが役立つのは、通常のリカバリ手順でなんらかの問題が発生した場合です。REDOストリームの内容をあらかじめ見ることができるので、その他に発生する可能性のある問題を検出できます。試行リカバリでは、標準リカバリに似た方法でREDOが適用されますが、ディスクへの変更書込みは行われず、リカバリによる変更は試行リカバリの終了時にロールバックされます。

この句を使用できるのは、最後のRESETLOGS操作以降に取ったバックアップをリストアする場合のみです。そうでない場合は、エラーが戻ります。

ALLOW ... CORRUPTION

ALLOW integer CORRUPTION句を指定すると、ログ・ファイルが破損した場合に、許容リカバリの続行で許容する破損ブロックの数を指定することができます。

関連項目:

CONTINUE

CONTINUEを指定すると、スレッドを使用禁止にするために中断されていた複数インスタンス・リカバリを再開できます。

CONTINUE DEFAULTを指定すると、他に指定されたログ・ファイルがない場合、自動的に生成されたREDOログ・ファイルを使用して、リカバリが再開されます。ファイル名の入力を求めるプロンプトが表示されないこと以外は、AUTOMATICの指定と同じです。

CANCEL

CANCELを指定すると、取消しベースのリカバリを終了できます。

managed_standby_recovery

managed_standby_recovery句を使用すると、フィジカル・スタンバイ・データベースでのREDO Applyを開始および停止できます。REDO Applyは、プライマリ・データベースから受け取るREDOを継続的に適用することで、スタンバイ・データベースとプライマリ・データベースでのトランザクションの一貫性を確保します。

プライマリ・データベースは、そのREDOデータをスタンバイ・サイトに転送します。REDOデータが、フィジカル・スタンバイ・サイトのREDOログ・ファイルに書き込まれると、REDO Applyでそのログ・ファイルを使用できるようになります。managed_standby_recovery句は、スタンバイ・インスタンスにデータベースがマウントされているか、またはスタンバイ・インスタンスが読取り専用でオープンされている場合にのみ使用できます。

ノート:

Oracle Database 12c以降では、REDO Apply時にデフォルトでリアルタイム適用が有効化されます。リアルタイム適用は、スタンバイREDOログ・ファイルが書き込まれると、このログ・ファイルからすぐにREDOをリカバリします。このとき、このログ・ファイルを最初に物理スタンバイ・データベースでアーカイブする必要はありません。リアルタイム適用は、USING ARCHIVED LOGFILE句を使用して無効化できます。詳細は、次を参照してください。

ノート:

パラレル化は、REDO Applyの実行中、デフォルトで有効になります。並列度はデータベースによって計算されます。NOPARALLELを指定してこれらの操作の並列化を無効にすることも、並列度をPARALLEL integerで指定することもできます(それぞれの構文図を参照してください)。

管理スタンバイ・リカバリの制限事項

この句には、「general_recovery」で示されているものと同じ制限事項が適用されます。

関連項目:

この句の使用の詳細は、『Oracle Data Guard概要および管理』を参照してください。

USING ARCHIVED LOGFILE句

USING ARCHIVED LOGFILEを指定すると、リアルタイム適用を有効化することなくREDO Applyを開始できます。

DISCONNECT

DISCONNECTを指定すると、現行のセッションを他のタスクで使用可能にしたまま、REDO Applyをバックグラウンドで実行するよう指示できます。FROM SESSIONキーワードはオプションであり、意味を明確にするためのものです。

NODELAY

NODELAY句は、プライマリ・データベースのLOG_ARCHIVE_DEST_nパラメータのDELAY属性より優先されます。NODELAY句を指定しない場合は、LOG_ARCHIVE_DEST_n設定のDELAY属性に従って、アーカイブREDOログ・ファイルの適用が遅延されます(属性が設定されている場合)。このパラメータにDELAY属性が指定されていない場合、アーカイブREDOログ・ファイルは、すぐにスタンバイ・データベースに適用されます。

リアルタイム適用をUSING CURRENT LOGFILE句とともに指定すると、このスタンバイのプライマリでLOG_ARCHIVE_DEST_nパラメータに対して指定されたDELAY値は無視されます。デフォルトはNODELAYです。

UNTIL CHANGE句

この句を使用すると、特定のシステム変更番号より前のREDOデータをリカバリするようREDO Applyに指示できます。

UNTIL CONSISTENT

この句を使用すると、スタンバイ・データベースを読取り専用モードでオープンできるよう、一貫性のあるSCNポイントまでスタンバイ・データベースをリカバリできます。

USING INSTANCES

この句は、Oracle Real Application Clusters (Oracle RAC)またはOracle RAC One Nodeデータベースにのみ適用可能で、これを使用すると、コマンドが実行されたインスタンスと同じモード(MOUNTEDまたはREAD ONLY)で開始されたスタンバイの、複数のインスタンスで適用プロセスを開始できます。USING INSTANCES ALLを指定すると、同じモードで開始されたOracle RACスタンバイ・データベースのすべてのインスタンスでRedo Applyが実行されます。USING INSTANCES integerを指定すると、同じモードで開始された、指定された数のインスタンスでRedo Applyが実行されます。integerには、1からスタンバイ・データベースのインスタンス数までの整数値を指定します。Redo Applyを実行するインスタンスはデータベースで選択され、ユーザーが特定のインスタンスを指定することはできません。たとえば、MOUNTEDのインスタンスから4つのインスタンスを指定し、スタンバイの3つのインスタンスのみがMOUNTEDモードで実行されている場合、Redo Applyはその3つのインスタンスでのみ開始されます。USING INSTANCES句を省略した場合、Oracle Databaseはコマンドが実行されたインスタンスでのみRedo Applyを実行します。

FINISH

FINISHを指定すると、フェイルオーバー用に準備されている使用可能なすべてのREDOデータの適用を完了できます。

FINISH句を使用するのは、プライマリ・データベースに障害が発生した場合のみです。この句は、設定済の遅延間隔よりも優先され、この句を指定すると、使用可能なすべてのREDOが即座に適用されます。FINISHコマンドが完了すると、このデータベースをスタンバイ・データベース・ロールで実行することができなくなります。このデータベースは、ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY文を発行してプライマリ・データベースに変換する必要があります。

CANCEL

CANCELを指定すると、REDO Applyをすぐに停止できます。REDO Applyが停止すると、すぐに制御が戻されます。

TO LOGICAL STANDBY句

この句を使用すると、フィジカル・スタンバイ・データベースをロジカル・スタンバイ・データベースに変換できます。

db_name

新しいロジカル・スタンバイ・データベースを識別するデータベース名を指定します。この文の発行時にサーバー・パラメータ・ファイル(spfile)を使用している場合、データベースは、新しいロジカル・スタンバイ・データベースに関する適切な情報でこのファイルを更新します。spfileを使用していない場合は、データベースの停止後にDB_NAMEパラメータの名前を設定するよう求めるメッセージが発行されます。さらに、この句をスタンバイ・データベースで使用する前に、プライマリ・データベースでDBMS_LOGSTDBY.BUILD PL/SQLプロシージャを起動する必要もあります。

関連項目:

DBMS_LOGSTDBY.BUILDプロシージャの詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。

KEEP IDENTITY

ロジカル・スタンバイによって提供されるローリング・アップグレード機能を使用し、さらにプライマリ・データベースおよびフィジカル・スタンバイの元の構成に戻す場合は、この句を使用します。この句を使用して作成されたロジカル・スタンバイ・データベースでは、スイッチオーバーおよびフェイルオーバーのサポートは制限されます。そのため、この句を使用して汎用ロジカル・スタンバイ・データベースを作成しないでください。

関連項目:

ローリング・アップグレードの詳細は、『Oracle Data Guard概要および管理』を参照してください。

非推奨になる予定の管理スタンバイ・リカバリ句

以前のリリースの構文には、次の句が記載されていました。これらの句は非推奨になる予定であり、使用する必要はありません。これらの句は使用しないことをお薦めします。

FINISH FORCE、FINISH WAIT、FINISH NOWAIT

FINISH句のこれらのオプションの書式は、非推奨です。ここでは下位互換性のために、これらのセマンティクスについて説明します。

  • FORCEを指定すると、FINISHプロセスを開始する妨げになる非アクティブなREDO転送セッションを終了できます。

  • NOWAITを指定すると、リカバリが完了する前に、フォアグラウンド・プロセスに制御が戻ります。

  • WAIT(デフォルト)を指定すると、リカバリが完了してから、フォアグラウンド・プロセスに制御が戻ります。

指定されている場合、これらの句は無視されます。ターミナル・リカバリはフォアグラウンドで実行され、常にすべてのREDO転送セッションを終了します。そのため、リカバリが完了するまでユーザーに制御は戻りません。

CANCEL IMMEDIATE、CANCEL WAIT、CANCEL NOWAIT

CANCEL句のこれらのオプションの書式は非推奨です。ここでは下位互換性のために、これらのセマンティクスについて説明します。

  • IMMEDIATEキーワードを指定すると、現在のREDOログ・ファイルが完全に適用されるにREDO Applyを停止できます。セッション制御は、REDO Applyが実際に停止した時点で戻ります。

  • NOWAITキーワードを含めると、CANCEL操作が終了するのを待たずに、セッション制御が戻ります。

指定されている場合、これらの句は無視されます。REDO Applyは常にすぐに取り消され、操作の完了後にのみ制御がセッションに戻されます。

USING CURRENT LOGFILE句

USING CURRENT LOGFILE句は非推奨です。これにより、REDO Apply時にリアルタイム適用が起動されます。ただし、現在、これはデフォルトの動作になっているため、この句を利用する意味はなくなりました。

BACKUP句

この句を使用すると、データベース内のすべてのデータファイルをオンライン・バックアップ・モード(ホット・バックアップ・モードともいう)にしたり、このモードから戻すことができます。

関連項目:

個々の表領域のすべてのデータファイルに対するオンライン・バックアップ・モードの設定または解除の詳細は、「ALTER TABLESPACE」を参照してください。

BEGIN BACKUP句

BEGIN BACKUPを指定すると、データベース内のすべてのデータファイルがオンライン・バックアップ・モードに移行します。データベースをマウントしてオープンしておく必要があります。また、メディア・リカバリを使用可能にする(データベースをARCHIVELOGモードにする)必要があります。

データベースがオンライン・バックアップ・モードになっている間は、インスタンスの通常停止、個々の表領域のバックアップの開始、表領域のオフラインへの切替え、または表領域の読取り専用設定は実行できません。

この句は、オフラインまたは読取り専用の表領域のデータファイルには影響しません。

END BACKUP句

END BACKUPを指定すると、オンライン・バックアップ・モードの現行のデータベースにあるすべてのデータファイルを、オンライン・バックアップ・モードから戻すことができます。この操作を実行するとき、データベースはマウント済(オープン状態またはクローズ状態)である必要があります。

システム障害、インスタンス障害、またはSHUTDOWN ABORT操作の後は、オンライン・バックアップ・モードのファイルがシステム・クラッシュ時のファイルと一致するかどうかは識別されません。ファイルに一貫性がある場合、個々のデータファイル、またはすべてのデータファイルをオンライン・バックアップ・モードから戻すことができます。これによって、起動時にファイルのメディア・リカバリを回避できます。

  • ALTER DATABASE DATAFILE ... END BACKUP文を使用すると、個々のデータファイルをオンライン・バックアップ・モードから戻すことができます。「database_file_clauses」を参照してください。

  • ALTER TABLESPACE ... END BACKUP文を使用すると、表領域内のすべてのデータファイルをオンライン・バックアップ・モードから戻すことができます。

database_file_clauses

database_file_clausesを指定すると、データファイルおよび一時ファイルを変更できます。インスタンスで、データベースがマウント済(オープン状態またはクローズ状態)の場合、関連ファイルが使用中でなければ、次の句はどれでも使用できます。ただし、move_datafile_clauseを使用すると、使用中のデータファイルを移動できます。

RENAME FILE句

RENAME FILE句を使用すると、データファイル、一時ファイルまたはREDOログ・ファイル・メンバーの名前を変更できます。この句を指定する前に、オペレーティング・システムのファイル名の表記規則に従って、各ファイル名を指定してください。

  • データファイルまたは一時ファイルにこの句を使用するには、データベースをマウントしておく必要があります。データベースはオープンしていてもかまいませんが、名前を変更するデータファイルまたは一時ファイルはオフラインにしておく必要があります。また、最初にファイル・システム上のファイルを新しい名前に変更する必要があります。

  • ログ・ファイル用にこの句を使用するには、データベースはマウントされているがオープンされていない状態である必要があります。

  • ブロック・チェンジ・トラッキングを使用可能にしている場合、この句を使用してブロック・チェンジ・トラッキング・ファイルの名前を変更できます。ブロック・チェンジ・トラッキング・ファイルの名前を変更する場合、データベースはマウントされているがオープンされていない状態である必要があります。

この句によって名前が変更されるのは、制御ファイル内のファイルのみです。オペレーティング・システムのファイルの名前が実際に変更されることはありません。オペレーティング・システムのファイルは引き続き存在しますが、Oracle Databaseによって使用されることはなくなります。

関連項目:

create_datafile_clause

CREATE DATAFILE句を使用すると、元のデータファイルのかわりに新しい空のデータファイルを作成できます。この句を使用すると、バックアップを取らずに失われたデータファイルを再作成できます。filenameまたはfilenumberには、データベースの一部であるファイルまたは以前一部であったファイルを指定します。番号で識別した場合、filenumberは、V$DATAFILE動的パフォーマンス・ビューのFILE#列、またはDBA_DATA_FILESデータ・ディクショナリ・ビューのFILE_ID列の数を表す整数です。

  • AS NEWを指定すると、データファイル用のデフォルトのファイル・システム位置に、システムが生成するファイル名で、置き換えるファイルと同じサイズのOracle Managed Filesのデータファイルが作成されます。

  • AS file_specificationを指定すると、新しいデータファイルにファイル名(およびオプションでサイズ)を割り当てることができます。オペレーティング・システムのファイル・システム内の標準データファイルと一時ファイル、またはOracle Automatic Storage Management (Oracle ASM)ディスク・グループのファイルを指定するには、file_specificationdatafile_tempfile_spec書式(「file_specification」を参照)を使用します。

元のファイル(filenameまたはfilenumber)が既存のOracle Managed Filesのデータファイルの場合、Oracle Databaseは新しいファイルを作成した後、元のファイルを削除しようとします。元のファイルが既存のユーザー管理データファイルの場合、Oracle Databaseは元のファイルを削除しません。

AS句を指定しない場合、Oracle Databaseによって、filenameまたはfilenumberに指定したファイルと同じ名前およびサイズのファイルが新しく作成されます。

リカバリ時には、元のデータファイルの作成後に書き込まれたアーカイブREDOログを、失われたデータファイルにかわる新しい空のデータファイルに適用する必要があります。

新しいファイルは、元のファイルの作成時と同じ状態で作成されます。新しいファイルを元のファイルが失われた時点の状態に戻すには、メディア・リカバリを行ってください。

新規データファイルの作成の制限事項

新規データファイルの作成には、次の制限事項があります。

  • SYSTEM表領域の最初のデータファイルに基づいて新しいファイルを作成することはできません。

  • このCREATE DATAFILE句には、datafile_tempfile_specautoextend_clauseは指定できません。

関連項目:

alter_datafile_clause

DATAFILE句を使用すると、名前または番号で識別するファイルを操作できます。番号で識別した場合、filenumberは、V$DATAFILE動的パフォーマンス・ビューのFILE#列、またはDBA_DATA_FILESデータ・ディクショナリ・ビューのFILE_ID列の数を表す整数です。DATAFILE句を使用すると、次のようにデータベース・ファイルを変更できます。

ONLINE

ONLINEを指定すると、データファイルをオンラインにできます。

OFFLINE

OFFLINEを指定すると、データファイルがオフラインになります。データベースがオープンされている場合は、データファイルをオンラインに戻す前にデータファイルのメディア・リカバリを行う必要があります(データファイルをオフラインにする前にチェックポイントが実行されないため)。

FOR DROP

データベースがNOARCHIVELOGモードの場合は、FOR DROP句を指定して、データファイルをオフラインにする必要があります。ただし、この句は、データベースからデータファイルを削除しません。そのため、オペレーティング・システムのコマンドを使用するか、またはデータファイルが存在する表領域を削除する必要があります。削除するまで、データファイルはRECOVERまたはOFFLINEの状態でデータ・ディクショナリに残ります。

データベースがARCHIVELOGモードの場合は、FOR DROP句は無視されます。

RESIZE

RESIZEを指定すると、データファイルのサイズを、指定した絶対サイズ(バイト単位)まで増やしたり減らすことができます。デフォルト値はないため、必ずサイズを指定してください。このコマンドを使用して、消失書込みデータを格納するシャドウ表領域のデータファイルのサイズを変更することもできます。

増やしたサイズに対して十分なディスク領域がない場合、または減らしたサイズを超えるデータがファイルに含まれる場合、エラー・メッセージが戻されます。

END BACKUP

END BACKUPを指定すると、データファイルをオンライン・バックアップ・モードから戻すことができます。END BACKUP句の詳細は、ALTER DATABASE構文の最上位で説明しています。「END BACKUP句」を参照してください。

ENCRYPT | DECRYPT

これらの句を使用すると、透過的データ暗号化(TDE)を使用した、データファイルのオフラインでの暗号化または復号化を実行できます。指定するすべての表領域で、すべてのデータファイルが暗号化されるか、すべてのデータファイルが復号化されている必要があります。

これらいずれかの句を発行する前に、データベースがマウントされている必要があります。データベースはオープンしておくこともできますが、暗号化または復号化されるデータファイルを含む表領域はオフラインになっている必要があります。TDEマスター・キーはデータベース・メモリーにロードされている必要があります。

  • 暗号化されていないデータファイルを暗号化する場合は、ENCRYPTを指定します。データファイルはAES128アルゴリズムを使用して暗号化されます。

  • データファイルを復号化する場合は、DECRYPTを指定します。データファイルは、ALTER DATABASE DATAFILE ... ENCRYPT文を使用して、事前に暗号化されている必要があります。

データファイルの暗号化および復号化の制限事項

次の制限事項は、ENCRYPTおよびDECRYPT句に適用されます。

  • 一時表領域の一時データファイルを暗号化または復号化することはできません。かわりに、一時表領域を削除し、暗号化された表領域として再作成する必要があります。

  • UNDO表領域のデータファイルは暗号化しないことをお薦めします。そのようにすると、キーストアが閉じることが妨げられ、データベースが機能しなくなります。また、暗号化された表領域に関連付けられているすべてのUNDOレコードは、UNDO表領域ですでに自動的に暗号化されているため、この操作は必要ありません。

ノート:

ENCRYPTまたはDECRYPT句の使用は、データファイルのオフライン暗号化または復号化を実行する一連のステップにおける1つのステップにすぎません。これらのいずれかの句を使用する前に、すべてのステップについて、『Oracle Database Advanced Securityガイド』を参照してください。

alter_tempfile_clause

TEMPFILE句を使用すると一時データファイルのサイズを変更できますが、autoextend_clauseを指定して永続データファイルの場合と同じ効果を得ることもできます。データベースは、オープンされている必要があります。一時ファイルの指定は、名前と番号のどちらでもかまいません。番号で指定する場合は、filenumberに整数(V$TEMPFILE動的パフォーマンス・ビューのFILE#列に格納されている数値)を指定します。

ノート:

オペレーティング・システムによっては、一時ファイルのブロックが実際にアクセスされるまで、一時ファイル用の領域が割り当てられない場合があります。領域の割当ての遅延のため、一時ファイルの作成およびサイズ変更が速くなります。ただし、後で一時ファイルが使用されるときに、十分なディスク領域を使用可能にする必要があります。問題を回避するには、一時ファイルの作成またはサイズ変更の前に、ディスクの空き領域が、新しく作成する一時ファイルまたはサイズ変更後の一時ファイルのサイズよりも大きいことを確認してください。ディスク領域に余裕を持たせておくと、関連のない操作による、予期されるディスク使用量の増加にも対応できます。その後で、作成またはサイズ変更操作を実行してください。

DROP

DROPを指定すると、tempfileがデータベースから削除されます。表領域はそのまま残ります。

INCLUDING DATAFILESを指定すると、関連付けられたオペレーティング・システム・ファイルは削除され、削除された各ファイルのメッセージがアラート・ログに書き込まれます。同じ結果は、ALTER TABLESPACE ... DROP TEMPFILE文を使用しても得られます。詳細は、「ALTER TABLESPACE」の「DROP句」を参照してください。

move_datafile_clause

MOVE DATAFILE句を使用すると、オンライン・データファイルを新しい場所に移動できます。この操作を実行するときには、データベースが開かれていて、データファイルにアクセスしていてもかまいません。この処理の実行中には、データファイルのコピーが作成されます。この句を使用する前に、オリジナルのデータファイルとそのコピー用に適切なディスク領域があることを確認してください。

元のデータファイルは、file_nameASM_filename、またはfile_numberを使用して指定できます。ASMファイル名の詳細は、ASM_filenameを参照してください。番号で識別した場合、file_numberは、V$DATAFILE動的パフォーマンス・ビューのFILE#列、またはDBA_DATA_FILESデータ・ディクショナリ・ビューのFILE_ID列の数を表す整数です。

TO句を使用すると、新しいfile_nameまたはASM_filenameを指定できます。Oracle Managed Filesを使用している場合は、TO句を省略できます。この場合、Oracle Databaseは、データファイル用に一意の名前を作成して、そのファイルをDB_CREATE_FILE_DEST初期化パラメータで指定したディレクトリに保存します。

REUSEを指定すると、すでにデータファイルが存在していても、新しいデータファイルが作成されます。

KEEPを指定すると、元のデータファイルがMOVE DATAFILE操作後に維持されるようになります。元のデータファイルがOracle Managed Fileの場合には、KEEPを指定できません。新しいデータファイルがOracle Managed Fileの場合には、KEEPを指定できます。

autoextend_clause

autoextend_clauseを使用すると、新規または既存のデータファイルまたは一時ファイルの自動拡張を使用可能または使用禁止にできます。この句の詳細は、file_specification」を参照してください。

logfile_clauses

logfile_clausesを指定すると、ログ・ファイルを追加、削除または変更できます。

ARCHIVELOG

ARCHIVELOGを指定すると、REDOログ・ファイル・グループを再利用する前に、グループの内容をアーカイブできます。このモードでは、メディア・リカバリができるようになります。この句は、インスタンスを正常に停止したか、またはエラーなしで即時停止した後に、再起動してデータベースをマウントした後にのみ使用します。

MANUAL

MANUALを指定すると、Oracle Databaseによって作成されたREDOログ・ファイルのアーカイブを、ユーザーが制御できます。この句は、テープに直接アーカイブするユーザーなどに対して、下位互換性を保つために提供されています。MANUALを指定する場合、次のことに注意します。

  • ログの切替えが発生した場合、Oracle DatabaseはREDOログ・ファイルをアーカイブしません。これは手動で行う必要があります。

  • アーカイブ・ログの宛先として、スタンバイ・データベースを指定することはできません。したがって、データベースを、MAXIMUM PROTECTIONまたはMAXIMUM AVAILABILITYスタンバイ保護モードにすることはできません。

この句を指定しない場合、REDOログ・ファイルは、初期化パラメータLOG_ARCHIVE_DEST_nに指定された宛先に自動的にアーカイブされます。

NOARCHIVELOG

REDOログ・ファイル・グループを再利用する前に、内容をアーカイブする必要がない場合は、NOARCHIVELOGを指定します。このモードでは、メディア障害後のリカバリはできません。インスタンスでデータベースがマウントされているがオープンされていない場合にのみ、この句を使用します。

[NO] FORCE LOGGING

この句を使用すると、データベースをFORCE LOGGINGモードにしたり、このモードから戻すことができます。データベースは、マウントまたはオープンされている必要があります。

FORCE LOGGINGモードでは、一時表領域および一時セグメントの変更を除くデータベースのすべての変更が記録されます。この設定は、各表領域で指定するNOLOGGINGまたはFORCE LOGGING設定、および各データベース・オブジェクトで指定するNOLOGGING設定より優先され、これらの設定には影響されません。

FORCE LOGGINGを指定すると、Oracle Databaseは、まだ記録されていない実行中のすべての操作が終了するまで待機します。

関連項目:

FORCE LOGGINGモードの使用の詳細は、『Oracle Database管理者ガイド』を参照してください。

SET STANDBY NOLOGGING

STANDBY NOLOGGINGは、ロギングなしで実行できる操作をログに記録しないようにデータベースに対して指示します。データベースは、操作によって作成されたデータ・ブロックをData Guard構成内の資格を持つ各スタンバイ・データベースに送信し、スタンバイの欠落データを防止し、そのデータのプライマリとの同期を維持します。

この句を使用して、ログに記録されないタスクの処理方法を決定します。データベースの作成時にデータベースの2つのロギング・モードのいずれかを選択でき、データベースのロギング・モードを1つのモードからもう1つのモードに変更できます。

  • データベースをロード・パフォーマンスのスタンバイ・ロギングなしモードにするには、SET STANDBY NOLOGGING FOR LOAD PERFORMANCEを指定します。このモードでは、ロード・プロセスの速度が低下しない場合には、ログに記録されないタスクの一部としてロードされたデータは、プライベート・ネットワーク接続を介して資格のあるスタンバイに送信されます。ロード・プロセスが低速になる場合は、データは送信されず、各スタンバイで無効化REDOが発生するとプライマリから自動的にフェッチされ、データ・ブロックが受信されるまで再試行されます。

  • データベースをデータ可用性のスタンバイ・ロギングなしモードにするには、SET STANDBY NOLOGGING FOR DATA AVAILABILITYを指定します。このモードでは、ログに記録されないタスクの一部としてロードされたデータは、ネットワーク接続を介して、またはネットワーク接続が失敗する場合にはREDO内のブロック・イメージを介して、資格のあるスタンバイに送信されます。つまり、このモードでは、ネットワーク接続または関連するプロセスによってプライベート・ネットワーク接続を介したデータの送信が妨げられる場合には、ロードはログに記録する方法で行うように切り替わります。

スタンバイ・ロギングなしモードの場合、資格のあるスタンバイは、読取りのためにオープンされ、管理リカバリを実行しており、スタンバイREDOログでREDOを受信しているスタンバイです。

スタンバイ・ロギングなしの設定の制限事項

SET STANDBY NOLOGGING句はFORCE LOGGINGと同時に使用することはできません。

RENAME FILE句

ログ・ファイルに対するこの句の機能は、データファイルおよび一時ファイルの場合と同じです。「RENAME FILE句」を参照してください。

CLEAR LOGFILE句

CLEAR LOGFILE句を使用すると、オンラインREDOログを再初期化でき、このときにREDOログをアーカイブしないことも選択できます。CLEAR LOGFILEは、REDOログの追加および削除と似ていますが、スレッドのログが2つしかなくてもこの文を発行できる点や、現行のREDOログ・ファイルがクローズ状態のスレッドのものであっても発行できる点が異なります。

スタンバイ・データベースでは、STANDBY_FILE_MANAGEMENT初期化パラメータがAUTOに設定されており、いずれかのログ・ファイルがOracle Managed Filesである場合、Oracle Databaseによって、制御ファイル内のファイルと同数のOracle Managed Filesのログ・ファイルが作成されます。ログ・ファイル・メンバーは、ログ・ファイルの現行のデフォルト宛先に格納されます。

  • アーカイブされていないREDOログを再利用する場合は、UNARCHIVEDを指定する必要があります。

    ノート:

    リカバリのためにREDOログが必要な場合にUNARCHIVEDを指定すると、バックアップが使用できなくなります。

  • ARCHIVELOGモードのデータベースでデータファイルをオフラインにする(DROPキーワードを使用せずにALTER DATABASE ... DATAFILE OFFLINEを指定する)場合、およびそのデータファイルをオンラインに戻す前に、クリアするアーカイブされていないログがデータファイルのリカバリに必要な場合は、UNRECOVERABLE DATAFILEを指定する必要があります。この場合、CLEAR LOGFILE文の完了後にデータファイルおよび表領域全体を削除する必要があります。

    メディア・リカバリで必要なログを、CLEAR LOGFILEを使用して消去しないでください。データベースのチェックポイント後のREDOを含むログをクリアする必要がある場合は、不完全メディア・リカバリを最初に実行する必要があります。オープンしているスレッドの現行のREDOログはクリアできます。クローズしているスレッドの現行のログは、そのスレッド内でログを切り替えればクリアできます。

    CLEAR LOGFILE文が、システム障害またはインスタンス障害による割込みを受けると、データベースがハングする場合があります。このような状況になった場合は、データベースの再起動後に、この文を再発行します。ログ・グループのあるメンバーにアクセスしようとした際、I/Oエラーによる障害が発生した場合は、そのメンバーを削除して他のメンバーを追加できます。

add_logfile_clauses

この句を使用すると、データベースにREDOログ・ファイル・グループを追加したり、既存のREDOログ・ファイル・グループに新しいメンバーを追加することができます。

ADD LOGFILE句

ADD LOGFILE句を使用すると、オンラインREDOログまたはスタンバイREDOログに1つ以上のREDOログ・ファイル・グループが追加されます。

関連項目:

STANDBY

STANDBY句を使用すると、REDOログ・ファイル・グループがスタンバイREDOログに追加されます。この句を指定しないと、ログ・ファイル・グループがオンラインREDOログに追加されます。

INSTANCE

INSTANCE句は、Oracle Real Application Clusters (Oracle RAC)またはOracle RAC One Nodeデータベースのみに適用できます。REDOログ・ファイル・グループを追加するインスタンスの名前を指定します。インスタンス名は最大80文字の文字列です。Oracle Databaseは、指定されたインスタンスにマップされるスレッドを自動的に使用します。指定されたインスタンスにスレッドがマップされていない場合、Oracle Databaseはマップされていない使用可能なスレッドを自動的に取得して、そのインスタンスに割り当てます。この句を指定しないと、Oracle Databaseは、現行のインスタンスを指定した場合と同じコマンドを実行します。指定されたインスタンスにマップされた現行のスレッドが存在せず、マップされていない使用可能なスレッドも存在しない場合、エラーが戻されます。

THREAD

スタンバイREDOログにREDOログ・ファイル・グループを追加する場合は、THREAD句を使用して、ログ・ファイル・グループを特定のプライマリ・データベースREDOスレッドに割り当てます。どのREDOスレッドが開かれているかを判断するには、プライマリ・データベースでV$INSTANCEビューに対して問合せを行い、いずれか1つのスレッド番号を指定します。

オンラインREDOログにログ・ファイル・グループを追加する場合、THREAD句を使用して、ログ・ファイル・グループを特定のREDOスレッドに割り当てることもできます。この使用方法は現在非推奨になっています。INSTANCE句を使用すると、同じ結果になり、使用も簡単です。

GROUP

GROUP句を使用すると、すべてのスレッドのすべてのREDOログ・ファイル・グループの中でグループを一意に識別できます(この値の範囲は、1からCREATE DATABASE文のMAXLOGFILESで指定された値まで)。同一のGROUP値を持つREDOログ・ファイル・グループを複数追加することはできません。このパラメータを指定しない場合、値が自動的に生成されます。REDOログ・ファイル・グループのGROUP値は、動的パフォーマンス・ビューV$LOGで確認できます。

redo_log_file_spec

redo_log_file_specには、1つ以上のメンバー(コピー)を含むREDOログ・ファイル・グループを指定します。新しいログ・ファイルにファイル名を指定しない場合、CREATE DATABASE「LOGFILE句」に示すルールに従って、Oracle Managed Filesが作成されます。

関連項目:

ADD LOGFILE MEMBER句

ADD LOGFILE MEMBER句を使用すると、既存のREDOログ・ファイル・グループに新しいメンバーを追加できます。新しいメンバーをそれぞれ'filename'に指定します。すでにファイルが存在する場合、追加するメンバーはグループ内の他のメンバーと同じサイズである必要があり、REUSEを指定する必要があります。ファイルが存在しない場合、適切なサイズのファイルが作成されます。メディア障害によってグループのすべてのメンバーを失った場合は、そのグループにメンバーを追加することはできません。

STANDBY

スタンバイREDOログ・ファイル・グループにメンバーを追加する場合は、STANDBYを指定する必要があります。そうでない場合は、エラーが戻ります。

logfile_descriptor句を使用して、次のいずれかの方法で、既存のREDOログ・ファイル・グループを指定できます。

GROUP integer

REDOログ・ファイル・グループを識別するGROUPパラメータの値を指定します。

filename(s)

REDOログ・ファイル・グループのすべてのメンバーをリストします。ご使用のオペレーティング・システムの表記規則に従って、ファイル名を完全に指定する必要があります。

関連項目:

drop_logfile_clauses

この句を使用すると、REDOログ・ファイル・グループまたはREDOログ・ファイル・メンバーを削除できます。

DROP LOGFILE句

DROP LOGFILE句を使用すると、REDOログ・ファイル・グループのすべてのメンバーを削除できます。この句を使用してOracle Managed Filesを削除する場合、ディスクからもすべてのログ・ファイル・メンバーが削除されます。ADD LOGFILE MEMBER句と同様に、REDOログ・ファイル・グループを指定します。

  • 現行のログ・ファイル・グループを削除する場合、最初にALTER SYSTEM SWITCH LOGFILE文を発行する必要があります。

  • アーカイブが必要なREDOログ・ファイル・グループは、削除できません。

  • REDOログ・ファイル・グループを削除すると、そのREDOスレッドのREDOログ・ファイル・グループが2つ未満になる場合は、削除できません。

DROP LOGFILE MEMBER句

DROP LOGFILE MEMBER句を使用すると、1つ以上のREDOログ・ファイル・メンバーを削除できます。各'filename'には、ご使用のオペレーティング・システムのファイル名の表記規則に従って、メンバーを完全に指定する必要があります。

  • 現行のログのログ・ファイルを削除する場合、最初にALTER SYSTEM SWITCH LOGFILE文を発行する必要があります。詳細は、「ALTER SYSTEM」を参照してください。

  • この句では、有効なデータを含むREDOログ・ファイル・グループのすべてのメンバーを削除できません。このような操作には、DROP LOGFILE句を使用してください。

switch_logfile_clause

この句は、現在のデータベースのブロック・サイズと異なるブロック・サイズでデータベースをディスクに移行する場合に有効です。この句を使用すると、オープン状態とクローズ状態の両スレッドを含む外部で使用可能なすべてのスレッドに対して、異なるブロック・サイズにログ・ファイルを切り替えることができます。4KBセクターのディスクを使用するようデータベースを移行する場合は、integerに4096を指定する必要があります。データベースの移行を戻して512バイト・セクターのディスクを使用するようにする場合は、integerに512を指定する必要があります。

この句は、既存のALTER SYSTEM SWITCH LOGFILE文の拡張です。この文は、ログを単一スレッドに切り替えます。一方、句の方は、オープン状態とクローズ状態の両スレッドを含む外部で使用可能なすべてのスレッドに対して、ログ・ファイルを切り替えます。

この句を使用する前に、移行先のディスクと同じブロック・サイズで2つ以上のREDOログ・グループをあらかじめ作成しておく必要があります。

関連項目:

異なるブロック・サイズでのデータベースのディスクへの移行の詳細は、『Oracle Database管理者ガイド』および「ログ・ファイルの追加例」を参照してください。

supplemental_db_logging

この句を使用すると、ログ・ストリームへのサプリメンタル・データの追加を実行または停止するようにOracle Databaseに指示できます。

ADD SUPPLEMENTAL LOG句

ADD SUPPLEMENTAL LOG DATAを指定すると、最小限のサプリメンタル・ロギングを有効にできます。最小サプリメンタル・ロギングに加え、列データ・ロギングを使用可能にする場合、ADD SUPPLEMENTAL LOG supplemental_id_key_clauseを指定します。PL/SQLコールのサプリメンタル・ロギングを使用可能にする場合は、ADD SUPPLEMENTAL LOG supplemental_plsql_clauseを指定します。Oracle Databaseは、デフォルトでは最小サプリメンタル・ロギングまたはサプリメンタル・ロギングを使用可能にしません。

最小サプリメンタル・ロギングによって、LogMiner(およびLogMinerの技術に基づいた製品)には、連鎖行および様々な記憶域構成(クラスタ表など)をサポートするために十分な情報が確保されます。

あるデータベースで生成されたREDOが、別のデータベースでの変更の基となる(マイニングおよび適用される)場合(ロジカル・スタンバイ・データベースなど)、ROWIDではなく列データを使用して、影響を受ける行を識別する必要があります。この場合、supplemental_id_key_clauseを指定する必要があります。

サプリメンタル・ロギングが使用可能になっているかどうかを確認するには、V$DATABASEビューの適切な列を問い合せます。

この句は、データベースがオープンしているときに使用できます。ただし、パフォーマンスに影響するカーソル・キャッシュのすべてのDMLカーソルが、キャッシュが再移入されるまで無効になります。

CDBでこの句を使用する場合は、現在のコンテナがルートである必要があります。この場合、そのCDB全体に対して操作が実行されます。

supplemental_id_clauseの詳細は、「CREATE TABLE」のsupplemental_id_key_clause」を参照してください。

関連項目:

DROP SUPPLEMENTAL LOG句

この句を使用すると、サプリメンタル・ロギングを停止できます。

  • DROP SUPPLEMENTAL LOG DATAを指定すると、更新操作が発生するたびにREDOログ・ストリームに追加の最小ログ情報が置かれることを停止できます。Oracle Databaseがsupplemental_id_key_clauseで指定された列データ・サプリメンタル・ロギングを実行している場合、まずDROP SUPPLEMENTAL LOG supplemental_id_key_clauseで列データ・サプリメンタル・ロギングを停止してから、この句を指定する必要があります。

  • DROP SUPPLEMENTAL LOG supplemental_id_key_clauseを指定すると、システム生成の補助ログ・グループの一部またはすべてを削除できます。削除する補助ログ・グループがsupplemental_id_key_clauseを使用して追加された場合、この句を指定する必要があります。

  • PL/SQLコールのサプリメンタル・ロギングを使用禁止にする場合は、DROP SUPPLEMENTAL LOG supplemental_plsql_clauseを指定します。

CDBでこの句を使用する場合は、現在のコンテナがルートである必要があります。この場合、そのCDB全体に対して操作が実行されます。

関連項目:

サプリメンタル・ロギングの詳細は、『Oracle Data Guard概要および管理』を参照してください。

controlfile_clauses

controlfile_clausesを指定すると、制御ファイルを作成またはバックアップできます。

CREATE CONTROLFILE句

CREATE CONTROLFILE句を使用すると、制御ファイルを作成できます。

  • PHYSICAL STANDBYを指定すると、物理データベースの管理に使用する制御ファイルを作成することになります。これは、STANDBYを指定していて、PHYSICALLOGICALを指定していない場合のデフォルトです。

  • LOGICAL STANDBYを指定すると、論理データベースの管理に使用する制御ファイルを作成することになります。

  • FAR SYNC INSTANCEを指定すると、Data Guard遠隔同期インスタンスの管理に使用する制御ファイルを作成することになります。

ファイルがすでに存在している場合は、REUSEを指定してください。Oracle RAC環境では、制御ファイルを共有記憶域に配置する必要があります。

関連項目:

制御ファイル作成の詳細は、『Oracle Data Guard概要および管理』を参照してください。

BACKUP CONTROLFILE句

BACKUP CONTROLFILE句を使用すると、現行の制御ファイルのバックアップを取ることができます。この句を使用するとき、データベースをオープンまたはマウントしておく必要があります。

TO 'filename'

この句を使用して、制御ファイルのバイナリ・バックアップを指定します。filenameには、オペレーティング・システムの規則に従って完全なファイル名を指定する必要があります。指定したファイルがすでに存在している場合は、REUSEを指定します。Oracle RAC環境では、filenameを共有記憶域に配置する必要があります。

バイナリ・バックアップには、TO TRACEを指定した場合には取得されない情報が格納されています(アーカイブ・ログ履歴、読取り専用およびオフライン表領域のオフライン範囲、RMANを使用する場合のバックアップ・セットおよびコピーなど)。COMPATIBLE初期化パラメータが 10.2以上の場合は、バイナリの制御ファイル・バックアップに一時ファイルのエントリが含まれます。

TO TRACE

TO TRACEを指定すると、Oracle Databaseで、制御ファイルの物理バックアップが作成されるかわりに、トレース・ファイルにSQL文が書き込まれます。トレース・ファイルに記述されたSQL文を使用すると、データベースの起動、制御ファイルの再作成、データベースのリカバリやオープンなどの操作を、作成した制御ファイルに基づいて正しく実行できます。ブロック・チェンジ・トラッキングを使用可能にしているときにALTER DATABASE BACKUP CONTROLFILE TO TRACE文を発行すると、生成されるトレース・ファイルには、ブロック・チェンジ・トラッキングを再度使用可能にするコマンドが記述されます。

この文は暗黙的なALTER DATABASE REGISTER LOGFILE文を発行します。アーカイブ・ログ・ファイルが現行のアーカイブ・ログの宛先に存在する場合、この文によって、インカネーション・レコードが作成されます。

このトレース・ファイルには、アーカイブログの現在の宛先に存在しているログファイル用のALTER DATABASE REGISTER LOGFILE文も記述されています。これは、ログファイルを適用するREDOのブランチについて、暗黙的にデータベース・インカネーションのレコードを作成することになります。

制御ファイルのコピーがすべて失われた場合(または、制御ファイルのサイズを変更する場合)は、トレース・ファイルからスクリプト・ファイルに文をコピーし、必要に応じて文を編集できます。

  • AS filenameを指定すると、標準トレース・ファイルではなくfilenameというファイルにトレース出力を格納できます。

  • REUSEを指定すると、filenameと呼ばれる既存ファイルを上書きできます。

  • RESETLOGSは、データベースの起動用としてトレース・ファイルに書き込まれたSQL文が、ALTER DATABASE OPEN RESETLOGSであることを示します。オンライン・ログが使用不可能な場合のみ、この設定は有効です。

  • NORESETLOGSは、データベースの起動用としてトレース・ファイルに書き込まれたSQL文が、ALTER DATABASE OPEN NORESETLOGSであることを示します。オンライン・ログが使用可能な場合のみ、この設定は有効です。

オンライン・ログの今後の状態が予測できない場合は、RESETLOGSNORESETLOGSも指定しないでください。この場合、両方のバージョンのスクリプトがトレース・ファイルに入れられるため、スクリプトが必要になった時点で、適切なバージョンを選択できます。

トレース・ファイルは、DIAGNOSTIC_DEST初期化パラメータによって決まるサブディレクトリに格納されます。CREATE CONTROLFILE文が書き込まれたトレース・ファイルの名前と場所は、アラート・ログで確認できます。V$DIAG_INFO動的パフォーマンス・ビューのNAMEおよびVALUE列を問い合せて、トレース・ファイルのディレクトリを検索することもできます。

関連項目:

アラート・ログの表示方法の詳細は、『Oracle Database管理者ガイド』を参照してください。

standby_database_clauses

この句を使用すると、スタンバイ・データベースをアクティブにする、または保護モードと非保護モードのいずれかを指定することができます。

関連項目:

フィジカルおよびロジカルのスタンバイ・データベースの説明およびスタンバイ・データベースの保守および使用に関する情報は、『Oracle Data Guard概要および管理』を参照してください。

activate_standby_db_clause

ACTIVATE STANDBY DATABASE句を使用すると、スタンバイ・データベースをプライマリ・データベースに変換できます。

ノート:

このコマンドを使用する前に、『Oracle Data Guard概要および管理』を参照して使用方法を確認してください。

PHYSICAL

PHYSICALを指定すると、フィジカル・スタンバイ・データベースをアクティブにできます。これはデフォルトです。

LOGICAL

LOGICALを指定すると、ロジカル・スタンバイ・データベースをアクティブにできます。ロジカル・スタンバイ・データベースが複数ある場合は、すべてのスタンバイ・システムで同じログ・データが使用可能であることを確認する必要があります。

FINISH APPLY

この句は、ロジカル・スタンバイ・データベースのみに適用されます。この句は、ターミナル適用を開始するために使用します(ターミナル適用を実行すると、残りのREDOが適用され、ロジカル・スタンバイ・データベースがプライマリ・データベースと同じ状態になります)。ターミナル適用が完了すると、データベースは、ロジカル・スタンバイからプライマリ・データベースへのスイッチオーバーを完了します。

データの消失があってもデータベースをすぐにリストアする必要がある場合は、この句を指定しないでください。データベースは、ターミナル適用を行わずに、ロジカル・スタンバイからプライマリ・データベースへのスイッチオーバーを実行します。

maximize_standby_db_clause

この句では、このデータベース環境でのデータの保護レベルを指定します。この句をプライマリ・データベースから指定します。

ノート:

PROTECTEDおよびUNPROTECTEDキーワードは、意味を明確にするために変更されていますが、引き続きサポートされています。PROTECTEDは、TO MAXIMIZE PROTECTIONと同等です。UNPROTECTEDは、TO MAXIMIZE PERFORMANCEと同等です。

TO MAXIMIZE PROTECTION

この設定は、最大保護モードを確立し、最高レベルのデータ保護を実現します。トランザクションのリカバリに必要なすべてのデータが、SYNCログ転送モードを使用するように構成された1つ以上のフィジカル・スタンバイ・データベースに書き込まれるまで、そのトランザクションはコミットされません。1つ以上のスタンバイ・データベースにREDOレコードを書き込めない場合、プライマリ・データベースは停止します。このモードでは、データ非消失は保証されますが、プライマリ・データベースのパフォーマンスおよび可用性に最大の影響を与える可能性があります。

最大保護モードの確立の制限事項

オープン状態のデータベースでTO MAXIMIZE PROTECTIONを指定できるのは、現在のデータ保護モードがMAXIMUM AVAILABILITYで、同期されているスタンバイ・データベースが少なくとも1つある場合のみです。

TO MAXIMIZE AVAILABILITY

この設定は、最大可用性モードを確立し、2番目に高いレベルのデータ保護を実現します。トランザクションのリカバリに必要なすべてのデータが、SYNCログ転送モードを使用するように構成された1つ以上のフィジカルまたはロジカル・スタンバイ・データベースに書き込まれるまで、そのトランザクションはコミットされません。最大保護モードとは異なり、1つ以上のスタンバイ・データベースにREDOレコードを書き込めない場合でも、プライマリ・データベースは停止しません。障害が修正され、スタンバイ・データベースがプライマリ・データベースと同一になるまで、データ保護レベルは最大パフォーマンス・モードまで下げられます。最大パフォーマンス・モードのプライマリ・データベースに障害が発生しないかぎり、このモードによってデータ非消失が保証されます。最大可用性モードは、プライマリ・データベースの可用性に影響を与えずに、最大レベルのデータ保護を実現します。

TO MAXIMIZE PERFORMANCE

この設定は、最大パフォーマンス・モードを確立します(これがデフォルトの設定です)。トランザクションがコミットされるのは、そのトランザクションのリカバリに必要なデータがスタンバイ・データベースに書き込まれる前です。したがって、プライマリ・データベースに障害が発生してREDOレコードをプライマリ・データベースからリカバリできなくなると、トランザクションが失われることがあります。このモードは、プライマリ・データベースのパフォーマンスに影響を与えないという条件の下で最大レベルのデータ保護を実現します。

データベースの現行モードを確認するには、V$DATABASE動的パフォーマンス・ビューのPROTECTION_MODE列を問い合せます。

関連項目:

スタンバイ・データベースのこれらの設定については、『Oracle Data Guard概要および管理』を参照してください。

register_logfile_clause

スタンバイ・データベースでREGISTER LOGFILE句を指定すると、障害が発生したプライマリ・データベースからログ・ファイルを手動で登録することができます。オペレーティング・システムのファイル・システム内の標準REDOログ・ファイル、またはOracle ASMディスク・グループのREDOログ・ファイルをリスト表示するには、file_specificationredo_log_file_spec書式(「file_specification」を参照)を使用します。

ログ・ファイルのインカーネーションが不明である場合、REGISTER LOGFILE句は、インカネーション・レコードをV$DATABASE_INCARNATIONビューに追加します。新しく登録されたログ・ファイルのインカネーションが現行のRECOVERY_TARGET_INCARNATION#よりも高いRESETLOGS_TIMEを保持している場合、REGISTER LOGFILE句は、新しく追加されたインカネーション・レコードに対応するようにRECOVERY_TARGET_INCARNATION#も変更します。

OR REPLACE

OR REPLACEを指定すると、スタンバイ・データベースの既存のアーカイブ・ログ・エントリを更新できます(たとえばそのエントリの位置やファイル指定が変更されたとき)。エントリのシステム変更番号は、正確に一致している必要があります。また、元のエントリは、管理スタンバイ・ログの送信メカニズムによって作成される必要があります。

FOR logminer_session_name

この句はStreams環境で役立ちます。LogMinerセッションを1つ指定して、そのセッションにログ・ファイルを登録できます。

switchover_clause

注意:

このコマンドを使用する前に、『Oracle Data Guard概要および管理』を参照して使用方法を確認してください。

この句を使用すると、物理スタンバイ・データベースへのスイッチオーバーを実行できます。この句は、プライマリ・データベースから指定してください。target_db_nameには、スタンバイ・データベースのDB_UNIQUE_NAMEを指定します。

VERIFY

この句を使用すると、フィジカル・スタンバイ・データベースがスイッチオーバーできる状態になっていることを確認できます。この句は、プライマリ・データベースから指定してください。target_db_nameには、スタンバイ・データベースのDB_UNIQUE_NAMEを指定します。スタンバイ・データベースがスイッチオーバーできる状態のときには、「データベースが変更されました」のメッセージが返されます。それ以外の場合は、スタンバイ・データベースをスイッチオーバーするための準備に役立つエラー・メッセージが返されます。

FORCE

この句は、前回のスイッチオーバー・コマンドが失敗して、プライマリ・データベースなしで構成が作成された場合に使用します。この句は、プライマリ・データベースに変換する物理スタンバイ・データベースから指定します。target_db_nameには、プライマリ・データベースに変換するデータベースのDB_UNIQUE_NAMEを指定します。

failover_clause

注意:

このコマンドを使用する前に、『Oracle Data Guard概要および管理』を参照して使用方法を確認してください。

この句を使用すると、物理スタンバイ・データベースへのフェイルオーバーを実行できます。この句は、スタンバイ・データベースから指定します。target_db_nameには、スタンバイ・データベースのDB_UNIQUE_NAMEを指定します。

FORCE

この句は、フェイルオーバー先がData Guard遠隔同期インスタンスでサービス提供されている場合にのみ意味を持ちます。この句は、前回のフェイルオーバー・コマンドが失敗して、失敗の理由が解決できなかったときに使用します。これにより、フェイルオーバーでData Guard遠隔同期インスタンスとの対話時に発生した失敗を無視して、可能ならばフェイルオーバーを継続するように指示します。

commit_switchover_clause

この句を使用すると、Data Guard構成でのデータベース・ロールの遷移を実行できます。

注意:

このコマンドを使用する前に、『Oracle Data Guard概要および管理』を参照して使用方法を確認してください。

PREPARE TO SWITCHOVER

この句は、プライマリ・データベースがロジカル・スタンバイ・データベースになる準備またはロジカル・スタンバイ・データベースがプライマリ・データベースになる準備を行います。

  • プライマリ・データベースでPREPARE TO SWITCHOVER TO LOGICAL STANDBYを指定します。

  • ロジカル・スタンバイ・データベースでPREPARE TO SWITCHOVER TO PRIMARY DATABASEを指定します。

COMMIT TO SWITCHOVER

この句は、プライマリ・データベースをスタンバイ・データベース・ロールに切り替えるか、またはスタンバイ・データベースをプライマリ・データベース・ロールに切り替えます。

  • プライマリ・データベースでCOMMIT TO SWITCHOVER TO PHYSICAL STANDBYまたはCOMMIT TO SWITCHOVER TO LOGICAL STANDBYを指定します。

  • スタンバイ・データベースでCOMMIT TO SWITCHOVER TO PRIMARY DATABASEを指定します。

PHYSICAL

この句は常にオプションです。この句をCOMMIT TO SWITCHOVER TO PRIMARY句とともに使用することは、非推奨になりました。

LOGICAL

この句は、プライマリ・データベースをロジカル・スタンバイ・データベース・ロールに切り替えるときに、PREPARE TO SWITCHOVER句またはCOMMIT TO SWITCHOVER句とともに指定します。この句をCOMMIT TO SWITCHOVER TO PRIMARY句とともに使用することは、非推奨になりました。

WITH SESSION SHUTDOWN

この句は、データベース・ロールの遷移を実行する前に、すべてのデータベース・セッションをクローズし、コミットされていないトランザクションをロールバックします。

WITHOUT SESSION SHUTDOWN

この句は、データベース・セッションが存在する場合、要求されたロールの遷移が発生しないようにします。これはデフォルトです。

WAIT

この句を指定すると、ロールの遷移が完了するのを待機してから制御がユーザーに戻されます。

NOWAIT

この句を指定すると、ロールの遷移が完了するのを待機しないで制御がユーザーに戻されます。これはデフォルトです。

CANCEL

この句を指定すると、以前に指定したPREPARE TO SWITCHOVER文の影響が無効にされます。

関連項目:

プライマリ・データベースとスタンバイ・データベース間のスイッチオーバーの詳細は、『Oracle Data Guard概要および管理』を参照してください。

start_standby_clause

START LOGICAL STANDBY APPLY句を指定すると、ロジカル・スタンバイ・データベースへのREDOログの適用を開始できます。この句では、PL/SQLコールのロギング以外に、主キー、一意索引および一意制約のサプリメンタル・ロギングが使用可能になります。

  • 現在のスタンバイREDOログ・ファイルのREDOデータを適用する場合は、IMMEDIATEを指定します。

  • この適用において遅延を無視するようにOracle Databaseに指示する場合は、NODELAYを指定します。これは、プライマリ・データベースが存在せず、PL/SQLコールの実行が必要になる場合に便利です。

  • 初めてスタンバイ・データベースにログを適用する場合は、INITIALを指定します。

  • 次の2つの状況では、NEW PRIMARY句が必要となります。

    • ロジカル・スタンバイへのフェイルオーバー時に、フェイルオーバー操作に加わっていないロジカル・スタンバイ、およびロジカル・スタンバイ・データベースとして回復された後の古いデータベースでこの句を指定します。

    • (準備されていないスイッチオーバー操作を使用する)ロジカル・スタンバイ・データベースを使用してローリング・アップグレードを実行している場合は、元のプライマリ・データベースが新しいデータベース・ソフトウェアにアップグレードされた後でこの句を指定します。

  • イベント表の最後のトランザクションをスキップして適用を再開する場合は、SKIP FAILED [TRANSACTION]を指定します。

  • スタンバイREDOログ・ファイル情報をアーカイブ・ログに強制処理する場合は、FINISHを指定します。プライマリ・データベースが使用できなくなった場合、REDOログ・ファイルのデータを適用できます。

stop_standby_clause

この句を使用すると、ログ適用サービスを停止できます。この句は、フィジカル・スタンバイ・データベースではなく、ロジカル・スタンバイ・データベースのみに適用されます。STOP句を使用すると、適用が正常に停止されます。

convert_database_clause

この句を使用すると、データベースを別の形式に変換できます。

  • CONVERT TO PHYSICAL STANDBYを使用すると、プライマリ・データベース、ロジカル・スタンバイ・データベースまたはスナップショット・スタンバイ・データベースをフィジカル・スタンバイ・データベースへ変換できます。

    この句を指定する前に、次のステップを実行します。

    • Oracle Real Application Clusters(Oracle RAC)データベースで、1つを除いてすべてのインスタンスを停止します。

    • データベースがマウントされ、オープンしていないことを確認します。

    データベースは変換後にディスマウントされ、再起動する必要があります。

  • CONVERT TO SNAPSHOT STANDBYを使用すると、フィジカル・スタンバイ・データベースをスナップショット・スタンバイ・データベースへ変換できます。

    この句を指定する前に、REDO Applyを停止していることを確認してください。

ノート:

スナップショット・スタンバイ・データベースは、フィジカル・スタンバイ・データベースに変換される前に読取り/書込みモードで1回以上オープンされている必要があります。

関連項目:

スタンバイ・データベースの詳細は、『Oracle Data Guard概要および管理』を参照してください。

default_settings_clauses

データベースのデフォルト設定を変更できます。

DEFAULT EDITION句

この句を使用すると、指定したエディションをデータベースのデフォルト・エディションとして設定できます。指定するエディションをあらかじめ作成し、USABLEにしておく必要があります。変更内容は即座に反映され、Oracle RAC環境のすべてのノードから参照可能になります。指定したエディションで新しいデータベース・セッションが自動的に開始されます。新しい設定は、データベースを停止して起動した後も保持されます。

データベース・デフォルト・エディションとしてエディションを指定する場合、指定されたエディションに対してUSEオブジェクト権限がロールPUBLICに付与されていますが、すべてのユーザーがエディションを使用できます。

データベースの現在のデフォルト・エディションを確認するには、次の問合せを使用します。

SELECT PROPERTY_VALUE FROM DATABASE_PROPERTIES 
  WHERE PROPERTY_NAME = 'DEFAULT_EDITION';

関連項目:

エディションの詳細は「CREATE EDITION」、エディションをUSABLEに指定する方法の詳細は『Oracle Database PL/SQL言語リファレンス』を参照してください。

CHARACTER SET、NATIONAL CHARACTER SET

ALTER DATABASE文を使用して、データベース文字セットまたは各国語文字セットを変更することはできなくなりました。データベース文字セットの移行の詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。

SET DEFAULT TABLESPACE句

この句を使用すると、以降に作成する表領域のデフォルト・タイプを指定または変更できます。表領域がbigfileかsmallfileかを指定するには、BIGFILEまたはSMALLFILEを指定します。

  • bigfile表領域に格納されるのは、1つのデータファイルまたは一時ファイルのみであり、このファイルには最大約40億(232)ブロックを格納できます。データファイルまたは一時ファイル1つ当たりの最大サイズは、32Kブロックの表領域の場合は128TB、8Kブロックの表領域の場合は32TBです。

  • smallfile表領域は、Oracleの従来の表領域であり、1022のデータファイルまたは一時ファイルを含めることができます。それぞれのファイルは、最大で約400万(222)のブロックを格納できます。

関連項目:

DEFAULT TABLESPACE句

この句を使用すると、データベースのデフォルトの永続表領域を構築または変更できます。作成済の表領域を指定する必要があります。この操作の完了後、すべての非SYSTEMユーザーに、新しいデフォルトの一時表領域が再度割り当てられます。これらのユーザーがこれ以降作成するすべてのオブジェクトは、デフォルトで、新しいデフォルトの表領域に格納されます。以前に指定したデフォルトの表領域を置き換える場合、以前作成したオブジェクトを古いデフォルトの表領域から新しいデフォルトの表領域に移動した後で、必要に応じて古いデフォルトの表領域を削除することができます。

DEFAULT [LOCAL] TEMPORARY TABLESPACE句

この句を指定すると、データベースのデフォルトの共有一時表領域を、新しい表領域または表領域グループに変更するか、デフォルトのローカル一時表領域を新しい表領域に変更できます。

  • tablespaceを指定すると、データベースの新しいデフォルトの一時表領域を指定できます。この操作の完了後、以前のデフォルトの一時表領域が割り当てられているすべてのユーザーに、新しいデフォルトの一時表領域が再度割り当てられます。その後、必要に応じて以前のデフォルトの一時表領域を削除することができます。デフォルトの共有一時表領域を変更するには、DEFAULT TEMPORARY TABLESPACEを指定します。デフォルトのローカル一時表領域を変更するには、DEFAULT LOCAL TEMPORARY TABLESPACEを指定します。

  • tablespace_group_nameを指定すると、tablespace_group_nameで指定されている表領域グループのすべての表領域を、データベースのデフォルトの共有一時表領域として指定できます。この操作の完了後、デフォルトの一時表領域を明示的に割り当てられていないユーザーは、tablespace_group_nameに含まれる任意の表領域に一時セグメントを作成できます。以前のデフォルトの一時表領域がデフォルトの一時表領域グループに含まれる場合、以前の一時表領域を削除することはできません。ローカル一時表領域を表領域グループに含めることはできません。

現行のデフォルトの一時表領域またはデフォルトの一時表領域グループの名前を確認するには、ALL_DBA_またはUSER_USERSデータ・ディクショナリ・ビューのTEMPORARY_TABLESPACE列を問い合せます。

デフォルトの一時表領域の制限事項

デフォルトの一時表領域には、次の制限事項があります。

  • デフォルトの一時表領域として割り当てる表領域、または再度割り当てる表領域は、標準的なブロック・サイズである必要があります。

  • SYSTEM表領域がローカル管理される場合、デフォルトの一時表領域として指定する表領域も、ローカル管理される必要があります。

関連項目:

instance_clauses

Oracle Real Application Clusters環境では、ENABLE INSTANCEを指定すると、指定したデータベース・インスタンスにマップされたスレッドが有効になります。使用可能にできるスレッドは、2つ以上のREDOログ・ファイル・グループを持つスレッドのみです。また、データベースはオープンされている必要があります。

DISABLE INSTANCEを指定すると、指定したデータベース・インスタンスにマップされたスレッドを使用禁止にできます。インスタンス名は最大80文字の文字列です。指定したインスタンスにマップされているスレッドがない場合、エラーが戻されます。データベースは、オープンされている必要がありますが、指定したスレッドを使用しているインスタンスでデータベースをマウント済の場合は、そのスレッドを使用禁止にできません。

関連項目:

インスタンスを使用可能または使用禁止にする場合の詳細は、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。

RENAME GLOBAL_NAME句

RENAME GLOBAL_NAMEを指定すると、データベースのグローバル名を変更できます。データベースは、オープンされている必要があります。databaseには、データベースの新しい名前を8バイト以内の長さで指定します。オプションのdomainには、ネットワーク階層におけるデータベースの有効な位置を指定します。ドメイン名を指定する場合は、ドメイン名のコンポーネントを有効な識別子にする必要があります。有効な識別子の詳細は、「データベース・オブジェクトのネーミング規則」を参照してください。

ノート:

データベース名を変更しても、リモート・データベース内の既存のデータベース・リンク、シノニム、ストアド・プロシージャ、ストアド・ファンクションからのユーザーのデータベースに対するグローバル参照は変更されません。これらの参照を変更するのは、リモート・データベース管理者の責任です。

BLOCK CHANGE TRACKING句

ブロック・チェンジ・トラッキング機能を使用すると、Oracle Databaseでは、プライマリ・データベースおよび任意のフィジカル・スタンバイ・データベースの両方で、すべてのデータベース更新の物理的な場所を追跡できます。トラッキングを実行する各データベースで、ブロック・チェンジ・トラッキングを使用可能にする必要があります。トラッキング情報は、ブロック・チェンジ・トラッキング・ファイルという別のファイルに保持されます。Oracle Managed Filesを使用している場合、Oracle Databaseは、DB_CREATE_FILE_DESTで指定した場所にブロック・チェンジ・トラッキング・ファイルを自動的に作成します。Oracle Managed Filesを使用していない場合、チェンジ・トラッキング・ファイルの名前を指定する必要があります。Oracle Databaseは、増分バックアップのパフォーマンス向上などの内部タスクのために、チェンジ・トラッキング・データを使用します。ブロック・チェンジ・トラッキングを使用可能にする場合、データベースは、ARCHIVELOGモードまたはNOARCHIVELOGモードで、オープンされているかマウント済である必要があります。

ENABLE BLOCK CHANGE TRACKING

この句を指定すると、ブロック・チェンジ・トラッキングが有効になり、Oracle Databaseによってブロック・チェンジ・トラッキング・ファイルが作成されます。

  • USING FILE 'filename'を指定すると、ブロック・チェンジ・トラッキング・ファイルの名前を(Oracle Databaseが生成するのではなく)自分で指定できます。Oracle Managed Filesを使用していない場合、この句を指定する必要があります。

  • REUSEを指定すると、同じ名前の既存のブロック・チェンジ・トラッキング・ファイルを上書きできます。

DISABLE BLOCK CHANGE TRACKING

この句を指定すると、Oracle Databaseによるチェンジ・トラッキングを停止し、既存のブロック・チェンジ・トラッキング・ファイルを削除できます。

関連項目:

ブロック・チェンジ・トラッキングの設定の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』および「ブロック・チェンジ・トラッキングの有効化および無効化: 例」を参照してください。

[NO] FORCE FULL DATABASE CACHING

この句を使用して、強制完全データベース・キャッシュ・モードを有効化または無効化します。自動で行われるデフォルト・モードとは異なり、全データベース・キャッシュ強制モードでは、NOCACHE LOBを含むデータベース全体がバッファ・キャッシュへのキャッシュの対象であると見なします。

データベースは、マウントされているがオープンされていない状態であることが必要です。Oracle RAC環境では、データベースをマウントする必要がありますが、現在のインスタンスでオープン状態ではなく、すべての他のインスタンスでアンマウントする必要があります。

  • FORCE FULL DATABASE CACHINGを指定して、強制完全データベース・キャッシュ・モードを有効化します。

  • NO FORCE FULL DATABASE CACHINGを指定して、強制完全データベース・キャッシュ・モードを無効化します。これがデフォルト・モードです。

V$DATABASE動的パフォーマンス・ビューのFORCE_FULL_DB_CACHING列を問い合せて強制完全データベース・キャッシュ・モードを有効化するかどうかを判断できます。

関連項目:

CONTAINERS DEFAULT TARGET

この句を使用して、CDB内のDML文のデフォルト・コンテナを指定します。CDBルートに接続している必要があります。

  • container_nameには、デフォルト・コンテナの名前を指定します。デフォルト・コンテナには、CDBルート、PDB、アプリケーション・ルートまたはアプリケーションPDBを含む、CDB内の任意のコンテナを指定できます。指定できるデフォルト・コンテナは1つのみです。

  • NONEを指定した場合は、デフォルト・コンテナはCDBルートです。これはデフォルトです。

WHERE句でコンテナを指定せずにDML文がCDBルートで発行されている場合、DML文はCDBのデフォルト・コンテナに影響します。

flashback_mode_clause

この句を使用すると、データベースをFLASHBACKモードにすることや、元のモードに戻すことができます。この句を指定できるのは、データベースがARCHIVELOGモードで、かつデータベースの高速リカバリ領域が準備済の場合のみです。この句は、データベースがマウントされているかオープンされているときに指定できます。フィジカル・スタンバイ・データベースに対しては、REDO Applyがアクティブな場合はこの句を指定できません。

関連項目:

フラッシュバック操作のための高速リカバリ領域の準備の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。

FLASHBACK ON

この句を使用すると、データベースはFLASHBACKモードになります。データベースがFLASHBACKモードのとき、Oracle Databaseは、高速リカバリ領域に自動的にフラッシュバック・データベース・ログを作成し、これを管理します。その後、SYSDBAシステム権限を持つユーザーは、FLASHBACK DATABASE文を発行できます。

FLASHBACK OFF

この句を使用すると、データベースはFLASHBACKモードから戻されます。Oracle Databaseは、フラッシュバック・データのロギングを停止し、既存のすべてのフラッシュバック・データベース・ログを削除します。FLASHBACK DATABASEを発行すると、エラーが発生して実行できません。

undo_mode_clause

この句は、CDBに接続している場合にのみ有効です。CDBのUNDOモードを変更できます。CDBはOPEN UPGRADEモードである必要があります。

  • LOCAL UNDO ONを指定すると、ローカルUNDOモードを使用するようにCDBが変更されます。

  • LOCAL UNDO OFFを指定すると、共有UNDOモードを使用するようにCDBが変更されます。

関連項目:

  • この句のセマンティクスの詳細は、「CREATE DATABASE」の「undo_mode_clause」を参照してください。

  • ローカルUNDOモードまたは共有UNDOモードを使用するようにCDBを構成するステップの詳細は、『Oracle Database管理者ガイド』を参照してください。

set_time_zone_clause

この句のセマンティクスは、CREATE DATABASE文およびALTER DATABASE文で同じです。この句をALTER DATABASEと併用すると、データベースのタイムゾーンがリセットされます。データベースのタイムゾーンを確認するには、組込み関数「DBTIMEZONE」を問い合せます。この句を使用してタイムゾーンを設定または変更した後、新しいタイムゾーンを有効にするためにデータベースを再起動する必要があります。

すべての新しいTIMESTAMP WITH LOCAL TIME ZONEデータは、ディスクに格納されるときにデータベースのタイムゾーンに正規化されます。データベースの既存のデータは、自動的に新しいタイムゾーンに更新されません。したがって、データベースにTIMESTAMP WITH LOCAL TIME ZONEデータが存在する場合は、データベースのタイムゾーンをリセットすることはできません。TIMESTAMP WITH LOCAL TIME ZONEデータを削除またはエクスポートしてからデータベースのタイムゾーンをリセットする必要があります。このような理由から、データが格納されているデータベースのタイムゾーンは変更しないことをお薦めします。

この句の詳細は、「CREATE DATABASE」のset_time_zone_clause」を参照してください。

security_clause

security_clause(GUARD)を使用すると、データベースのデータが変更されないように保護できます。現行のセッションでこの設定を上書きするには、ALTER SESSION DISABLE GUARD文を使用します。詳細は、「ALTER SESSION」を参照してください。

ALL

ALLを指定すると、SYS以外のすべてのユーザーが、データベースの内容を変更できなくなります。

STANDBY

STANDBYを指定すると、SYS以外のすべてのユーザーが、ロジカル・スタンバイで管理されるデータベース・オブジェクトを変更できなくなります。この設定は、ロジカル・スタンバイによってレプリケートされる前に、データをレポート操作によって変更できるようにする場合に便利です。

関連項目:

ロジカル・スタンバイの詳細は、『Oracle Data Guard概要および管理』を参照してください。

NONE

NONEを指定すると、データベースのすべてのデータについて、通常のセキュリティを設定できます。

ノート:

ロジカル・スタンバイ・データベースには、この設定をできるだけ使用しないでください。

prepare_clause

  • この句を使用して、データベースのミラー・コピーを準備します。作成されるファイル・グループを識別するためにmirror_nameを指定する必要があります。ファイル・グループには、準備されたファイルのすべてが含まれています。

  • REDUNDANCYオプションのEXTERNALNORMALまたはHIGHによって準備されるコピーの数を指定します。

  • ミラーの冗長性を指定しない場合、ソース・データベースの冗長性が使用されます。

データベースの準備: 例

ALTER DATABASE db_name PREPARE MIRROR COPY mirror_name WITH HIGH REDUNDANCY

drop_mirror_copy

この句を使用して、PREPARE文によって作成されたデータのミラー・コピーを破棄します。準備操作に使用したものと同じミラー名を指定する必要があります。

すでにデータベースがCREATE DATABASE 文またはCREATE PLUGGABLE DATABASE文によって分割されている場合は、この句を使用してデータベースを削除することはできません。

lost_write_protection

データファイルの消失書込み保護を有効にするには、この句を指定します。データファイルの消失書込み保護を有効化、削除および一時停止できます。

例: データファイルの消失書込み保護の有効化

この例では、データファイルtd_file.dfの消失書込み保護をオンにします。

 ALTER DATABASE DATAFILE td_file.df ENABLE LOST WRITE PROTECTION

消失書込みデータベースが消失することに注意してください。現行のデータファイルの内容で初期化されません。

データファイルの消失書込み保護は、REMOVEオプションまたはSUSPENDオプションの2つの方法で無効化できます。

  1. REMOVEオプションを使用すると、データファイルの消失書込み保護が停止します。また、シャドウ表領域のトラッキング・データなど、消失書込み保護へのすべての参照が削除されます。

    例: データファイルの消失書込み保護の削除

     ALTER DATABASE DATAFILE td_file.df REMOVE LOST WRITE PROTECTION
  2. SUSPENDオプションを使用すると、更新および消失書込みチェックは無効になりますが、シャドウ表領域のトラッキング・データは残されます。消失書込み保護を短時間一時停止すると、一時停止期間中はデータファイルの消失書込み保護が停止されます。つまり、消失書込みデータは収集されず、ブロックはチェックされません。後でデータファイルの消失書込み保護を有効にすると、一時停止期間中にデータファイル内のブロックに対して行われたSCNの更新のレコードはありません。SUSPENDオプションでは、消失書込み記憶域の割当て解除は行われないことに注意してください。

    例: データファイルの消失書込み保護の一時停止

     ALTER DATABASE DATAFILE td_file.df SUSPEND LOST WRITE PROTECTION

コンテナ・データベースおよびプラガブル・データベースの消失書込み保護を有効化できます。

例: データベースの消失書込み保護の有効化

 ALTER DATABASE ENABLE LOST WRITE PROTECTION

例: データベースの消失書込み保護の無効化

 ALTER DATABASE DISABLE LOST WRITE PROTECTION

データベースの消失書込み保護を無効化しても、消失書込み記憶域の割当て解除は行われないことに注意してください。消失書込み記憶域の割当て解除を行うには、DROP TABLESPACE文を使用する必要があります。

cdb_fleet_clauses

様々なCDBのコレクションのリードCDBを設定するには、cdb_fleet_clausesを指定します。

lead_cdb_clause

この句を使用して、CDBをCDBフリート内のリードCDBとして指定します。データベース・プロパティのLEAD_CDBは、現行のCDBがリードCDBであることを示し、DATABASE_PROPERTIESビューで確認できます。

SYS_CONTEXTにはIS_LEAD_CDBという新しいパラメータがあり、これを使用して、現在のセッションがCDBフリート内のリードCDBに接続されているかどうかを判別できます。

lead_cdb_uri_clause

この句を使用して、CDBフリート内のリードCDBの接続URIを指定します。これは、フリートのリードCDBにメンバーCDBを登録するために使用されます。

dblinkで指定されるデータベース・リンク名は、CDBフリートに参加するメンバーCDBのCDBルートに存在している必要があります。これは、フリート内のリードCDBとPDBメタデータを同期化するために使用されます。

指定されたuri_stringLEAD_CDB_URIというデータベース・プロパティとして保管され、DATABASE_PROPERTIESビューで確認できます。

SYS_CONTEXTにはIS_LEAD_CDBという新しいパラメータがあり、これを使用して、現在のセッションがCDBフリート内のメンバーCDBに接続されているかどうかを判別できます。

READ ONLY / READ WRITE: 例

次の文は、データベースを読取り専用モードでオープンします。

ALTER DATABASE OPEN READ ONLY;

次の文は、データベースを読み書き両用モードでオープンし、オンラインREDOログをクリアします。

ALTER DATABASE OPEN READ WRITE RESETLOGS;

パラレル・リカバリ処理の使用方法: 例

次の文は、パラレル・リカバリ処理を使用して表領域リカバリを実行します。

ALTER DATABASE
   RECOVER TABLESPACE tbs_03
   PARALLEL;

REDOログ・ファイル・グループの追加: 例

次の文は、2つのメンバーを含むREDOログ・ファイル・グループを追加し、GROUPパラメータの値に3を指定してこのグループを識別します。

ALTER DATABASE
  ADD LOGFILE GROUP 3 
    ('diska:log3.log' ,  
     'diskb:log3.log') SIZE 50K; 

次の文は、2つのメンバーを含むREDOログ・ファイル・グループをスレッド5(Real Application Clusters環境内)に追加して、このグループにGROUPパラメータ値4を割り当てます。

ALTER DATABASE  
    ADD LOGFILE THREAD 5 GROUP 4  
        ('diska:log4.log', 
         'diskb:log4:log'); 

REDOログ・ファイル・グループ・メンバーの追加: 例

次の文は、前述の例で追加したREDOログ・ファイル・グループに1つのメンバーを追加します。

ALTER DATABASE   
   ADD LOGFILE MEMBER 'diskc:log3.log'  
   TO GROUP 3; 

ログ・ファイル・メンバーの削除: 例

次の文は、前述の例で追加したREDOログ・ファイル・メンバーの1つを削除します。

ALTER DATABASE
    DROP LOGFILE MEMBER 'diskb:log3.log'; 

次の文は、REDOログ・ファイル・グループ3のすべてのメンバーを削除します。

ALTER DATABASE DROP LOGFILE GROUP 3; 

ログ・ファイル・メンバーの名前変更: 例

次の文は、REDOログ・ファイル・メンバーの名前を変更します。

ALTER DATABASE   
    RENAME FILE 'diskc:log3.log' TO 'diskb:log3.log'; 

この例では、REDOログ・グループ・メンバーのファイルが、別のファイルに変更されただけです。ファイル名が、実際にdiskc:log3.logからdiskb:log3.logに変更されたわけではありません。この文を発行する前に、オペレーティング・システムでこのファイル名を変更する必要があります。

表領域のデフォルト・タイプの設定: 例

次の文は、それ以降に作成される表領域が、デフォルトでbigfile表領域として作成されることを指定します。

ALTER DATABASE
    SET DEFAULT BIGFILE TABLESPACE;

デフォルトの一時表領域の変更: 例

次の文は、tbs_05表領域(「一時表領域の作成: 例」で作成)をデータベースのデフォルトの一時表領域にします。この文は、作成時に何も指定されていない場合にデフォルトの一時表領域を作成するか、既存のデフォルトの一時表領域をtbs_05に置き換えます。

ALTER DATABASE 
   DEFAULT TEMPORARY TABLESPACE tbs_05;

または、表領域グループを使用して、表領域グループをデフォルトの一時表領域に定義することもできます。次の文は、表領域グループtbs_group_01の表領域(「表領域グループへの一時表領域の追加: 例」で作成)をデータベースのデフォルトの一時表領域にします。

ALTER DATABASE
   DEFAULT TEMPORARY TABLESPACE tbs_grp_01;

新しいデータファイルの作成: 例

次の文は、ファイルtbs_f03.dbfに基づいて新しいデータファイルtbs_f04.dbfを作成します。新しいデータファイルを作成する前に、既存のデータファイル(またはこのデータファイルが存在する表領域)をオフラインにする必要があります。

ALTER DATABASE 
    CREATE DATAFILE 'tbs_f03.dbf' 
                 AS 'tbs_f04.dbf'; 

一時ファイルの操作: 例

次の例では、「データファイルおよび一時ファイルの追加と削除: 例」で作成された一時ファイルtemp02.dbfをオフラインにして、名前を変更します。

ALTER DATABASE TEMPFILE 'temp02.dbf' OFFLINE;

ALTER DATABASE RENAME FILE 'temp02.dbf' TO 'temp03.dbf';

一時ファイルの名前を変更する文では、まずファイルtemp03.dbfをオペレーティング・システム上に作成する必要があります。

グローバル・データベース名の変更: 例

次の文は、データベースのグローバル名を変更し、データベース名とドメインの両方を含めます。

ALTER DATABASE  
    RENAME GLOBAL_NAME TO demo.world.example.com; 

ブロック・チェンジ・トラッキングの有効化および無効化: 例

次の文は、ブロック・チェンジ・トラッキングを有効にし、tracking_fileというブロック・チェンジ・トラッキング・ファイルを作成(すでに存在する場合は上書き)します。

ALTER DATABASE
  ENABLE BLOCK CHANGE TRACKING
    USING FILE 'tracking_file' REUSE;

次の文は、ブロック・チェンジ・トラッキングを使用禁止にし、既存のブロック・チェンジ・トラッキング・ファイルを削除します。

ALTER DATABASE
  DISABLE BLOCK CHANGE TRACKING;

データファイルのサイズの変更: 例

次の文は、データファイルdiskb:tbs_f5.dbfのサイズの変更を試行します。

ALTER DATABASE  
    DATAFILE 'diskb:tbs_f5.dbf' RESIZE 10 M;

ログ・ファイルのクリア: 例

次の文は、ログ・ファイルをクリアします。

ALTER DATABASE  
    CLEAR LOGFILE 'diskc:log3.log';

データベースのリカバリ: 例

次の文は、データベース全体を完全にリカバリし、必要な新しいアーカイブREDOログ・ファイル名を生成します。

ALTER DATABASE 
  RECOVER AUTOMATIC DATABASE; 

次の文は、Oracle Databaseが適用するREDOログ・ファイル名を明示的に指定します。

ALTER DATABASE 
    RECOVER LOGFILE 'diskc:log3.log'; 

次の文は、時間ベースのデータベース・リカバリを実行します。

ALTER DATABASE 
    RECOVER AUTOMATIC UNTIL TIME '2001-10-27:14:00:00'; 

データベースは、2001年10月27日の午後2時の状態にリカバリされます。

表領域のリカバリ例は、「パラレル・リカバリ処理の使用方法: 例」を参照してください。