1.在目录数据库中创建恢复目录所需的表空间
CREATE TABLESPACE rman_ts DATAFILE '/oradata/RCAT/data/rman.dbf' SIZE 200m;
PS:删除掉该表空间 DROP TABLESPACE rman_ts INCLUDING CONTENTS;
2.在目录数据库中创建RMAN用户
CREATE USER rman IDENTIFIED BY rman DEFAULT TABLESPACE rman_ts TEMPORARY TABLESPACE TEMP QUOTA UNLIMITED ON rman_ts;
PS:删除用户 DROP USER rman CASCADE;
3.给rman用户授权
GRANT recovery_catalog_owner,connect,resource TO rman;
4.新开启一个CMD
rman catalog rman/rman
或者: -C:\>rman
-RMAN>connect catalog rman/rman@idba;
-RMAN>create catalog tablespace rman_ts //创建catalog于rman_ts表空间
5.在D:\oracle\ora92\network\admin\tnsnames.ora建立
PROD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.123.127)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = IDBA)
)
)
6.以sys用户登陆上生产数据库上创建备份用户
-SQL>CREATE USER rman IDENTIFIED BY rman
-SQL>GRANT sysdba TO rman;
7.连接上生产数据库注册
-RMAN>CONNECT TARGET rman/rman@prod
-RMAN>REGISTER DATABASE
##################################################
####################crontab -e####################
##################################################
0 2 28 1 * /oraapp/oracle/dba/full_bkup.sh
10 0 * * 0 /oraapp/oracle/dba/lev0_bkup.sh
10 0 * * 1-2 /oraapp/oracle/dba/lev2_bkup.sh
10 0 * * 3 /oraapp/oracle/dba/lev1_bkup.sh
10 0 * * 4-6 /oraapp/oracle/dba/lev2_bkup.sh
10 3 * * 0 /oraapp/oracle/dba/ora_wk.sh
##################################################
########/oraapp/oracle/dba/DBA_rename.sql#########
##################################################
connect RMAN/RMAN@RCAT;
set echo off
set feedback off
set linesize 1000
set pagesize 0
set verify off
spool /oraapp/oracle/dba/log/rename.txt
select 'dd bs=1024 if=&1 f=/oraapp/oracle/dba/log/RLog_'||to_char(sysdate,'d')||'.txt' from dual;
spool off
host chmod 755 /oraapp/oracle/dba/log/rename.txt
host /oraapp/oracle/dba/log/rename.txt
host rm -rf /oraapp/oracle/dba/log/rename.txt
exit;
##################################################
###########/oraapp/oracle/dba/ora_os.sh###########
##################################################
#!/bin/sh
#
# copy all backup files from the db server72
#
cp /hotbkup/data/orabk/* /hotbkup/data/tmp/ >>/oraapp/oracle/dba/log/bkup.log
#
# move the daily backup to current week directory
#
cp /hotbkup/data/tmp/* /offbkup/data/cweek/ >>/oraapp/oracle/dba/log/bkup.log
#
# remove the yestoday's backup files
#
rm -rf /hotbkup/data/day/* >>/oraapp/oracle/dba/log/bkup.log
#
# copy all the backup file to day directory
#
mv /hotbkup/data/tmp/* /hotbkup/data/day/ >>/oraapp/oracle/dba/log/bkup.log
#
# delete all the db server72's backup files to free diskspace
# must delete at last for security
#
rm -rf /hotbkup/data/orabk/* >>/oraapp/oracle/dba/log/bkup.log
#
# list all the backup file
#
ls -l /hotbkup/data/orabk/ >>/oraapp/oracle/dba/log/bkup.log
ls -l /hotbkup/data/tmp/ >>/oraapp/oracle/dba/log/bkup.log
ls -l /hotbkup/data/day/ >>/oraapp/oracle/dba/log/bkup.log
ls -l /offbkup/data/cweek/ >>/oraapp/oracle/dba/log/bkup.log
#
# send email to dba
#
mail -s "BK_`date "+%Y-%m-%d"`_log"
westzq@hotmail.com ##################################################
###########/oraapp/oracle/dba/ora_wk.sh###########
##################################################
#!/bin/sh
#
# remove all the last week backup files
#
rm -rf /offbkup/data/pweek/*
#
# move current week backup file to preview week folder
#
mv /offbkup/data/cweek/* /offbkup/data/pweek/
##################################################
#########/oraapp/oracle/dba/full_bkup.sh##########
##################################################
#!/bin/sh
export ORACLE_HOME=/oraapp/oracle/92
export DBA_HOME=/oraapp/oracle/dba
export ORACLE_SID=RCAT
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export NLS_DATE_FORMAT='YYYY-MM-DD_HH24:MI:SS'
$ORACLE_HOME/bin/rman cmdfile $DBA_HOME/full_bk.rcv msglog $DBA_HOME/log/bkup.log
$ORACLE_HOME/bin/sqlplus /nolog @$DBA_HOME/DBA_rename.sql $DBA_HOME/log/bkup.log
/oraapp/oracle/dba/ora_os.sh &
##################################################
#########/oraapp/oracle/dba/full_bkup.rcv#########
##################################################
connect catalog RMAN/RMAN@RCAT;
connect target RMAN/RMAN@PROD;
run {
allocate channel ch1 device type disk;
allocate channel ch2 device type disk;
backup full filesperset=2 tag='Full_%d' format='/oradata/orabk/%T_full_%d_%s_%p' database include current controlfile;
sql 'alter system archive log current';
backup filesperset=4 format='/oradata/orabk/arch_%T_%d_%s_%p' archivelog all delete input;
release channel ch1;
release channel ch2;
}
quit;
##################################################
#########/oraapp/oracle/dba/lev0_bkup.sh##########
##################################################
#!/bin/sh
export ORACLE_HOME=/oraapp/oracle/92
export DBA_HOME=/oraapp/oracle/dba
export ORACLE_SID=RCVCAT
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export NLS_DATE_FORMAT='YYYY-MM-DD_HH24:MI:SS'
$ORACLE_HOME/bin/rman cmdfile $DBA_HOME/lev0_bkup.rcv log $DBA_HOME/log/bkup.log
$ORACLE_HOME/bin/sqlplus /nolog @$DBA_HOME/DBA_rename.sql $DBA_HOME/log/bkup.log
/oraapp/oracle/dba/ora_os.sh &
##################################################
#########/oraapp/oracle/dba/lev0_bkup.rcv#########
##################################################
connect catalog RMAN/RMAN@RCAT;
connect target RMAN/RMAN@PROD;
run {
allocate channel ch1 device type disk;
allocate channel ch2 device type disk;
backup incremental level=0 filesperset=2 tag='Lev0_%d' format='/oradata/orabk/%T_lev0_%d_%s_%p' database include current controlfile;
sql 'alter system archive log current';
backup filesperset=4 format='/oradata/orabk/arch_%T_%d_%s_%p'
archivelog all delete input;
release channel ch1;
release channel ch2;
}
quit;
##################################################
#########/oraapp/oracle/dba/lev1_bkup.sh##########
##################################################
#!/bin/sh
export ORACLE_HOME=/oraapp/oracle/92
export DBA_HOME=/oraapp/oracle/dba
export ORACLE_SID=RCAT
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export NLS_DATE_FORMAT='YYYY-MM-DD_HH24:MI:SS'
$ORACLE_HOME/bin/rman cmdfile $DBA_HOME/lev1_bkup.rcv log $DBA_HOME/log/bkup.log
$ORACLE_HOME/bin/sqlplus /nolog @$DBA_HOME/DBA_rename.sql $DBA_HOME/log/bkup.log
/oraapp/oracle/dba/ora_os.sh &
##################################################
#########/oraapp/oracle/dba/lev1_bkup.rcv#########
##################################################
connect catalog RMAN/RMAN@RCAT;
connect target RMAN/RMAN@PROD;
run {
allocate channel ch1 device type disk;
allocate channel ch2 device type disk;
backup incremental
level=1
filesperset=2
tag='Lev1_%d'
format='/oradata/orabk/%T_lev1_%d_%s_%p'
database include current controlfile;
sql 'alter system archive log current';
backup filesperset=4
format='/oradata/orabk/arch_%T_%d_%s_%p'
archivelog all delete input;
release channel ch1;
release channel ch2;
}
quit;
##################################################
#########/oraapp/oracle/dba/lev2_bkup.sh##########
##################################################
#!/bin/sh
export ORACLE_HOME=/oraapp/oracle/92
export DBA_HOME=/oraapp/oracle/dba
export ORACLE_SID=RCVCAT
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export NLS_DATE_FORMAT='YYYY-MM-DD_HH24:MI:SS'
$ORACLE_HOME/bin/rman cmdfile $DBA_HOME/lev2_bkup.rcv log $DBA_HOME/log/bkup.log
$ORACLE_HOME/bin/sqlplus /nolog @$DBA_HOME/DBA_rename.sql $DBA_HOME/log/bkup.log
/oraapp/oracle/dba/ora_os.sh &
##################################################
#########/oraapp/oracle/dba/lev2_bkup.rcv#########
##################################################
connect catalog RMAN/RMAN@RCAT;
connect target RMAN/RMAN@PROD;
run {
allocate channel ch1 device type disk;
allocate channel ch2 device type disk;
backup incremental
level=2
filesperset=2
tag='Lev2_%d'
format='/oradata/orabk/%T_lev2_%d_%s_%p'
database include current controlfile;
sql 'alter system archive log current';
backup filesperset=4
format='/oradata/orabk/arch_%T_%d_%s_%p'
archivelog all delete input;
release channel ch1;
release channel ch2;
}
quit;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22907091/viewspace-713297/
,如需转载,请注明出处,否则将追究法律责任。