データベースのDBIDの変更は、重要な処理です。データベースのDBIDを変更すると、そのデータベースのすべての古いバックアップおよびアーカイブ・ログが使用できなくなります。これは、データがすでにデータ・ファイルに存在する以外は、データベースの作成と同様です。DBIDを変更すると、変更前に作成されたバックアップおよびアーカイブ・ログは、現行のDBIDに一致しない元のDBIDを保持しているため、使用できなくなります。オンラインREDOログを再作成してその順序を1にリセットするRESETLOGS
オプションを使用してデータベースをオープンする必要があります。このため、DBIDの変更直後に、データベース全体のバックアップを取る必要があります。
DBIDを変更せずにDBNAMEを変更する場合は、RESETLOGS
オプションを指定してデータベースをオープンする必要がないため、データベースのバックアップおよびアーカイブ・ログは無効になりません。ただし、DBNAMEを変更すると、これらが無効になります。データベース名の変更後、新しい名前を反映させるにはDB_NAME
初期化パラメータを変更する必要があります。また、Oracleパスワード・ファイルの再作成が必要な場合もあります。制御ファイルの古い(データベース名を変更する前の)バックアップをリストアする場合、データベース名を変更する前の初期化パラメータ・ファイルおよびパスワード・ファイルを使用する必要があります。
注意:
取得プロセスを使用してデータベースへの変更を取得する場合は、データベースのDBIDまたはDBNAMEを変更しないでください。取得プロセスの詳細は、『Oracle Streams概要および管理』を参照してください。
分散データベース・システム内のデータベースを使用している場合、各データベースには一意のグローバル・データベース名が必要です。DBNEWIDユーティリティは、グローバル・データベース名を変更しません。グローバル・データベース名の変更は、SQLのALTER
DATABASE
文を使用してのみ行えます。構文は次のとおりです。
ALTER DATABASE RENAME GLOBAL_NAME TO newname.domain;
グローバル・データベース名は、データベース名およびドメインで構成されます。これらはデータベースが最初に作成されたときにDB_NAME
およびDB_DOMAIN
初期化パラメータによって指定されます。
次の例では、ドメインus
.example
.com
のデータベース名をsales
に変更します。
ALTER DATABASE RENAME GLOBAL_NAME TO sales.us.example.com
これは、DBNEWIDを使用してデータベース名の変更を完了した後に行います。
関連項目:
グローバル・データベース名の詳細は、『Oracle Database管理者ガイド』を参照してください