现在的ORACLE一般都采用RMAN进行备份,不过在8及以前一般都是DBA自己写的一些备份脚本。
这是一个比较简单的windows系统不用RMAN的oracle数据库热备脚本。仅供参考学习用。
本代码包括以下两个文件。
主文件backup.bat,用来执行备份的批处理文件,配置好参数,直接运行即可。
rem 作者:叶正盛(MKing),2008-06-25
rem 设置ORACLE_SID
set ORACLE_SID=testdb
rem 设置备份目录
set backup_dest_path=H:/oracle/oradata/testdbbackup/
rem 设置归档日志目录
set archive_dest_path=H:/oracle/oradata/testdb/archive/
rem 创建备份的SQLPLUS脚本到mybackup.sql文件
sqlplus /nolog @createscript.sql
rem 执行备份
sqlplus /nolog @mybackup.sql %backup_dest_path% %archive_dest_path%
生成备份脚本文件createscript.sql
connect / as SYSDBA
--关闭屏幕输出
set term off;
--关闭输出列头信息
set heading off;
--设置行长度
set linesize 500;
--关闭输出统计行数信息
set feedback off;
--关闭变量扫描
SET SCAN off;
--打开输出
SET SERVEROUTPUT ON SIZE 100000;
spool off
--将生成的脚本输出到mybackup.sql文件
spool mybackup.sql
declare
--读取数据表空间
cursor cur_tbs is
select distinct b.*
from v$datafile a, v$tablespace b
where a.TS# = b.TS#;
--读取表空间数据文件
cursor cur_datafile(iTS integer) is
select * from v$datafile a where a.TS# = iTS;
--读取控制文件
cursor cur_controlfile is
select * from v$controlfile;
--读取重做日志文件
cursor cur_redofile is
select * from v$logfile;
begin
--输出连接数据库命令
dbms_output.put_line('connect / as SYSDBA;');
for rec_tbs in cur_tbs loop
--输出开始备份表空间命令
dbms_output.put_line('alter tablespace ' || rec_tbs.name ||' begin backup;');
for rec_datafile in cur_datafile(rec_tbs.ts#) loop
--输出操作系统复制数据文件命令
dbms_output.put_line('host copy /Y "'||rec_datafile.name||'" "&1";');
end loop;
--输出结束备份表空间命令
dbms_output.put_line('alter tablespace ' || rec_tbs.name || ' end backup;');
end loop;
for rec_controlfile in cur_controlfile loop
--输出操作系统复制控制文件命令
dbms_output.put_line('host copy /Y "'||rec_controlfile.name||'" "&1";');
end loop;
--输出切换日志命令
dbms_output.put_line('alter system archive log current;');
--输出备份归档日志文件命令
dbms_output.put_line('host move /Y "&2*.*" "&1";');
for rec_redofile in cur_redofile loop
--输出备份重做日志文件命令
dbms_output.put_line('host copy /Y "'||rec_redofile.member||'" "&1";');
end loop;
--输出退出sqlplus命令
dbms_output.put_line('exit;');
end;
/
spool off
exit;
分享到:
相关推荐
window oracle rman 增量备份脚本
Legato备份Oracle数据库rman脚本,数据文件和归档日志
一个oracle自动备份脚本!
windows系统下面oracle数据库使用RMAN工具执行增量备份, 应用任务计划程序定时执行脚本。
windows下的oracle数据库rman自动备份和恢复.pdf
采用rman备份的oracle数据库从Windows操作系统的恢复到Linux操作系统方法
oracle rman占用磁盘空间,利用Windows计划任务执行该脚本释放空间,脚本内相关路径需根据实际情况进行更改
该文档介绍了如何利用rman工具对oracle数据库进行备份和恢复。
Oracle数据库在windows上的复制方法。
Oracle11g RMAN复制数据库最佳实战
基于RMAN的Oracle数据库备份与恢复机制.pdf
Oracle Rman备份脚本For Windows
windows下的oracle数据库rman自动备份和恢复文档
Oracle数据库Rman备份方案,全备、增备。
此文档中详解介绍了oracle数据库中关于RMAN命令的详细及其注意事项
使用RMAN实现ORACLE数据库的增量备份.pdf
oracle rman备份的脚本,公司近段时间改用rman备份。大家可以看看
详细、完整的介绍使用RMAN对数据库进行备份及恢复
Oracle数据库10g备份和恢复:RMAN和闪回技术
windows-下的oracle数据库rman自动备份和恢复文档.docx