Oracle冷备和热备脚本

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

在数据库运行时可以运行此脚本来热备。

http://www.2cto.com/database/201307/224412.html

原文地址:https://www.cnblogs.com/adodo1/p/4327547.html