Oracle冷备和热备脚本

2014-11-24 15:14:10 · 作者: · 浏览: 0
Oracle冷备和热备脚本
冷备脚本:
set feedback off

set heading off
set verify  off
set trimspool off
set echo off
set time off
set timing off
set pagesize 0
set linesize 200
define dir='/backup/cold/mike';
define diroutmike='/u01/scripts/coldscr/mikecoldout.sql';
spool &diroutmike
select '!cp '||name||' &dir' from v$datafile order by file#;
select '!cp '||name||' &dir' from v$controlfile;
spool off;
shutdown immediate;
@&diroutmike
startup;

以上脚本放在/u01/scripts/coldscr/mikecold.sql
数据库运行时可以运行此脚本来冷备。
热备脚本:
set feedback off 
set pagesize 0 
set heading off 
set verify off 
set linesize 100 
set trimspool on 
set echo off 
set time off 
set timing off
undefine mikedir
undefine mikescp
define mikedir='/backup/hot'
define mikescp='/u01/scripts/hotscr/mikehotout.sql'
declare
        cursor cur_tablespace is select tablespace_name from dba_tablespaces where status <>
'READ ONLY' a nd contents not like '%TEMP%'; cursor cur_datafile(tn varchar2) is select file_name from dba_data_files where tablespace_name=tn; begin for ct in cur_tablespace loop dbms_output.put_line('alter tablespace '||ct.tablespace_name||' begin backup;'); for cd in cur_datafile(ct.tablespace_name) loop dbms_output.put_line('! cp '||cd.file_name||' &mikedir'); end loop; dbms_output.put_line('alter tablespace '||ct.tablespace_name||' end backup;'); end loop; end; /

以上脚本放在/u01/scripts/hotscr/mikehot.sql
数据库运行时可以运行此脚本来热备。