あるデータベースインスタンス (ソースデータベース) から別のデータベースインスタンス(ターゲットデータベース) に完全データバックアップをインポートすることにより、データベースインスタンスのコピーを作成します。このターゲットデータベースには、既存のデータベースを使用することができます。ターゲットデータベースとして、データベースインスタンスを新規に登録することもできます。
ターゲットデータベースインスタンスのデータベースパラメータ値は、必ずしもソースデータベースインスタンスのものと同じである必要はありません。ただし、待機インスタンスのデータベースコピーを作成する場合は、同じデータベースパラメータ値を使用することをお奨めします。一方、絶対に必要なのは、ターゲットデータベースのデータ領域を十分な容量に設定してデータバックアップをインポート可能にすることです。
データバックアップとターゲットデータベースではデータベース ID が異なるため、バックアップのインポート時にターゲットデータベースを初期化する必要があります。このプロセスでは、カタログ情報やアプリケーションデータ、ログ領域のエントリがターゲットデータベースからすべて削除されます。
最初のステップでは、ソースデータベースの完全データバックアップを作成します。次に、DBM ユーザとしてターゲットデータベースにログオンし、完全データバックアップのバックアップテンプレートをターゲットデータベースに対して定義します。タイプ、バックアップタイプ、サイズ、ブロックサイズ、上書きの各プロパティで定義する値は、ソースデータベースのバックアップ作成に使用したバックアップテンプレートの値と同じにする必要があります。バックアップテンプレート名は自由に選択可能です。データキャリア (デバイス/ファイル) プロパティでは、ソースデータベースの完全データバックアップの保存場所を指定する必要があります。
ターゲットデータベースの操作状態を ADMIN に切り替えて、このデータベースインスタンスでデータベースセッションを開きます。次に、新たに定義したバックアップテンプレートを使用してソースデータベースからターゲットデータベースにデータバックアップをインポートし、ターゲットデータベースを初期化します。これを実行するには、DBM コマンド db_activate RECOVER を使用します。
最後に、ターゲットデータベースの操作状態を ONLINE に切り替えて、システムテーブルをロードします。この作業を行うには、ソースデータベースのデータベースシステム管理者のログオンデータを入力します。
前提条件について確認するには、データベースマネージャ CLIの medium_put、backup_start、db_activate RECOVERを参照してください。
参照:
ファイルへの完全データバックアップのバックアップテンプレートの定義
データベースシステムのコンセプト、バックアップとリストア、データベースコピー
保有しているデータベースインスタンス DEMODB のデータベースコピーをデータベースインスタンス TESTDBで生成します。これらのデータベースインスタンスが配置されているコンピュータは異なりますが、互換性はあります。これらのデータベースインスタンスは、ともに同じバージョンのデータベースソフトウェアで登録されました。TESTDB と DEMODB では、同じデータベースパラメータ値が定義されています。
DEMODB の詳細:
データベースコンピュータ: GENUA
DBM ユーザ: ユーザ ID OLEG、パスワード MONDAY
データベースシステム管理者: ユーザ ID DBADMIN、パスワード SECRET
TESTDBの詳細:
データベースコンピュータ: ローカル、名称: PARMA
DBM ユーザ: ユーザ ID ELENA、パスワード SUNDAY
データベースシステム管理者: ユーザ ID SUPER、パスワード MAX
...
1. データベースマネージャCLI をセッションモードで呼び出し、パスワードに MONDAYを指定してユーザ OLEG としてログオンし、データベースインスタンス DEMODBに接続します。
>dbmcli -u OLEG,MONDAY -d DEMODB
dbmcli on DEMODB>
2. 次のプロパティを使用して、ファイルへの完全データバックアップのバックアップテンプレートを定義します。
バックアップテンプレート名: DemoDataCompl
データキャリア (デバイス/ファイル): Backups
2005\Data\completeDataJan
タイプ: FILE
バックアップタイプ: 完全データバックアップ (DATA)
サイズ制限: なし (0)
ブロックサイズ: 6
上書き: NO
dbmcli on DEMODB>medium_put DemoDataCompl "Backups 2005\Data\completeDataJan" FILE DATA 0 6 NO
OK
3. バックアップテンプレート DemoDataComplを使用して DEMODBの完全データバックアップを実行します。
dbmcli on DEMODB>db_connect
OK
dbmcli on DEMODB>backup_start DemoDataCompl
OK
...
...
4. データベースマネージャ CLI を閉じます。
dbmcli on DEMODB>exit
5. データベースマネージャ CLI を呼び出し、パスワードに SUNDAY を指定してユーザ ELENA としてログオンし、データベースインスタンス TESTDB に接続します。
>dbmcli -u ELENA,SUNDAY -d TESTDB
dbmcli on TESTDB>
6. 次のプロパティを使用して、ファイルへの完全データバックアップのバックアップテンプレートを定義します。
バックアップテンプレート名: DemoDataCompl_recover
データキャリア(デバイス/ファイル): \\GENUA\Documents and Settings\All Users\Application Data\sdb\data\wrk\DEMODB\Backups 2005\Data\completeDataJan
タイプ: File
バックアップタイプ: 完全データバックアップ(DATA)
サイズ (制限): なし (0)
ブロックサイズ: 6
上書き: NO
dbmcli on TESTDB>medium_put DemoDataCompl_recover "\\GENUA\Documents and Settings\All Users\Application Data\sdb\data\wrk\DEMODB\Backups 2005\Data\completeDataJan" FILE DATA 0 6 NO
OK
7. データベースインスタンスの操作状態を ADMIN に切り替えます。
dbmcli on TESTDB>db_admin
OK
8. データベースセッションを開きます。
dbmcli on TESTDB>db_connect
OK
9. DEMODBから TESTDBに完全データバックアップをインポートします (TESTDBに登録したバックアップテンプレート DemoDataCompl_recoverを使用して TESTDBを初期化)。
dbmcli on TESTDB>db_activate RECOVER DemoDataCompl_recover
OK
Returncode 0
Date 20060126
Time 00142843
Server GENUA
Database DEMODB
Kernel Version Kernel 7.6.00 Build 016-123-109-428
Pages Transferred 6376
Pages Left 0
Volumes 1
Medianame DemoDataCompl_recover
Location C:\Documents and Settings\All Users\Application Data\sdb\data\wrk\DEMODB\Backups 2005\completeDataJan
Errortext
Label DAT_000000008
Is Consistent true
First LOG Page 3146
Last LOG Page
DB Stamp 1 Date 20060126
DB Stamp 1 Time 00113848
DB Stamp 2 Date
DB Stamp 2 Time
Page Count 6354
Devices Used 1
Database ID GENUA:DEMODB_20060125_165646
Max Used Data Page 0
10. データベースインスタンスの操作状態を ONLINE に切り替えます。
dbmcli on TESTDB>db_online
OK
11. DEMODBのデータベースシステム管理者のログオンデータを使用して、システムテーブルをロードします。
dbmcli on TESTDB>load_systab -u DBADMIN,SECRET
OK
0,OK:everything works fine
0,""C:\Program Files\sdb\TESTDB\bin\x_python" "C:\Program Files\sdb\TESTDB\env\systab.py" -R "C:\Program Files\sdb\TESTDB" -d TESTDB -u dbadmin,*"
Removing obsolete objects
Installing Loader tables
Installing messages and help
Installing SYSDBA tables
Installing comments for SYSDBA tables
Installing precompiler tables
Installing system tables for R3 backup information
Installing ODBC tables
Installing system tables for ORACLE (V7) mode
Installing data dictionary tables and views
Installing synonyms for oracle system tables
Installing comments on oracle system tables
Installing tables for WebAgent
Installing tables for Repository
Installing DOMAIN tables
Installing comments for DOMAIN tables
Installing Views as replacement for SHOWs
Installing Database Manager tables
Installing SYSINFO tables
Installing comments for SYSINFO tables
Installing support for UDE (User Defined Extensions)
Installing tables for JDBC Database Metadata
Installing tables for SQLDBC Database Metadata
Installing additional triggers
==================================
Installation successfully finished
==================================
---
dbmcli on TESTDB>
12. データベースマネージャ CLI を終了します。
dbmcli on testdb>exit
OK
コンピュータ PARMAのデータベースインスタンス TESTDB に、コンピュータ GENUA の DEMODBの完全データバックアップのデータが格納されました。
TESTDB の操作状態は ONLINEです。
TESTDB の元のデータベースシステム管理者とその他のデータベースユーザは、DEMODB のデータベースシステム管理者とその他のデータベースユーザのデータでそれぞれ上書きされました。今後は、これらのユーザだけがこのデータベースインスタンスにアクセスすることができます。
TESTDBの元の DBM ユーザはまだ有効で、データベースマネージャを使用してデータベースインスタンス TESTDBを引き続き管理することができます。