Oracle Databaseのバックアップを定期的かつ確実に取得するには、RMAN(Recovery Manager)による自動化が最も有効です。
本記事では、実際に動作確認済みのスクリプトを用いて、バックアップの自動化手順を解説します。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
■ 自動化の全体構成(テキスト図)
+-----------------------------+
| Linuxサーバー(Oracle稼働)|
+-----------------------------+
▼ cronで定期実行
+------------------------------+
| /home/oracle/scripts/backup_rman.sh |
+------------------------------+
▼
+------------------------------+
| /home/oracle/scripts/backup.rman |
+------------------------------+
▼
+------------------------------+
| /home/oracle/rman_backup/*.bkp(出力先) |
+------------------------------+
■ 前提条件
- Oracle Database が稼働している(例:19c)
- データベースがアーカイブログモードである
- Oracleユーザーの環境変数(
ORACLE_HOME、ORACLE_SID)が正しく設定されている /home/oracle/rman_backupディレクトリが作成済み
■ 1. RMANスクリプト(backup.rman)の作成
-- /home/oracle/scripts/backup.rman
RUN {
ALLOCATE CHANNEL ch1 DEVICE TYPE DISK FORMAT '/home/oracle/rman_backup/db_%U.bkp';
BACKUP DATABASE PLUS ARCHIVELOG DELETE INPUT;
RELEASE CHANNEL ch1;
}
■ 2. シェルスクリプト(backup_rman.sh)の作成
# /home/oracle/scripts/backup_rman.sh
#!/bin/bash
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
export LOG_DIR=/home/oracle/scripts/log
export DATE=$(date '+%Y%m%d_%H%M')
export LOG_FILE=$LOG_DIR/backup_$DATE.log
mkdir -p $LOG_DIR
rman target / cmdfile=/home/oracle/scripts/backup.rman log=$LOG_FILE
- 実行権限を付与します:
chmod +x /home/oracle/scripts/backup_rman.sh
■ 3. バックアップ出力先ディレクトリの作成
mkdir -p /home/oracle/rman_backup
chown oracle:oinstall /home/oracle/rman_backup
chmod 700 /home/oracle/rman_backup
■ 4. 手動で動作確認
/home/oracle/scripts/backup_rman.sh
バックアップが成功すれば /home/oracle/rman_backup/ に .bkp ファイルが作成されます。
ログは /home/oracle/scripts/log/backup_YYYYMMDD_HHMM.log に出力されます。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
■ 5. cronで定期実行を設定
crontab -e
以下を追加して、毎日2:00にバックアップ実行:
0 2 * * * /home/oracle/scripts/backup_rman.sh
■ 6. バックアップとログの確認方法
バックアップファイルの確認
ls -lh /home/oracle/rman_backup/
RMAN上で確認
rman target /
RMAN> list backup;
ログの確認
cat /home/oracle/scripts/log/backup_YYYYMMDD_HHMM.log
■ まとめ
| ステップ | 内容 |
|---|---|
| スクリプト作成 | backup.rman にRMAN定義、backup_rman.sh で自動実行構成 |
| 実行権限付与 | chmod +x を忘れずに |
| cron登録 | 定期的に自動バックアップを実現 |
| ログ確認 | 実行後は .log で成否をチェック |




コメント