欢迎来到我的地盘:今天是

若得山花插满头,莫问奴归处!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
在网上看了几个冷备份的脚本,运行起来多少有些问题。本人在自己的机器(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命令提示下面才不会提示你是文件名还是目录名。
posted on 2007-09-29 10:15  莫问奴归处  阅读(1239)  评论(1编辑  收藏  举报
轩轩娃