oracle之rman自动备份脚本

在rman备份之前,最好先改一下路径,把rman的备份和控制文件的备份,放到同一个目录

configure channel device type disk format '/opt/oracle/g5/rmanback/%U_%d';

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/opt/oracle/g5/rmanback/_%F';

然后:

su - oracle

cd /opt/oracle/

vi backup_db.sh,贴入如下代码。3个参数用echo查一下。

#!/bin/bash
#set environment variables
 
ORACLE_SID=ORCL
ORACLE_BASE=/opt/oracle
ORACLE_HOME=/opt/oracle/product/12.2.0/dbhome
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_SID ORACLE_BASE ORACLE_HOME PATH
 
rman target / <  
run{
backup database;
crosscheck backup;
crosscheck archivelog all;
delete expired backup;
delete noprompt archivelog all completed before 'sysdate-10';
delete noprompt obsolete;
}
EOF

顺便说一下,直接在linux下面vi xxx.sh,不要从windows做好传上去,会出现一些格式有误的错误。

赋予777权限:chmod 777 backup_db.sh

用oracle去运行一下,看看权限对不对。

仍然用oracle去运行crontab -e,贴入
0 3 * * * /opt/oracle/backup_db.sh  (每天3点)

*/10 * * * * /opt/oracle/backup_db.sh                每60分钟即每小时执行一次 (是10还是60)
用root去执行:service crond restart,然后等着看备份集?正常。

你可能感兴趣的:(Oracle,学习)