我在9i下试过 1:建立一个批处理文件:hotback.bat sqlplus -s system/manager@test @c:\hotback.sql >> c:\hot.log sqlplus -s system/manager@test @c:\hot_back.sql >> c:\hot2.log exit2:hotback.sql文件信息: define HOT_BACK_DIR = H:\backup define INT_PWD = manager define BACK_DATE = to_char(sysdate,'ddmmyy')set heading off prompt backup on select 'prompt' || to_char(sysdate,'dd/mm/yyyy') from dual;/* Create Temporary Table with Tablespace Data */ drop table dsc_hot_stage; create table dsc_hot_stage ( tablespace_name varchar2(30), file_name varchar2(200) );insert into dsc_hot_stage select rtrim(tablespace_name),rtrim(file_name) from sys.dba_data_files;set feedback off set heading off set pagesize 0 set linesize 85 set verify off set termout off set echo off break on c2 on c1spool D:\tenjak_back.sqlselect 'prompt ' || to_char(sysdate,'dd/mm/yyyy hh24:mi:ss') from dual;select 'connect system/&INT_PWD'||'@tenjak as sysdba' from dual; -- Create Script to backup actual files to a directory select 'prompt ' || tablespace_name|| ' begin backup' c1, 'alter tablespace '|| tablespace_name||' begin backup;' c2, 'host ocopy '||file_name||' &HOT_BACK_DIR' || '\' || substr(file_name,instr(rtrim(file_name),'\',-1,1)+1,length(rtrim(file_name))) c3 from dsc_hot_stage union select 'prompt ' || tablespace_name || ' end backup' c1, 'alter tablespace '|| tablespace_name||' end backup;' c2, null c3 from dsc_hot_stage group by tablespace_name,file_name order by c2,c1; -- Create Script to backup Control File to Destination select 'alter database backup controlfile to ''&HOT_BACK_DIR' || '\' || 'control.' || &back_date || ''' ;' from dual; -- Create standby DB control select 'Alter database create standby controlfile as ''&HOT_BACK_DIR' || '\' || 'stby_control.' || &back_date || ''' ;' from dual; -- Create Script to backup Control File to Trace select 'alter database backup controlfile to trace; ' from dual; select 'alter system switch logfile;' from dual; select 'alter system switch logfile;' from dual; select 'exit' from dual;spool off exit
3:由2生成hot_back.sql,以下为内容样本,具体应由2生成。 prompt 17/11/2003 11:28:41 connect system/manager@tenjak as sysdba prompt CWMLITE begin backup alter tablespace CWMLITE begin backup; host ocopy D:\ORACLE\ORADATA\TENJAK\CWMLITE01.DBF H:\backup\CWMLITE01.DBF
prompt CWMLITE end backup alter tablespace CWMLITE end backup;
prompt DRSYS begin backup alter tablespace DRSYS begin backup; host ocopy D:\ORACLE\ORADATA\TENJAK\DRSYS01.DBF H:\backup\DRSYS01.DBF
prompt DRSYS end backup alter tablespace DRSYS end backup;
prompt EXAMPLE begin backup alter tablespace EXAMPLE begin backup; host ocopy D:\ORACLE\ORADATA\TENJAK\EXAMPLE01.DBF H:\backup\EXAMPLE01.DBF
prompt EXAMPLE end backup alter tablespace EXAMPLE end backup;
prompt INDX begin backup alter tablespace INDX begin backup; host ocopy D:\ORACLE\ORADATA\TENJAK\INDX01.DBF H:\backup\INDX01.DBF
prompt INDX end backup alter tablespace INDX end backup;
prompt OEM_REPOSITORY begin backup alter tablespace OEM_REPOSITORY begin backup; host ocopy D:\ORACLE\ORADATA\TENJAK\OEM_REPOSITORY.DBF H:\backup\OEM_REPOSITORY.DBF
prompt OEM_REPOSITORY end backup alter tablespace OEM_REPOSITORY end backup;
prompt SYSTEM begin backup alter tablespace SYSTEM begin backup; host ocopy D:\ORACLE\ORADATA\TENJAK\SYSTEM01.DBF H:\backup\SYSTEM01.DBF
prompt SYSTEM end backup alter tablespace SYSTEM end backup;
prompt TOOLS begin backup alter tablespace TOOLS begin backup; host ocopy D:\ORACLE\ORADATA\TENJAK\TOOLS01.DBF H:\backup\TOOLS01.DBF
prompt TOOLS end backup alter tablespace TOOLS end backup;
prompt UNDOTBS begin backup alter tablespace UNDOTBS begin backup; host ocopy D:\ORACLE\ORADATA\TENJAK\UNDOTBS01.DBF H:\backup\UNDOTBS01.DBF
prompt UNDOTBS end backup alter tablespace UNDOTBS end backup;
prompt USERS begin backup alter tablespace USERS begin backup; host ocopy D:\ORACLE\ORADATA\TENJAK\USERS01.DBF H:\backup\USERS01.DBF
prompt USERS end backup alter tablespace USERS end backup;
alter database backup controlfile to 'H:\backup\control.171103' ; Alter database create standby controlfile as 'H:\backup\stby_control.171103' ; alter database backup controlfile to trace; alter system switch logfile; alter system switch logfile; exit
不过我对这句不太理解 select 'alter system switch logfile;' from dual; select 'alter system switch logfile;' from dual; 为什么要两句,是不是打错了 是不是该改为 select 'alter system archive log all;'from dual; select 'alter system switch logfile;' from dual; 请高手指点啊 以上参考链接 http://www.syerp.com/oracle/20010903.php
window计划任务
是不是进去以后选取oracle的备份程序?9i中具体是哪个?
1:建立一个批处理文件:hotback.bat
sqlplus -s system/manager@test @c:\hotback.sql >> c:\hot.log
sqlplus -s system/manager@test @c:\hot_back.sql >> c:\hot2.log
exit2:hotback.sql文件信息:
define HOT_BACK_DIR = H:\backup
define INT_PWD = manager
define BACK_DATE = to_char(sysdate,'ddmmyy')set heading off
prompt backup on
select 'prompt' || to_char(sysdate,'dd/mm/yyyy') from dual;/* Create Temporary Table with Tablespace Data */
drop table dsc_hot_stage;
create table dsc_hot_stage
(
tablespace_name varchar2(30),
file_name varchar2(200)
);insert into dsc_hot_stage
select rtrim(tablespace_name),rtrim(file_name) from sys.dba_data_files;set feedback off
set heading off
set pagesize 0
set linesize 85
set verify off
set termout off
set echo off
break on c2 on c1spool D:\tenjak_back.sqlselect 'prompt ' || to_char(sysdate,'dd/mm/yyyy hh24:mi:ss') from dual;select 'connect system/&INT_PWD'||'@tenjak as sysdba' from dual;
-- Create Script to backup actual files to a directory
select 'prompt ' || tablespace_name|| ' begin backup' c1,
'alter tablespace '|| tablespace_name||' begin backup;' c2,
'host ocopy '||file_name||' &HOT_BACK_DIR' || '\' ||
substr(file_name,instr(rtrim(file_name),'\',-1,1)+1,length(rtrim(file_name))) c3
from dsc_hot_stage
union
select
'prompt ' || tablespace_name || ' end backup' c1,
'alter tablespace '|| tablespace_name||' end backup;' c2,
null c3
from dsc_hot_stage
group by tablespace_name,file_name order by c2,c1;
-- Create Script to backup Control File to Destination
select 'alter database backup controlfile to ''&HOT_BACK_DIR' || '\' ||
'control.' || &back_date || ''' ;' from dual;
-- Create standby DB control
select 'Alter database create standby controlfile as ''&HOT_BACK_DIR' || '\' ||
'stby_control.' || &back_date || ''' ;' from dual;
-- Create Script to backup Control File to Trace
select 'alter database backup controlfile to trace; '
from dual;
select 'alter system switch logfile;' from dual;
select 'alter system switch logfile;' from dual;
select 'exit' from dual;spool off exit
prompt 17/11/2003 11:28:41
connect system/manager@tenjak as sysdba
prompt CWMLITE begin backup
alter tablespace CWMLITE begin backup;
host ocopy D:\ORACLE\ORADATA\TENJAK\CWMLITE01.DBF H:\backup\CWMLITE01.DBF
prompt CWMLITE end backup
alter tablespace CWMLITE end backup;
prompt DRSYS begin backup
alter tablespace DRSYS begin backup;
host ocopy D:\ORACLE\ORADATA\TENJAK\DRSYS01.DBF H:\backup\DRSYS01.DBF
prompt DRSYS end backup
alter tablespace DRSYS end backup;
prompt EXAMPLE begin backup
alter tablespace EXAMPLE begin backup;
host ocopy D:\ORACLE\ORADATA\TENJAK\EXAMPLE01.DBF H:\backup\EXAMPLE01.DBF
prompt EXAMPLE end backup
alter tablespace EXAMPLE end backup;
prompt INDX begin backup
alter tablespace INDX begin backup;
host ocopy D:\ORACLE\ORADATA\TENJAK\INDX01.DBF H:\backup\INDX01.DBF
prompt INDX end backup
alter tablespace INDX end backup;
prompt OEM_REPOSITORY begin backup
alter tablespace OEM_REPOSITORY begin backup;
host ocopy D:\ORACLE\ORADATA\TENJAK\OEM_REPOSITORY.DBF H:\backup\OEM_REPOSITORY.DBF
prompt OEM_REPOSITORY end backup
alter tablespace OEM_REPOSITORY end backup;
prompt SYSTEM begin backup
alter tablespace SYSTEM begin backup;
host ocopy D:\ORACLE\ORADATA\TENJAK\SYSTEM01.DBF H:\backup\SYSTEM01.DBF
prompt SYSTEM end backup
alter tablespace SYSTEM end backup;
prompt TOOLS begin backup
alter tablespace TOOLS begin backup;
host ocopy D:\ORACLE\ORADATA\TENJAK\TOOLS01.DBF H:\backup\TOOLS01.DBF
prompt TOOLS end backup
alter tablespace TOOLS end backup;
prompt UNDOTBS begin backup
alter tablespace UNDOTBS begin backup;
host ocopy D:\ORACLE\ORADATA\TENJAK\UNDOTBS01.DBF H:\backup\UNDOTBS01.DBF
prompt UNDOTBS end backup
alter tablespace UNDOTBS end backup;
prompt USERS begin backup
alter tablespace USERS begin backup;
host ocopy D:\ORACLE\ORADATA\TENJAK\USERS01.DBF H:\backup\USERS01.DBF
prompt USERS end backup
alter tablespace USERS end backup;
alter database backup controlfile to 'H:\backup\control.171103' ;
Alter database create standby controlfile as 'H:\backup\stby_control.171103' ;
alter database backup controlfile to trace;
alter system switch logfile;
alter system switch logfile;
exit
select 'alter system switch logfile;' from dual;
select 'alter system switch logfile;' from dual;
为什么要两句,是不是打错了
是不是该改为
select 'alter system archive log all;'from dual;
select 'alter system switch logfile;' from dual;
请高手指点啊
以上参考链接 http://www.syerp.com/oracle/20010903.php