比较简单windows系统不用RMAN的oracle数据库热备脚本
2008-06-25 21:35
471 查看
现在的ORACLE一般都采用RMAN进行备份,不过在8及以前一般都是DBA自己写的一些备份脚本。
这是一个比较简单的windows系统不用RMAN的oracle数据库热备脚本。仅供参考学习用。
本代码包括以下两个文件。
主文件backup.bat,用来执行备份的批处理文件,配置好参数,直接运行即可。
生成备份脚本文件createscript.sql
这是一个比较简单的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;
相关文章推荐
- 比较简单windows系统不用RMAN的oracle数据库热备脚本(转载)
- 比较简单windows系统不用RMAN的oracle数据库冷备脚本
- 比较简单windows系统不用RMAN的oracle数据库冷备脚本(转载)
- Oracle 10G简单制作自启动关闭数据库脚本的方法
- Windows系统安装Oracle 11g数据库
- 【Vegas原创】RMAN数据库Daily备份脚本(Windows版)
- oracle 数据库简单迁移,不使用RMAN
- Windows下虚拟ASM磁盘搭建基于ASM的Oracle 10g数据库系统(1)
- 生产系统Windows平台Oracle+WebLogic数据库项目实施与维护-视频教程
- 使用Rman将Windows Oracle 11gR2 32位中数据库恢复至Windows Oracle 11gR2 64位 与 centos 6.5 Oracle 11gR2 32位
- Windows下oracle RMAN备份脚本
- 【Vegas原创】RMAN数据库Daily备份脚本(Windows版)
- Windows下虚拟ASM磁盘搭建基于ASM的Oracle 10g数据库系统(2)
- 【Oracle】教你一步一步在Windows 8.1系统下使用使用"Database Configuration Assistant"(Oracle 12c)创建数据库
- Windows系统安装Oracle 11g 数据库图文教程
- windows系统卸载oracle(简单步骤,完全卸载)
- Windows下虚拟ASM磁盘搭建基于ASM的Oracle 10g数据库系统(3)
- windows下手动创建最简单的数据库(oracle 10.1.0)
- oracle 服务启动,关闭脚本(windows系统下)
- Windows 下 Oracle数据库自动备份批处理脚本