ALTER DATABASE
目的
ALTER
DATABASE
文を使用すると、既存のデータベースを変更、メンテナンスまたはリカバリできます。
関連項目:
-
メディア・リカバリの実行例については、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。
-
スタンバイ・データベースをメンテナンスするために
ALTER
DATABASE
文を使用する場合の詳細は、『Oracle Data Guard概要および管理』を参照してください。 -
データベースの作成の詳細は、「CREATE DATABASE」を参照してください。
前提条件
ALTER
DATABASE
システム権限が必要です。
startup_clauses
を指定するには、AS
SYSDBA
、AS
SYSOPER
、AS
SYSBACKUP
またはAS
SYSDG
として接続している必要もあります。
general_recovery
句を指定する場合は、SYSDBA
またはSYSBACKUP
システム権限も必要です。
DEFAULT
EDITION
句を指定するには、指定されたエディションのUSE
オブジェクト権限のWITH
GRANT
OPTION
も必要です。
マルチテナント・コンテナ・データベース(CDB)に接続しているときには、次の条件が適用されます。
-
CDB全体を変更する場合は、現在のコンテナがルートである必要があります。また、共通に付与されている
ALTER
DATABASE
権限が必要です。 -
コンテナを変更する場合は、そのコンテナが現在のコンテナである必要があります。また、
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
DATABASE
のpdb_storage_clause
を使用する必要があります。これらの句の詳細は、ALTER PLUGGABLE DATABASEのドキュメントを参照してください。
構文
alter_database::=
ALTER DATABASE構文のグループは、次のとおりです。
database_clause::=
full_database_recovery::=
partial_database_recovery::=
parallel_clause::=
managed_standby_recovery::=
ノート:
managed_standby_recovery
のいくつかの副次句は不要であり、その使用は非推奨になっています。これらの副次句は、構文図にも記載されていません。「managed_standby_recovery」のセマンティクスを参照してください。
database_file_clauses::=
(create_datafile_clause::=、alter_datafile_clause::=、alter_tempfile_clause::=、move_datafile_clause::=)
move_datafile_clause::=
ASM_filename::=
logfile_clauses::=
(logfile_descriptor::=、add_logfile_clauses::=、drop_logfile_clauses::=、switch_logfile_clause::=、supplemental_db_logging::=)
switch_logfile_clause::=
supplemental_id_key_clause::=を参照
supplemental_plsql_clause::=
supplemental_subset_replication_clause
logfile_descriptor::=
trace_file_clause::=
standby_database_clauses::=
(activate_standby_db_clause::=、maximize_standby_db_clause::=、register_logfile_clause::=、commit_switchover_clause::=、start_standby_clause::=、stop_standby_clause::=、convert_database_clause::=、parallel_clause::=、switchover_clause::=、failover_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::=
default_settings_clauses::=
(flashback_mode_clause::=、undo_mode_clause::=、set_time_zone_clause::=)
flashback_mode_clause::=
undo_mode_clause::=
instance_clauses::=
security_clause::=
prepare_clause::=
drop_mirror_copy::
lost_write_protection ::=
cdb_fleet_clauses::=
lead_cdb_clause::=
lead_cdb_uri_clause::=
property_clause
セマンティクス
database_clause
非コンテナ・データベースのDATABASE
オプションを指定します。
db_name
変更するデータベースの名前を指定します。db_name
を省略した場合は、初期化パラメータDB_NAME
の値によって特定されたデータベースが変更されます。なお、データベースの制御ファイルが初期化パラメータCONTROL_FILES
に指定されている場合にのみ、そのデータベースを変更できます。データベース識別子は、Oracle Netのデータベース指定とは関係ありません。
startup_clauses
startup_clauses
を使用すると、データベースをマウントおよびオープンして、アクセス可能にできます。
MOUNT
句を使用すると、データベースをマウントできます。データベースがすでにマウントされている場合、この句は使用できません。
MOUNT STANDBY DATABASE
MOUNT
STANDBY
DATABASE
を指定すると、フィジカル・スタンバイ・データベースをマウントできます。キーワードSTANDBY
DATABASE
は省略可能です(マウントされるデータベースがプライマリとセカンダリのどちらであるかは自動的に判別されるため)。この文が実行されるとすぐに、スタンバイ・インスタンスはプライマリ・インスタンスからREDOデータを受信できるようになります。
関連項目:
スタンバイ・データベースの詳細は、『Oracle Data Guard概要および管理』を参照してください。
MOUNT CLONE DATABASE
MOUNT
CLONE
DATABASE
を指定すると、クローン・データベースをマウントできます。
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
を指定する必要があります。
データベースをアップグレードまたはダウングレードする場合にかぎり、これらのOPEN
句パラメータを使用します。この句は、Oracle Databaseに対して、アップグレードとダウングレードにそれぞれ必要なシステム・パラメータを動的に変更するように指示します。SQL*PlusのSTARTUP
UPGRADE
コマンドまたはSTARTUP
DOWNGRADE
コマンドでも、同じ結果が得られます。
CDBのUPGRADE
パラメータまたはDOWNGRADE
パラメータを使用すると、ルート・コンテナは指定したモードで開かれますが、それ以外のコンテナはすべてREAD WRITE
モードで開かれます。
関連項目:
-
データベースをあるリリースから別のリリースにアップグレードまたはダウングレードするステップについては、『Oracle Databaseアップグレード・ガイド』を参照してください。
-
SQL*Plusの
STARTUP
コマンドの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。
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_recovery
のLOGFILE
句とCONTINUE
句
前述の副次句は、ALTER
PLUGGABLE
DATABASE
のpdb_recovery_clauses
を使用して指定することもできます。ALTER
PLUGGABLE
DATABASE
の構文図pdb_recovery_clausesを参照してください。
general_recovery
general_recovery
句を指定すると、データベース、スタンバイ・データベース、または指定した表領域やファイルのメディア・リカバリを制御できます。インスタンスで、データベースがマウント済(オープン状態またはクローズ状態)の場合、関連ファイルが使用中でなければ、この句を使用できます。
ノート:
全体的または部分的なデータベース・リカバリおよびログファイルのリカバリでは、デフォルトでパラレル化が有効になっています。並列度はデータベースによって計算されます。NOPARALLEL
を指定してこれらの操作の並列化を無効にすることも、並列度をPARALLEL
integer
で指定することもできます(それぞれの構文図を参照してください)。
一般的なリカバリには、次の制限事項があります。
-
データベースがクローズ状態の場合にのみ、データベース全体をリカバリできます。
-
インスタンスで、データベースが排他モードでマウントされている必要があります。
-
リカバリ対象の表領域またはデータファイルがオフラインの場合、データベースがオープン状態でもクローズ状態でも、表領域またはデータファイルをリカバリできます。
-
共有サーバー・アーキテクチャでOracle Databaseに接続している場合、メディア・リカバリは実行できません。
関連項目:
-
RMANメディア・リカバリおよびユーザー定義メディア・リカバリの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。
-
SQL*Plusの
RECOVER
コマンドの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。
AUTOMATIC
を指定すると、リカバリ操作を続けるために必要な、次のアーカイブREDOログ・ファイルの名前が自動的に生成されます。LOG_ARCHIVE_DEST_
n
パラメータが定義されている場合は、Oracle Databaseはこのパラメータのうち、有効で使用可能なものをスキャンして、最初のローカル・アーカイブ先を決定します。このアーカイブ先をLOG_ARCHIVE_FORMAT
と組み合せて、ターゲットのREDOログ・ファイル名が生成されます。LOG_ARCHIVE_DEST_
n
パラメータが定義されていない場合は、かわりにLOG_ARCHIVE_DEST
パラメータ値が使用されます。
生成された名前のファイルが見つかった場合は、そのファイルに格納されているREDOが適用されます。ファイルが見つからない場合は、ファイル名の入力を求めるプロンプトが表示され、このときに、生成されたファイル名が候補として表示されます。
AUTOMATIC
もLOGFILE
も指定しなかった場合は、ファイル名の入力を求めるプロンプトが表示され、このときに、生成されたファイル名が候補として表示されます。この生成されたファイル名をそのまま使用することも、別の完全修飾ファイル名を入力することもできます。アーカイブ済のファイル名が、Oracle Databaseによって生成されるファイル名とは異なることがわかっている場合は、LOGFILE
句を使用すると時間を節約できます。
FROM
'location'
を指定すると、アーカイブREDOログ・ファイル・グループを読み取る位置を指定できます。location
には、使用するオペレーティング・システムの表記規則に従って、ファイルの位置を完全に指定する必要があります。このパラメータを指定しないと、そのアーカイブREDOログ・グループは、初期化パラメータLOG_ARCHIVE_DEST
またはLOG_ARCHIVE_DEST_1
に指定された位置にあるとみなされます。
full_database_recovery
full_database_recovery
句を指定すると、データベース全体をリカバリできます。
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
date
はUNTIL
TIME
date
以前の時刻である必要があります。
関連項目:
ストレージ・スナップショットの最適化を使用したリカバリの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。
-
partial_database_recovery
partial_database_recovery
句を指定すると、個々の表領域およびデータファイルをリカバリできます。
TABLESPACE
句を指定すると、指定した表領域のみをリカバリできます。リカバリの対象となる表領域がオフラインの場合、データベースがオープン状態でもクローズ状態でも、この句を使用できます。
関連項目:
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
'filename
'を指定すると、指定したREDOログ・ファイルを使用して、メディア・リカバリを続行できます。
TEST
句を使用すると、試行リカバリを実行できます。試行リカバリが役立つのは、通常のリカバリ手順でなんらかの問題が発生した場合です。REDOストリームの内容をあらかじめ見ることができるので、その他に発生する可能性のある問題を検出できます。試行リカバリでは、標準リカバリに似た方法でREDOが適用されますが、ディスクへの変更書込みは行われず、リカバリによる変更は試行リカバリの終了時にロールバックされます。
この句を使用できるのは、最後のRESETLOGS
操作以降に取ったバックアップをリストアする場合のみです。そうでない場合は、エラーが戻ります。
ALLOW
integer
CORRUPTION
句を指定すると、ログ・ファイルが破損した場合に、許容リカバリの続行で許容する破損ブロックの数を指定することができます。
関連項目:
-
データベースのリカバリの概要は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。
-
スタンバイ・データベースの管理リカバリの詳細は、『Oracle Data Guard概要および管理』を参照してください。
CONTINUE
を指定すると、スレッドを使用禁止にするために中断されていた複数インスタンス・リカバリを再開できます。
CONTINUE
DEFAULT
を指定すると、他に指定されたログ・ファイルがない場合、自動的に生成されたREDOログ・ファイルを使用して、リカバリが再開されます。ファイル名の入力を求めるプロンプトが表示されないこと以外は、AUTOMATIC
の指定と同じです。
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
句を使用して無効化できます。詳細は、次を参照してください。
-
リアルタイム適用の詳細は、『Oracle Data Guard概要および管理』を参照してください。
ノート:
パラレル化は、REDO Applyの実行中、デフォルトで有効になります。並列度はデータベースによって計算されます。NOPARALLEL
を指定してこれらの操作の並列化を無効にすることも、並列度をPARALLEL
integer
で指定することもできます(それぞれの構文図を参照してください)。
管理スタンバイ・リカバリの制限事項
この句には、「general_recovery」で示されているものと同じ制限事項が適用されます。
関連項目:
この句の使用の詳細は、『Oracle Data Guard概要および管理』を参照してください。
USING ARCHIVED LOGFILE句
USING
ARCHIVED
LOGFILE
を指定すると、リアルタイム適用を有効化することなくREDO Applyを開始できます。
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
を指定すると、フェイルオーバー用に準備されている使用可能なすべてのREDOデータの適用を完了できます。
FINISH
句を使用するのは、プライマリ・データベースに障害が発生した場合のみです。この句は、設定済の遅延間隔よりも優先され、この句を指定すると、使用可能なすべてのREDOが即座に適用されます。FINISH
コマンドが完了すると、このデータベースをスタンバイ・データベース・ロールで実行することができなくなります。このデータベースは、ALTER
DATABASE
COMMIT
TO
SWITCHOVER
TO
PRIMARY
文を発行してプライマリ・データベースに変換する必要があります。
CANCEL
を指定すると、REDO Applyをすぐに停止できます。REDO Applyが停止すると、すぐに制御が戻されます。
この句を使用すると、フィジカル・スタンバイ・データベースをロジカル・スタンバイ・データベースに変換できます。
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時にリアルタイム適用が起動されます。ただし、現在、これはデフォルトの動作になっているため、この句を利用する意味はなくなりました。
この句を使用すると、データベース内のすべてのデータファイルをオンライン・バックアップ・モード(ホット・バックアップ・モードともいう)にしたり、このモードから戻すことができます。
関連項目:
個々の表領域のすべてのデータファイルに対するオンライン・バックアップ・モードの設定または解除の詳細は、「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
句を使用すると、データファイル、一時ファイルまたはREDOログ・ファイル・メンバーの名前を変更できます。この句を指定する前に、オペレーティング・システムのファイル名の表記規則に従って、各ファイル名を指定してください。
-
データファイルまたは一時ファイルにこの句を使用するには、データベースをマウントしておく必要があります。データベースはオープンしていてもかまいませんが、名前を変更するデータファイルまたは一時ファイルはオフラインにしておく必要があります。また、最初にファイル・システム上のファイルを新しい名前に変更する必要があります。
-
ログ・ファイル用にこの句を使用するには、データベースはマウントされているがオープンされていない状態である必要があります。
-
ブロック・チェンジ・トラッキングを使用可能にしている場合、この句を使用してブロック・チェンジ・トラッキング・ファイルの名前を変更できます。ブロック・チェンジ・トラッキング・ファイルの名前を変更する場合、データベースはマウントされているがオープンされていない状態である必要があります。
この句によって名前が変更されるのは、制御ファイル内のファイルのみです。オペレーティング・システムのファイルの名前が実際に変更されることはありません。オペレーティング・システムのファイルは引き続き存在しますが、Oracle Databaseによって使用されることはなくなります。
関連項目:
-
データファイルと一時ファイルのリカバリの詳細は、『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_specification
のdatafile_tempfile_spec
書式(「file_specification」を参照)を使用します。
元のファイル(filename
またはfilenumber
)が既存のOracle Managed Filesのデータファイルの場合、Oracle Databaseは新しいファイルを作成した後、元のファイルを削除しようとします。元のファイルが既存のユーザー管理データファイルの場合、Oracle Databaseは元のファイルを削除しません。
AS
句を指定しない場合、Oracle Databaseによって、filename
またはfilenumber
に指定したファイルと同じ名前およびサイズのファイルが新しく作成されます。
リカバリ時には、元のデータファイルの作成後に書き込まれたアーカイブREDOログを、失われたデータファイルにかわる新しい空のデータファイルに適用する必要があります。
新しいファイルは、元のファイルの作成時と同じ状態で作成されます。新しいファイルを元のファイルが失われた時点の状態に戻すには、メディア・リカバリを行ってください。
新規データファイルの作成の制限事項
新規データファイルの作成には、次の制限事項があります。
-
SYSTEM
表領域の最初のデータファイルに基づいて新しいファイルを作成することはできません。 -
この
CREATE
DATAFILE
句には、datafile_tempfile_spec
のautoextend_clause
は指定できません。
関連項目:
-
新しいデータファイル名を指定しない場合にこの句によって戻される結果の詳細は、「
CREATE
DATABASE
」の「DATAFILE句」を参照してください。 -
ファイル仕様(
datafile_tempfile_spec
)の詳細は、「file_specification」および「新規データファイルの作成: 例」を参照してください。
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_name
、ASM_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
を指定すると、REDOログ・ファイル・グループを再利用する前に、グループの内容をアーカイブできます。このモードでは、メディア・リカバリができるようになります。この句は、インスタンスを正常に停止したか、またはエラーなしで即時停止した後に、再起動してデータベースをマウントした後にのみ使用します。
MANUAL
MANUAL
を指定すると、Oracle Databaseによって作成されたREDOログ・ファイルのアーカイブを、ユーザーが制御できます。この句は、テープに直接アーカイブするユーザーなどに対して、下位互換性を保つために提供されています。MANUAL
を指定する場合、次のことに注意します。
-
ログの切替えが発生した場合、Oracle DatabaseはREDOログ・ファイルをアーカイブしません。これは手動で行う必要があります。
-
アーカイブ・ログの宛先として、スタンバイ・データベースを指定することはできません。したがって、データベースを、
MAXIMUM
PROTECTION
またはMAXIMUM
AVAILABILITY
スタンバイ保護モードにすることはできません。
この句を指定しない場合、REDOログ・ファイルは、初期化パラメータLOG_ARCHIVE_DEST_
n
に指定された宛先に自動的にアーカイブされます。
NOARCHIVELOG
REDOログ・ファイル・グループを再利用する前に、内容をアーカイブする必要がない場合は、NOARCHIVELOG
を指定します。このモードでは、メディア障害後のリカバリはできません。インスタンスでデータベースがマウントされているがオープンされていない場合にのみ、この句を使用します。
この句を使用すると、データベースを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
句を使用すると、オンライン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ログ・ファイル・グループが追加されます。
関連項目:
-
新しいログ・ファイル・グループ名を指定しない場合にこの句によってOracle Managed Filesに戻される結果の詳細は、「
CREATE
DATABASE
」の「LOGFILE句」を参照してください。 -
スタンバイREDOログの詳細は、『Oracle Data Guard概要および管理』を参照してください。
STANDBY
STANDBY
句を使用すると、REDOログ・ファイル・グループがスタンバイREDOログに追加されます。この句を指定しないと、ログ・ファイル・グループがオンラインREDOログに追加されます。
INSTANCE
句は、Oracle Real Application Clusters (Oracle RAC)またはOracle RAC One Nodeデータベースのみに適用できます。REDOログ・ファイル・グループを追加するインスタンスの名前を指定します。インスタンス名は最大80文字の文字列です。Oracle Databaseは、指定されたインスタンスにマップされるスレッドを自動的に使用します。指定されたインスタンスにスレッドがマップされていない場合、Oracle Databaseはマップされていない使用可能なスレッドを自動的に取得して、そのインスタンスに割り当てます。この句を指定しないと、Oracle Databaseは、現行のインスタンスを指定した場合と同じコマンドを実行します。指定されたインスタンスにマップされた現行のスレッドが存在せず、マップされていない使用可能なスレッドも存在しない場合、エラーが戻されます。
スタンバイREDOログにREDOログ・ファイル・グループを追加する場合は、THREAD
句を使用して、ログ・ファイル・グループを特定のプライマリ・データベースREDOスレッドに割り当てます。どのREDOスレッドが開かれているかを判断するには、プライマリ・データベースでV$INSTANCE
ビューに対して問合せを行い、いずれか1つのスレッド番号を指定します。
オンラインREDOログにログ・ファイル・グループを追加する場合、THREAD
句を使用して、ログ・ファイル・グループを特定のREDOスレッドに割り当てることもできます。この使用方法は現在非推奨になっています。INSTANCE
句を使用すると、同じ結果になり、使用も簡単です。
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が作成されます。
関連項目:
-
動的パフォーマンス・ビューの詳細は、『Oracle Databaseリファレンス』を参照してください。
ADD
LOGFILE
MEMBER
句を使用すると、既存のREDOログ・ファイル・グループに新しいメンバーを追加できます。新しいメンバーをそれぞれ'filename'
に指定します。すでにファイルが存在する場合、追加するメンバーはグループ内の他のメンバーと同じサイズである必要があり、REUSE
を指定する必要があります。ファイルが存在しない場合、適切なサイズのファイルが作成されます。メディア障害によってグループのすべてのメンバーを失った場合は、そのグループにメンバーを追加することはできません。
STANDBY
スタンバイREDOログ・ファイル・グループにメンバーを追加する場合は、STANDBY
を指定する必要があります。そうでない場合は、エラーが戻ります。
logfile_descriptor
句を使用して、次のいずれかの方法で、既存のREDOログ・ファイル・グループを指定できます。
GROUP integer
REDOログ・ファイル・グループを識別するGROUP
パラメータの値を指定します。
filename(s)
REDOログ・ファイル・グループのすべてのメンバーをリストします。ご使用のオペレーティング・システムの表記規則に従って、ファイル名を完全に指定する必要があります。
関連項目:
-
新しいログ・ファイル・グループ名を指定しない場合にこの句によってOracle Managed Filesに戻される結果の詳細は、「
CREATE
DATABASE
」の「LOGFILE句」を参照してください。
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
句を使用すると、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
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全体に対して操作が実行されます。
CDB$ROOT
で最小サプリメンタル・ロギングを有効にしなくても、PDBのサプリメンタル・ロギング・レベルを有効にできます。CDB$ROOT
からすべてのサプリメンタル・ロギングを削除しても、PDBレベルで有効になっているサプリメンタル・ロギングは無効になりません。
supplemental_id_clause
の詳細は、「CREATE
TABLE
」の「supplemental_id_key_clause」を参照してください。
関連項目:
-
ロジカル・スタンバイ・データベースをサポートするためのプライマリ・データベースでのサプリメンタル・ロギングの詳細は、『Oracle Data Guard概要および管理』を参照してください。
-
supplemental_db_logging
句の構文の使用例は、『Oracle Databaseユーティリティ』を参照してください。
この句を使用すると、サプリメンタル・ロギングを停止できます。
-
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全体に対して操作が実行されます。
ALTER DATABASE
のADD SUPPLEMENTAL LOG DATA SUBSET DATABASE REPLICATIONは、影響の少ない最小サプリメンタル・ロギングを有効化します。
-
このDDLを実行できるのは、
enable_goldengate_replication
パラメータがTRUEで、データベースが19.0以上と互換のときだけです。 -
このDDLは、DBレベルの他のサプリメンタル・ロギングDDLと同じように、DBレベルの最小サプリメンタル・ロギングを暗黙的に追加します。
-
CDBの場合、このDDLは
CDB$ROOT
とプラガブル・データベースのどちらでも実行できます。 -
CDB$ROOT
で実行した場合、データベース全体で影響の少ない最小サプリメンタル・ロギングが有効になります。影響の少ない最小サプリメンタル・ロギングは、サブセット・データベース・レプリケーションのPDBレベル設定にかかわらず、すべてのプラガブル・データベースに対して有効になります。 -
プラガブル・データベースで実行される場合、
ALTER PLUGGABLE DATABASE ADD SUPPLEMENTAL LOG DATA SUBSET DATABASE REPLICATION
のときと同じです。詳細はALTER PLUGGABLE DATABASEを参照してください。
ALTER DATABASE
のDROP SUPPLEMENTAL LOG DATA SUBSET DATABASE REPLICATIONは、影響の少ない最小サプリメンタル・ロギングを無効化します。
-
このDDLを実行できるのは、
enable_goldengate_replication
パラメータがTRUEで、データベースが19.0以上と互換のときだけです。 -
他のサプリメンタル・ログ・データは、明示的に有効化されている必要があります。このように制限すると、影響の少ない最小サプリメンタル・ロギングを無効にしても、最小サプリメンタル・ロギングが無効になることはありません。
-
このDDLを実行すると、最小サプリメンタル・ロギングは現在の動作に戻ります。
-
CDBの場合、このDDLは
CDB$ROOT
とプラガブル・データベースのどちらでも実行できます。 -
CDB$ROOT
で実行した場合、影響の少ない最小サプリメンタル・ロギングがデータベース・レベルで無効になります。プラガブル・データベースごとに、影響の少ないサプリメンタル・ロギングが有効になるかどうかは、サブセット・データベース・レプリケーションのPDBレベル設定によって決まります。 -
プラガブル・データベースで実行される場合、動作は
ALTER PLUGGABLE DATABASE DROP SUPPLEMENTAL LOG DATA SUBSET DATABASE REPLICATION
のときと同じです。詳細はALTER PLUGGABLE DATABASEを参照してください。
関連項目:
サプリメンタル・ロギングの詳細は、『Oracle Data Guard概要および管理』を参照してください。
controlfile_clauses
controlfile_clauses
を指定すると、制御ファイルを作成またはバックアップできます。
CREATE
CONTROLFILE
句を使用すると、制御ファイルを作成できます。
-
PHYSICAL
STANDBY
を指定すると、物理データベースの管理に使用する制御ファイルを作成することになります。これは、STANDBY
を指定していて、PHYSICAL
やLOGICAL
を指定していない場合のデフォルトです。 -
LOGICAL
STANDBY
を指定すると、論理データベースの管理に使用する制御ファイルを作成することになります。 -
FAR
SYNC
INSTANCE
を指定すると、Data Guard遠隔同期インスタンスの管理に使用する制御ファイルを作成することになります。
ファイルがすでに存在している場合は、REUSE
を指定してください。Oracle RAC環境では、制御ファイルを共有記憶域に配置する必要があります。
関連項目:
制御ファイル作成の詳細は、『Oracle Data Guard概要および管理』を参照してください。
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
であることを示します。オンライン・ログが使用可能な場合のみ、この設定は有効です。
オンライン・ログの今後の状態が予測できない場合は、RESETLOGS
もNORESETLOGS
も指定しないでください。この場合、両方のバージョンのスクリプトがトレース・ファイルに入れられるため、スクリプトが必要になった時点で、適切なバージョンを選択できます。
トレース・ファイルは、DIAGNOSTIC_DEST
初期化パラメータによって決まるサブディレクトリに格納されます。CREATE
CONTROLFILE
文が書き込まれたトレース・ファイルの名前と場所は、アラート・ログで確認できます。V$DIAG_INFO
動的パフォーマンス・ビューのNAME
およびVALUE
列を問い合せて、トレース・ファイルのディレクトリを検索することもできます。
関連項目:
アラート・ログの表示方法の詳細は、『Oracle Database管理者ガイド』を参照してください。
standby_database_clauses
この句を使用すると、スタンバイ・データベースをアクティブにする、または保護モードと非保護モードのいずれかを指定することができます。
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_specification
のredo_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
データベースのデフォルト設定を変更できます。
この句を使用すると、指定したエディションをデータベースのデフォルト・エディションとして設定できます。指定するエディションをあらかじめ作成し、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)のブロックを格納できます。
関連項目:
-
bigfile表領域の詳細は、『Oracle Database管理者ガイド』を参照してください。
この句を使用すると、データベースのデフォルトの永続表領域を構築または変更できます。作成済の表領域を指定する必要があります。この操作の完了後、すべての非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
表領域がローカル管理される場合、デフォルトの一時表領域として指定する表領域も、ローカル管理される必要があります。
関連項目:
-
表領域グループの詳細は、『Oracle Database管理者ガイド』を参照してください。
instance_clauses
Oracle Real Application Clusters環境では、ENABLE
INSTANCE
を指定すると、指定したデータベース・インスタンスにマップされたスレッドが有効になります。使用可能にできるスレッドは、2つ以上のREDOログ・ファイル・グループを持つスレッドのみです。また、データベースはオープンされている必要があります。
DISABLE
INSTANCE
を指定すると、指定したデータベース・インスタンスにマップされたスレッドを使用禁止にできます。インスタンス名は最大80文字の文字列です。指定したインスタンスにマップされているスレッドがない場合、エラーが戻されます。データベースは、オープンされている必要がありますが、指定したスレッドを使用しているインスタンスでデータベースをマウント済の場合は、そのスレッドを使用禁止にできません。
関連項目:
インスタンスを使用可能または使用禁止にする場合の詳細は、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。
RENAME
GLOBAL_NAME
を指定すると、データベースのグローバル名を変更できます。データベースは、オープンされている必要があります。database
には、データベースの新しい名前を8バイト以内の長さで指定します。オプションのdomain
には、ネットワーク階層におけるデータベースの有効な位置を指定します。ドメイン名を指定する場合は、ドメイン名のコンポーネントを有効な識別子にする必要があります。有効な識別子の詳細は、「データベース・オブジェクトのネーミング規則」を参照してください。
ノート:
データベース名を変更しても、リモート・データベース内の既存のデータベース・リンク、シノニム、ストアド・プロシージャ、ストアド・ファンクションからのユーザーのデータベースに対するグローバル参照は変更されません。これらの参照を変更するのは、リモート・データベース管理者の責任です。
関連項目:
ブロック・チェンジ・トラッキング機能を使用すると、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
列を問い合せて強制完全データベース・キャッシュ・モードを有効化するかどうかを判断できます。
関連項目:
-
強制完全データベース・キャッシュ・モードの詳細は、『Oracle Database概要』を参照してください。
-
強制完全データベース・キャッシュ・モードを有効化する方法を学習するには、『Oracle Database管理者ガイド』を参照してください。
-
V$DATABASE
動的パフォーマンス・ビューの詳細は、『Oracle Databaseリファレンス』を参照してください。
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
を指定すると、SYS
以外のすべてのユーザーが、データベースの内容を変更できなくなります。
STANDBY
を指定すると、SYS
以外のすべてのユーザーが、ロジカル・スタンバイで管理されるデータベース・オブジェクトを変更できなくなります。この設定は、ロジカル・スタンバイによってレプリケートされる前に、データをレポート操作によって変更できるようにする場合に便利です。
関連項目:
ロジカル・スタンバイの詳細は、『Oracle Data Guard概要および管理』を参照してください。
NONE
を指定すると、データベースのすべてのデータについて、通常のセキュリティを設定できます。
ノート:
ロジカル・スタンバイ・データベースには、この設定をできるだけ使用しないでください。
prepare_clause
-
この句を使用して、データベースのミラー・コピーを準備します。作成されるファイル・グループを識別するために
mirror_name
を指定する必要があります。ファイル・グループには、準備されたファイルのすべてが含まれています。 -
REDUNDANCY
オプションのEXTERNAL
、NORMAL
または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つの方法で無効化できます。
-
REMOVE
オプションを使用すると、データファイルの消失書込み保護が停止します。また、シャドウ表領域のトラッキング・データなど、消失書込み保護へのすべての参照が削除されます。例: データファイルの消失書込み保護の削除
ALTER DATABASE DATAFILE td_file.df REMOVE LOST WRITE PROTECTION
-
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_string
はLEAD_CDB_URI
というデータベース・プロパティとして保管され、DATABASE_PROPERTIES
ビューで確認できます。
SYS_CONTEXT
にはIS_LEAD_CDB
という新しいパラメータがあり、これを使用して、現在のセッションがCDBフリート内のメンバーCDBに接続されているかどうかを判別できます。
property_clause
DATABASE_PROPERTIES
またはCDB_PROPERTIES
ビューで公開されるデータベース・プロパティを設定または削除するには、この句を指定します。
replay_upgrade_clause
この句を使用して、データベースでリプレイのアップグレードを有効または無効にします。
UPGRADE
SYNC
がON
の場合、リプレイのアップグレードとオープンでのアップグレードは有効です。
例
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時の状態にリカバリされます。
表領域のリカバリ例は、「パラレル・リカバリ処理の使用方法: 例」を参照してください。