1.建立rman表空间
SQL> create tablespace rman logging datafile '/u01/app/oracle/oradata/TBDB/rman.dbf' size 1024M extent management local segment space management auto;
create user rman identified by rman default tablespace rman;grant connect,resource to rman;grant recovery_catalog_owner to rman;grant unlimited tablespace to rman;grant sysdba to rman;
rman catalog rman/rmanRMAN> create catalog tablespace "RMAN";RMAN> exitrman target sys/oraclepassword@sid catalog rman/rman@sidRMAN> register database;
1) 设置保留30天的备份信息
2) 启用控制文件自动备份及备份存放位置配置
RMAN> configure retention policy to recovery window of 30 days;RMAN> configure controlfile autobackup on;
RMAN>show all;
每日00:00进行一次全库备份 系统自动清除30天以前的备份信息
7. 创建备份必要目录(以oracle身份创建)
mkdir /u01/app/oracle/backup cd /u01/app/oracle/backup mkdir controlfileback 存放备份的控制文件 mkdir dbback 存放备份的数据文件 mkdir log 存放备份生成的日志,坚持该日志查看备份是否成功 mkdir logback 存放归档日志文件
#!/bin/bash #this is rman auto full backup script # Copyright by terrytsang ORACLE_HOME=/u01/app/oracle/product/11.2.0/db1NLS_LANG=AMERICAN_AMERICA.AL32UTF8LD_LIBRARY_PATH=$ORACLE_HOME/libORACLE_BASE=/u01/app/oracleORACLE_SID=TBDBexport ORACLE_HOME LD_LIBRARY_PATH NLS_LANG ORACLE_BASE ORACLE_SIDbacktime=`date +"20%y%m%d%H%M%S"` cd $ORACLE_HOME/bin rman target / catalog rman/rman log=/u01/app/oracle/backup/log/backupall_$backtime.log <
crontab 0 0 * * * /u01/app/oracle/backup/script/dbback.sh 2>&1 >/dev/null