ITPub博客

首页 > 数据库 > Oracle > Rman的镜像拷贝脚本

Rman的镜像拷贝脚本

原创 Oracle 作者:BTxigua 时间:2007-08-18 02:48:29 0 删除 编辑

#!/bin/sh

#
# define backup directory
#
export BACKUP_DIR=/backup/rman
export BACKUP_SCRIPT_DIR=/home/oracle/niyl

#
#create backup script file by sql spool
#

[@more@]sqlplus /nolog <connect /as sysdba
set feedback off pagesize 0 heading off verify off
set linesize 100 trimspool on
set serveroutput on
spool $BACKUP_SCRIPT_DIR/temp.rcv
declare
cursor c_datafile is
select file_id fid,substr(file_name,(instr(file_name,'/',-1)+1)) fname from dba_data_files;
begin
dbms_output.put_line('run {');
dbms_output.put_line('allocate channel d1 type disk ; ');
dbms_output.put_line('allocate channel d2 type disk ; ');
dbms_output.put_line('copy ');
for p_df in c_datafile loop
dbms_output.put_line(' datafile '||p_df.fid||' to '||''''||'$BACKUP_DIR/'||p_df.fname||'.bak'||''''||',');
end loop;
dbms_output.put_line('current controlfile to ''$BACKUP_DIR/ctl.bak'';');
dbms_output.put_line('release channel d1;');
dbms_output.put_line('release channel d2;');
dbms_output.put_line('}');
dbms_output.put_line('exit ;');
end ;
/
spool off;
host cat $BACKUP_SCRIPT_DIR/temp.rcv|grep -v "^[ ]{1,3}[0-9]" | grep -v "SQL>" >$BACKUP_SCRIPT_DIR/rman_image_copy.rcv
exit
!EOF

rm -f $BACKUP_SCRIPT_DIR/temp.rcv

#
# begin backup
#
#rman<#connect target sys/admin@test
#connect catalog rman9204/rman9204
rman target sys/admin nocatalog <@$BACKUP_SCRIPT_DIR/rman_image_copy.rcv
list copy of database;
!

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10867315/viewspace-963993/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: oracle的热备脚本
请登录后发表评论 登录
全部评论

注册时间:2008-01-31

  • 博文量
    101
  • 访问量
    313452