OracleデータベースのSIDを変更できますか?
-
16-10-2019 - |
質問
サーバーはOracleデータベース11Gエンタープライズエディションリリース11.1.0.7.0-64ビットです
サーバー上のテストデータベースのSIDを変更する簡単で迅速な方法はありますか?
データベースのドロップと再作成は、私にとってオプションです。しかし、私はより少ない時間を必要とする何かを探しています。
クライアントtnsnames.oraに名前を割り当てるもう1つのオプションは、中央に管理されていないため、エラーが発生しやすいです。
SQL-Serverでデータベースをドロップして作成する時間と比較して、新しいOracleデータベースの作成に必要な時間は非常に大きくなります。さらにSQL-Serverでは、SQL-Serverインスタンスの名前を変更できます。 [通常、SQL-Serverが実行されているサーバーの名前を変更し、サーバーの名前を変更するまで問題があります]。
解決
9i dbnewidユーティリティ(NID)を使用してデータベース名(および必要に応じてdbid)を変更できるためです。データベース名が変更されている場合のみ、リセットログは必要ありません。
マウントモードの1つの起動データベース
shutdown immediate startup mount
2データベース名を変更するためにNIDを実行します。
nid target=sys/syspassword@dbtns dbname=newname setname=YES
3マウントモードでデータベースをシャットダウンして開始します:
shutdown immediate startup mount
4変更
db_name
spfileで(またはファイルの編集pfile):alter system set db_name=newname scope=spfile;
5パスワードファイルを再現します:
orapwd file=orapwnewname password=syspassword
6データベースの起動
startup
7つの名前の変更手順:
change SID in listener.ora correct tnsnames.ora remove old trace directories change /etc/oratab (UNIX) or rename windows service using oradim
他のヒント
制御ファイルを再作成する必要があります
これ 役職 Kaunain Ahmedによると、必要な手順について説明します。
- DO:データベースバックアップ制御ファイルを変更してトレースします。
- Background-Dump-Destination TraceFileから「ContrectingFile」コマンドを抽出します。
- DBをシャットダウンします。
- init.oraでdb-nameを変更し、init.oraを変更します
- /etc/oratabまたは/var/opt/oracle/oratabでsidを変更する
- 環境でSIDを変更し、調達してください
- Startup Mount-Status Startup Mountからデータベース
- 位置2のステートメントでコントロールファイルを再現します。
- Alter Databaseの名前を変更します。Global_nameを10に変更します。TNS-Configurationを変更して$ oracle_home/network/admin/*。
スレッドに参照される他のツールがあります。
これが次のとおりです 役職 どのプロセスをより詳細に参照するかをAskTomによって。 10G用ですが、それでも機能するはずです。
はい、あなたはできます、そしてそれも非常に簡単です。
Oracleでは、Oracle_SidはOracleインスタンスの名前にすぎず、DBNameとはあまり関係がありません。 Name Prodのデータベースは、有効な名前のインスタンスを使用して提供できます。 SIDとDBNAMEの間に直接的な接続はありません。この接続は、パラメーターを使用して行われます。
パラメーターファイルは、init $ {oracle_sid} .oraまたはspfile $ {oracle_sid} .oraとして識別されます。パラメーターファイルのOraはパラメーターdb_nameです。これは、Oracleインスタンスとデータベースの間の接続が作成される場所です。
したがって、コントロールファイルを再作成する必要はありません。NIDを使用する必要はありません。パラメーターファイルが正しい名前を持っていることを確認し、古いOracleインスタンスを倒し、Oracle_Sidを設定した後に新しいOracleインスタンスを開始してください新しいOracleインスタンス名に。パラメーターファイルとパスワードファイルは、両方とも名前の一部として$ {oracle_sid}を使用して見つかります。
制御ファイルの再作成は、DBNAMEを変更する必要がある場合にのみ必要です。 NIDは、ソースデータベースのバックアップを損なう可能性のある事故を防ぐためにDBIDを変更する必要があるクローン操作の後に必要です。