千家信息网

书写简单RMAN脚本

发表于:2025-02-08 作者:千家信息网编辑
千家信息网最后更新 2025年02月08日,1、编写0级备份的rman脚本vim /jobs/backup/back_0.sh#!/bin/bashexport ORACLE_BASE=/u01/app/oracleexport ORACLE_
千家信息网最后更新 2025年02月08日书写简单RMAN脚本

1、编写0级备份的rman脚本

vim /jobs/backup/back_0.sh

#!/bin/bash

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

export PATH=$ORACLE_HOME/bin:$PATH

export ORACLE_SID=orcl

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

export LANG=en_US

rman target / log '/tmp/x.log' << EOF

run{

allocate channel c1 type disk;

backup incremental level 0 format "/home/oracle/inc0_%u_%T" database;

release channel c1;

}

EOF

2、编写1级备份的rman脚本

vim /jobs/backup/back_1.sh

#!/bin/bash

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

export PATH=$ORACLE_HOME/bin:$PATH

export ORACLE_SID=orcl

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

export LANG=en_US

rman target / log '/tmp/y.log' << EOF

run{

allocate channel c1 type disk;

backup incremental level 1 format "/home/oracle/inc1_%u_%T" database;

release channel c1;

}

EOF

3、给予脚本相应的权限

chmod 755 /jobs/backup/back_0.sh

4、加入crontab

crontab -e

0 0 * * 0 /jobs/backup/back_0.sh

0 0 * * 1,2,3,4,5,6 /jobs/backup/back_1.sh

周日的0点0分做0级备份,周1~6进行1级备份

补充:

对于保存的日志,如果需要保留,可以考虑用天来命名取代固定命名。

可以将backup_0.sh改造成:

vim /jobs/backup/back_1.sh

#!/bin/bash

BKDIR=/backup/`date +%Y%m%d%H%M`

LOGFILE=/logs/`date +%Y%m%d%H%M`.log

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

export PATH=$ORACLE_HOME/bin:$PATH

export ORACLE_SID=orcl

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

export LANG=en_US

rman target / log $LOGFILE << EOF

run{

allocate channel c1 type disk;

backup incremental level 1 format "$BKDIR" database;

release channel c1;

}

EOF


补充:

可以使用指令文件来进行控制命令。

vim backup.rmn

run {

backup database;

}

rman target / cmdfile=backup.rmn log=backup.log

利用这种方式也能进行方便的自动备份功能。


0