大規模なOracleデータベース(約300 GB)があり、短時間でデータベースのコピーを新しい環境に移動する必要があります。 Oracleが管理するrawファイルをピックアップして新しいボックスに移動し、ダンプを実行してから別のインポートをバイパスする方法があるかどうか疑問に思っていましたか?
私は http://docs.Oracle.com/cd/B28359_01/server.111/b31107/asmcon.htm を見ていましたが、これが必要なものかどうかはわかりません。生データファイルはどこに保存されますか?
これは、OracleバージョンとOSバージョンの違いに大きく依存します。両方が同じバージョンであり、Oracleが同じマナーでパッチされている場合、答えは次の要因になります。
すべてのデータベース関連ファイルが同じ場所にある場合
...データベースをコールドクリーンシャットダウンする
...データファイル、一時ファイル、元に戻す、やり直しログ、制御ファイル、インスタンス関連ファイル(initINST.ora、spfileINST.ora、orapwINSTなど)を$ Oracle_HOME/dbsにコピーします。
...インスタンスをoratabファイルにセットアップします(または、Windowsの場合は、ORADIMを使用してインスタンス関連のWindowsサービスを作成します)
...通常どおり起動
ファイル構造は変更されますが、インスタンス名は変更されない場合
...データベースをコールドクリーンシャットダウンする
...データファイルをコピーし、元に戻し、やり直しログとインスタンス関連ファイル(initINST.ora、spfileINST.ora、orapwINSTなど)を$ Oracle_HOME/dbsに保存します。
...制御ファイルをコピーしない
...インスタンスをoratabファイルにセットアップします(または、Windowsの場合は、ORADIMを使用してインスタンス関連のWindowsサービスを作成します)
...起動番号
...「コントロールファイルの再利用〜noresetlogsの作成」コマンドを使用してコントロールファイルを再作成します。
... TEMPテーブルスペースに戻す
ファイル構造が変更され、かつインスタンス名も変更される場合
...データベースをコールドクリーンシャットダウンする
...データファイルをコピーし、元に戻し、やり直しログとインスタンス関連ファイル(initINST.ora、spfileINST.ora、orapwINSTなど)を$ Oracle_HOME/dbsに保存します。
...制御ファイル、一時ログまたはやり直しログをコピーしない
...インスタンスをoratabファイルにセットアップします(または、Windowsの場合は、ORADIMを使用してインスタンス関連のWindowsサービスを作成します)
...起動番号
...「create controlfile set〜resetlogs」コマンドを使用して制御ファイルを再作成します
... TEMPテーブルスペースに戻す
これは、典型的な古いスタイルのクローン技術です。通常、私はRMAN DUPLICATEのファンですが、これが1回限りのことであれば、おそらく心配する必要はありません。これが11gでない場合は、別のバックアップを取り、rmanで使用するために転送します。 11gの場合、インスタンスがネットワーク上で相互に到達できる限り、複製は「from active database」句を使用できます。
1つのサーバーから別のサーバーへの(データベースのダウン中の)データファイルのコピーは、必要なものの一部ではありますが、すべてではありません。また、REDOログファイルも必要です。また、ターゲットシステムに新しい制御ファイルを作成する必要もあります。別のWindowsマシンに移行する場合は、他にもいくつかの問題があります。当然、同じパッチが適用されたターゲットマシンに同じバージョンのOracleをインストールする必要があります。
RMANとリカバリカタログを使用してデータベースのバックアップを作成する場合は、DUPLICATE TARGET DATABASE
コマンドを使用するのが最も簡単です。