欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle冷备和热备脚本

程序员文章站 2022-06-11 20:24:00
...

Oracle冷备脚本: set feedback off set heading off set verify off set trimspool off set echo off set time off set timin

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

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

Oracle热备脚本:

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

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