您的位置:首页 > 数据库 > Oracle

oracle自动冷备份脚本

2009-09-15 14:20 260 查看


数据库自动冷备份脚本(精)

Posted on 2007-09-29 10:15 莫问奴归处
阅读(409) 评论(1)
 编辑
收藏
网摘
所属分类: 数据库(ORACLE,SQLSERVER)



在网上看了几个冷备份的脚本,运行起来多少有些问题。本人在自己的机器(WINDOWS2000+ORA92)上面经过修改测试以后,代码如下。希望对大家有所帮助。
共有两个文件back_cold.bat和back_cold.sql,通过定时任务来调用back_cold.bat

back_cold.bat这个批处理文件的位置你可以随便放。

back_cold.sql这个脚本的位置我是放在F:/ORACLE目录下面的。

备份成功以后文件放在一个日期文件夹下面,每天一个。时间长了以后可能会很占用磁盘空间。你也可以经过简单的修改以后只保留昨天的数据。由于DOS下面获取昨天的时间比较困难,代码也比较长,需要的话请注明,我可以传上来。


1、back_cold.bat

set day=%date:~4,20%

cd F:/oracle

md %day%&

sqlplus /nolog @f:/oracle/back_cold.sql %day%

需要说明一下的是我在网上看到的脚本的第一行代码是这样的:set day=%date:~0,10%,这样的话可能会出现汉字目录。所以我改成上面的代码了。

2、back_cold.sql

Rem db cold backup;

conn sys/change_on_install@ora92 as sysdba;

shutdown immediate;

host xcopy /i
D:/oracle/oradata/oil/oilscore*.ora  f:/oracle/&1;

host xcopy /i
D:/oracle/oradata/oil/redo*.log       f:/oracle/&1;

host xcopy /i
D:/oracle/oradata/oil/control*.ctl    f:/oracle/&1;

startup;

exit;

需要说明一下的是在拷贝的时候要加上参数/i
,这样在CMD命令提示下面才不会提示你是文件名还是目录名。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息