在WIN2000 SERVER下如何实现ORACLE的自动备份

给你一个热备份的脚本,热备份最大的好处就是可以进行数据的完全或非完全恢复,如0点备份,23点崩溃,数据库可以恢复到23点,也可以选择性的恢复到12点。关于恢复的资料,最好自己看书,很多。
rem script:hotbak.sql
rem creater:chenjiping
rem date:4.4.2002
rem desc:backup database datafile in archive

--connect database
connect internal/virpure;

--archive
alter system checkpoint;
alter system archive log all;
alter system switch logfile;
--start
alter tablespace afis_remote begin backup;
!xcopy e:\orant\database\remote_data1.ora e:\databak/H/R;
!xcopy e:\orant\database\remote_data2.ora e:\databak/H/R;
alter tablespace afis_remote end backup;

alter tablespace afis_rmtafis begin backup;
!xcopy e:\orant\database\rmtafis_data1.ora e:\databak/H/R;
!xcopy e:\orant\database\rmtafis_data2.ora e:\databak/H/R;
alter tablespace afis_rmtafis end backup;

alter tablespace afis_lquser begin backup;
!xcopy e:\orant\database\lquser_data.ora e:\databak/H/R;
alter tablespace afis_lquser end backup;

alter tablespace afis_transf begin backup;
!xcopy e:\orant\database\transf1_data.ora e:\databak/H/R;
!xcopy e:\orant\database\transf2_data.ora e:\databak/H/R;
alter tablespace afis_transf end backup;

alter tablespace system begin backup;
!xcopy e:\orant\database\sys1afis.ora e:\databak/H/R;
alter tablespace system end backup;

alter tablespace rbs begin backup;
!xcopy e:\orant\database\rbs1afis.ora e:\databak/H/R;
alter tablespace rbs end backup;

alter tablespace usr begin backup;
!xcopy e:\orant\database\usr1afis.ora e:\databak/H/R;
alter tablespace usr end backup;

alter tablespace temporary begin backup;
!xcopy e:\orant\database\tmp1afis.ora e:\databak/H/R;
alter tablespace temporary end backup;
--end

--bak control file
--bin
alter database backup controlfile to 'e:\databak\controlbinbak.000';
--ascii
alter database backup controlfile to trace;

alter system switch logfile;
alter system switch logfile;
以下是调用以上脚本的bat,照样可以加到任务计划中,一般热备份每周备份一次就够了,主要看情况不同而定。
rem script:hotbak.bat
rem creater:chenjiping
rem date:4.4.2002
rem desc:backup database datafile in archive

echo del old temp backup file
del f:\datatmp\./q
del e:\datatmp\./q
echo bak backup file to temp
move e:\databak\. e:\datatmp\
move f:\Archive\. f:\datatmp\
echo start new bak to e:\databak
svrmgrl @e:\sql\hotbak.sql

---------------------------------------------------------------

1.在d:盘中建立备份文件夹,如:d:\数据库备份;再建立5个(最多7个)子目录,如d:\数据库备份\星期一,d:\数据库备份\星期二,......,如此可保证每周的备份;
2.在d:\数据库备份目录下建立5个批处理文件,如:星期一.bat(可为7个);
3.编辑星期一.bat,写入:
exp system/manager owner=(test1) file=d:\数据库备份\星期一\test1.dmp
log=d:\数据库备份\星期一\test1.log buffer=655000;
(注意有几个库写几个)

4.将批理文件加入“控制面板”、“任务计划”、“备份”、“每天”,时间可为凌晨1-3点,OK!

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus