这是我引用的一个网友的作品,也许你会受到启发: 给你一个热备份的脚本,热备份最大的好处就是可以进行数据的完全或非完全恢复,如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
你先将你所有的数据库文件COPY到别处一个盘,然后再修改一下主服的启支文件,如INIT.ORA等文件,让系统能找到你的第二个机子。然后将主服设定在BACKUP状态就行了
给你一个热备份的脚本,热备份最大的好处就是可以进行数据的完全或非完全恢复,如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!
找人帮忙