- PR -

RMAN達人の方、助けてください!

1
投稿者投稿内容
くるみ
会議室デビュー日: 2007/10/30
投稿数: 5
投稿日時: 2007-10-30 21:21
初めて投稿させて頂きます。
Oracle9.2.0.5の環境でRMANを用いてDBをバックアップしているのですが、バックアップしたデータをホスト名・ドライブ構成の異なるサーバ上にリカバリできるのでしょうか?

RMANでshow all; を実行した結果は以下の通りです。
-----------------------
RMAN構成パラメータは次のとおりです:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '\\HOSTA\dbbackup\ctl_%F.bak';
CONFIGURE DEVICE TYPE DISK PARALLELISM 1; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '\\HOSTA\dbbackup\DB_%T_%s.bak';
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'D:\ORACLE\ORA92\DATABASE\SNCFFOOD.ORA'; # default
-----------------------
このバックアップセットをHOSTBのPドライブに配置し、HOSTBのOドライブ上にリカバリしようとしています。
CONTROLFILEの方は、
startup nomount
の後に
set controlfile autobackup format for device type disk to 'P:\Backup\ctl_%F.bak';
と実在するドライブ文字を入れて実行したところ、その後
restore controlfile from autobackup;
mount database;
もうまく行きました。

しかし、この後で
restore database;
を実行すると、
ORA-19505: ファイル "\\HOSTA\DBBACKUP\DB_20071023_4634.BAK"の識別に失敗しました。
となってしまいます。
エラーになるのはもっともだと思うのですが、「CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '\\HOSTA\dbbackup\CoreDB_%T_%s.bak';」の部分をリカバリ時に変更することは可能なのでしょうか?

長文となり申し訳ありませんが、どなたか助けて下さい。
よろしくお願いします。
99ri
大ベテラン
会議室デビュー日: 2006/09/09
投稿数: 129
投稿日時: 2007-10-30 23:54
SETとSWITCHをしようするようです
Recovery Manager ユーザーズ・ガイド

ファイルをリストアする前に、 SET NEWNAME コマンドを実行する場合、
Recovery Manager は指定した名前でデータ・ファイルのコピーを作成します。
たとえば、次のコマンドを実行します。

SET NEWNAME FOR DATAFILE '?/oradata/trgt/tools01.dbf' TO '/tmp/tools01.dbf';
RESTORE DATAFILE '?/oradata/trgt/tools01.dbf';

この場合、Recovery Manager では?/oradata/trgt/tools01.dbf の
データ・ファイルのコピーが/tmp/tools01.dbf という名前で作成され、
リポジトリに記録されます。

データ・ファイル?/oradata/trgt/tools01.dbf の名前を
制御ファイル内で/tmp/tools01.dbf に変更するには、
Recovery Manager でリストアされたファイルが現行のデータベース・ファイルとみなされるように、
SWITCH コマンドを実行します。
たとえば、次のように入力します。

SWITCH DATAFILE '/tmp/tools01.dbf' TO DATAFILECOPY '?/oradata/trgt/tools01.dbf';
SWITCH コマンドは、SQL 文のALTER DATABASE RENAME FILE と同じです。
もしもし
ぬし
会議室デビュー日: 2004/10/15
投稿数: 280
投稿日時: 2007-10-31 00:59
RMAN でデータファイルを別のディレクトリ、ファイル名にリストアしてそちらを今後のデータベースで使うことは可能ですが、ネットワークドライブを使用する場合は RMAN のコマンド以前にインスタンスのサービス構成やらネットワーク先の権限などクリアしなければならない障壁があります。

デフォルトの LocalSystem アカウントはネットワーク先のリソースを使えません。Administrators とかのネットワークリソースにアクセスできるアカウントでサービスが動いている必要があります。
同じユーザ名・パスワードで読み書き変更できる必要もあります。
(ネットワークドライブにドライブレターを使うのもあんまりよろしくないかも)

_________________
もしもし@RMAN 友の会

[ メッセージ編集済み 編集者: もしもし 編集日時 2007-10-31 01:01 ]
くるみ
会議室デビュー日: 2007/10/30
投稿数: 5
投稿日時: 2007-10-31 18:09
99riさん、もしもしさん、ありがとうございます。
結局知識不足でクリアできず、、、です。

HOSTAとHOSTBのドライブ構成を同じにし、バックアップ先を\\HOSTA\〜ではなく普通のドライブ(下記<パラメータ>参照)にしたところ、HOSTBでもリカバリできるようになりました。
<パラメータ>
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'P:\dbbackup\ctl_%F.bak';
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'P:\dbbackup\DB_%T_%s.bak';

今後の勉強のために最初の構成でもリカバリにチャレンジしているのですが、うまく出来ずにいます。

SET・SWITCHを使用するとのことですが、どのタイミングで使用すればよいのでしょうか?
また、今回のケースではリストア時に
SET NEWNAME FOR DATAFILE '?/oradata/trgt/tools01.dbf' TO '/tmp/tools01.dbf';
にある '?/oradata/trgt/tools01.dbf' にはアクセス不可能なのですが、実行できますでしょうか?
試行錯誤してみましたが、以下のエラーが出てしまいます。

RMAN-20201: datafile not fount in the recovery catalog
RMAN-06010: error while looking up datafile: '\\HOSTA\dbbackup\DB_%T_%s.bak'

何か分かりましたら、お手数ですがご教示下さい。
他にも必要な情報がありましたらご指示下さい。
よろしくお願いします。
もしもし
ぬし
会議室デビュー日: 2004/10/15
投稿数: 280
投稿日時: 2007-11-01 00:22
(へんなところで更新しちゃった)

「Oracle9i Recovery Manager ユーザーズ・ガイド」の 6-3〜6-4 にそのまま説明がありますよ。

_________________
もしもし@RMAN 友の会

[ メッセージ編集済み 編集者: もしもし 編集日時 2007-11-01 00:30 ]
99ri
大ベテラン
会議室デビュー日: 2006/09/09
投稿数: 129
投稿日時: 2007-11-01 05:07
成功した事例を参考にしたいので
RMANで操作した以外のオペレーションの確認です
 HOSTAとHOSTBのデイレクトリ構成を同一にして
 RAMNのバックアップしたファイルを手動でHOSTBに移した
ということでしょうか?

SET NEWNAME については
 ファイル単位のリストアになります
 RMANがリストアデータとしてバックアップファイルを使用しますが
 バックアップファイル名は指定しません

 リストア対象指定
  RMAN> report schema;
  を実行するとTablespaceとFile番号、Datafile Nameが表示されます
  これのFile番号かDatafile Nameを指定します
 リストア先
  変更するために指定します

マニュアルが公開されています
http://otn.oracle.co.jp/document/

10gR2.0では
Generic Doc->Administrationタブ
Oracle Databaseバックアップおよび
リカバリ・アドバンスト・ユーザーズ・ガイド

9iでは(このVerの参照には無料の会員登録が必要)
Recovery Manager ユーザーズ・ガイド
 10-15 バックアップ制御ファイルを使用したリカバリの実行
 10-25 新しいホストへのデータベースのリストア

私はRMANの達人ではありません。
OracleDBはオープン対象のデータファイルを制御ファイルから取得する
という知識をもとにマニュアルをみて投稿しています


[ メッセージ編集済み 編集者: 99ri 編集日時 2007-11-01 05:33 ]
1

スキルアップ/キャリアアップ(JOB@IT)