web-dev-qa-db-ja.com

Rmanバックアップをスケジュールする方法

WindowsプラットフォームでOracle 11gデータベースを使用しています。また、私のdbはarchivelogモードで、毎日RMANバックアップを取っています。次に、Rmanバックアップを毎日および毎週スケジュールする必要があります。私はdbms_schedulerについて読んで、Windowsタスクスケジューラを使用してこれをスケジュールしました。

今私の質問です:これをスケジュールするためのより良い方法はどれですか? dbms_schedulerまたはバッチスクリプトを使用しますか、それともOEMを使用する方法がありますか?

2
SHS

TL/DR

ほとんどのWindows Oracle Shopsは通常、Windowsスケジューラのルートを使用します。ただし、環境に最適なものを決定できるように、Oracle RMANバックアップをスケジュールできる主な3つの方法をリストします。

1) docs からすべてを読み取ることができるOracle Enterprise Manager(Enterprise => Jobを使用)。

利点

すべてのバックアップ管理を一元化された場所に保管します。バックアップを管理するOracleデータベースが多数ある場合、これはかなり大きな問題になる可能性があります。

短所

OEMとすべてのバックアップの間に依存関係を作成します。 OEMがダウンした場合、バックアップはどのデータベースに対しても実行されません。 OEMデータベースにリカバリカタログを保持している場合、これはそれほど大きな問題ではない可能性があります。これが当てはまる場合、依存関係はすでに存在しているためです(フェールオーバーで制御ファイルを使用してバックアップを実行する場合を除き、バックアップスクリプトはリカバリカタログと通信できません)。

2)DBMS_SCHEDULER

利点

外部依存関係なし(バックアップスクリプトがローカルである場合)。レポート用の実行の自動ロギング。

短所

Oracleからデスクトップ実行可能ファイルを実行することは、少し注意が必要です。 11gで非推奨になったOracleJobSchedulerサービスを開始するか、dbms_scheduler資格情報を作成してから、それらの資格情報をスケジューラジョブに添付する必要があります。これはTim Hallが説明している here です。一元化されたメンテナンスまたはレポートはありません(同じマシンからスケジュールしない限り、そこで不要な依存関係を作成する可能性があります)。

3)Windowsスケジューラ

利点

セットアップとメンテナンスが簡単。

短所

一元化されたメンテナンスまたはレポートはありません(同じマシンからスケジュールしない限り、そこで不要な依存関係を作成する可能性があります)。

0
Kris Johnston

個人的には、Windowsスケジューラを使用してスケジュールします。バックアップファイルを別のサーバーにコピーする場合は、robocopyを取得することをお勧めします。 DOSからメールを送信できるメールクライアントがあると便利です。しかし、それ以外の場合は、.BATファイルまたはPowershellファイルを書き込むだけです。バックアップログを作成し、そのログでエラーをチェックするプロセスが必要です。その後、エラーが発生したときにメールを送信できます。どこかですでにオンラインで書かれたものがあるはずです。

1
Gandolf989

dbms_schedulerは、この種の問題に取り組むための最良の方法です。

0
YOYO