私は SQL Server DBA ですが、毎日のバックアップの実行を開始する必要がある Oracle 10g データベースがあります。Enterprise Manager はありません。SQL Server のように Oracle で毎日のバックアップをスケジュールする方法はありますか?
この質問がオラクルの人々にとって非常に初歩的なものである場合は申し訳ありませんが、これを調査して「EMを使用する」以外の答えを見つけるのに非常に苦労しました.
私は SQL Server DBA ですが、毎日のバックアップの実行を開始する必要がある Oracle 10g データベースがあります。Enterprise Manager はありません。SQL Server のように Oracle で毎日のバックアップをスケジュールする方法はありますか?
この質問がオラクルの人々にとって非常に初歩的なものである場合は申し訳ありませんが、これを調査して「EMを使用する」以外の答えを見つけるのに非常に苦労しました.
あなたのケースで最も簡単なのは、ORACLE_HOME と PATH を設定し、rman を使用してバックアップを作成する単純な Windows バッチ スクリプトを作成することです。Windows タスク スケジューラでスクリプトをスケジュールします。データベースが本番環境であり、これがアーカイブ ログ モードで実行されるため、スクリプトは次のようになります。
rman_backup.bat:
ORACLE_SID=your_oracle_sid
ORACLE_HOME=d:/where/your/installation/is
PATH=%ORACLE_HOME%/bin;%PATH%
rman cmdfile=your_rman_actions_script.rman log=your_log_file.log
your_rman_action_script.rman は次のようになります
connect target=/
backup DATABASE PLUS ARCHIVELOG;
ドキュメントについては、Oracle 10g データベースのドキュメントを参照し、2 日間のデータベース管理者から始めてください。その後、ここにあるバックアップドキュメントを確認してください。
I would (but then, my background is more on Unix, less on Windows) do the scheduling from outside the database, using the OS Scheduler to run a backup script. Assuming that no real backup system is available.
In the beginning of backup, you would run a SQL script to place the tablespaces in backup mode (ALTER TABLESPACE x BEGIN BACKUP), then back up the tablespace data files, and after that restore normal mode (ALTER TABLESPACE x END BACKUP). PL/SQL can be used here for looping over all tablespaces.
After that, you'd back up the control file (ALTER SYSTEM BACKUP CONTROLFILE ...), and finally you would rotate the redo logs enough times that all relevant log data has been archived, and back up the archive logs.
And as of doing incremental backups f.ex. throughout the working week, just do the log rotation & archive log copy part.