web-dev-qa-db-ja.com

Oracleインスタンスをどのように複製しますか?

Oracleインスタンスをどのように複製しますか?基本的には、d:\Oracle\oldnameからd:\Oracle\newnameにコピーすることになります。

私はOracle10.2を使用しています。

2
BIBD

RMANDUPLICATEコマンドの使用を検討してください。これは9iで導入されたと思いますが、確かに10gで入手できます。データファイルの名前の変更、制御ファイルの再作成、データベース名のリセットなど、手動でクローンを作成するときに必要だったすべての手順を処理します。

データファイルとログファイルの新しいディレクトリ構造がある場合は、クローンの起動パラメータを永続的に設定して、文字列置換仕様によってこれらを新しい形式/場所に自動的に変換できます。クローン作成は、ターゲット( "clone from")、aux( "clone to")、およびRMANカタログデータベースに接続し、RMANコマンド "DUPLICATE DATABASE to(myNewDBname)"を発行するのと同じくらい簡単になります。 「untiltime」を設定して、クローンを以前の時点に戻すこともできます。

Oracle 11gには、ライブデータベースから直接クローンを作成する機能が追加されています。

ちなみに、RMANでバックアップしていない場合は、他のすべてを削除して、今すぐこれを開始してください。

4
user11222

クローンに別のインスタンス名が必要だと思いますか?、

多くの点で、最も簡単な方法は、RMANまたはバックアップと復元のソフトウェアを使用して作業を行うことです。

私はそれが次の線に沿っていると思います:

  • データベースをバックアップする
  • データベースをシャットダウンします
  • 元のデータベースと同じSIDで新しいデータベースを作成します
  • 新しいデータベースに復元する
  • oracle_SID = newnameをエクスポートします
  • 制御ファイルの新しい場所を反映するようにpfileまたはspfileを変更します
  • 新しいパスワードファイルを生成するorapwdfile = orapw password = ??エントリ= 5
  • 新しいデータベースを起動します
  • 古いデータベースを起動します

これはメモリからつなぎ合わされ、グーグルで簡単に検索できます。Oracleで本格的な作業を行ってから約2年が経過しているため、上記が正しいとは思いませんが、正しい方向に進む可能性があります。

別のサーバーで同じインスタンスが必要な場合は、NFSとnetappおよびflexclonesを使用することをお勧めします。

0
James

データベースのコールドバックアップまたはホットバックアップを取得できる場合:

  1. コールド/ホットバックアップファイルを新しいディレクトリ構造にコピーします。
  2. 新しいインスタンスのinit.oraファイルを変更します。
  3. SysdbaユーザーとしてログオンしたSTARTUPMOUNTを発行します
  4. 次のコマンドを実行します。

    conn/as sysdba

    STARTUP NOMOUNT CREATE CONTROLFILE REUSE SET DATABASE "NEWNAME" RESETLOGS NOARCHIVELOG MAXLOGFILES xx MAXLOGMEMBERS xx MAXDATAFILES xxx MAXINSTANCES xx MAXLOGHISTORY xxxx LOGFILE GROUP 1'd:\ Oracle\NEWNAME\REDO01.LOG 'SIZE XXM、-REDOログサイズを選択
    グループ2'd:\ Oracle\NEWNAME\REDO02.LOG 'サイズXXM、
    グループ3'd:\ Oracle\NEWNAME\REDO03.LOG 'SIZE XXM DATAFILE
    'd:\ Oracle\NEWNAME\SYSTEM.DBF'、
    'd:\ Oracle\NEWNAME\undotbs.DBF'、
    'd:\ Oracle\NEWNAME\USERS.DBF'、
    'd:\ Oracle\NEWNAME\sysaux.DBF'、
    'd:\ Oracle\NEWNAME\TOOLS.DBF'-データベース内の他のファイルも、名前を変更する必要があります。CHARACTERSET WE8ISO8859P1; -必要に応じて調整します

    ALTER DATABASE OPEN RESETLOGS;

そして、あなたはおそらくこのようなこともしたいと思うでしょう:

ALTER TABLESPACE TEMP ADD TEMPFILE'd:\ Oracle\newname\temp.dbf 'SIZE 20M REUSE AUTOEXTEND ON NEXT 20M MAXSIZE UNLIMITED;

それはあなたを近づけるはずです...

0
DCookie