数据库/目录 自动备份脚本

helloworlddm 2010-01-13

windows通过任务计划可以调用bat批处理文件。可以实现简单的备份功能 与同步功能。

1.通过exp导出oracle数据库,自动命名为“name1+当日日期”,输出log。

导出成功后,将dmp文件压缩打包,删除dmp文件。

exp system/oracle@servicename owner=databaseUser1,databaseUser2 file=e:\name1_%date:~0,10%.dmp log=e:\log\name1_%date:~0,10%.logif %errorlevel% ==0 "C:\Program Files\WinRAR\rar" a -df e:\name1_%date:~0,10%.rar e:\name1_%date:~0,10%.dmp
 

还可以通过写vb来实现,添加以下内容,保存为.wsf

<job id="数据库备份">
<script language="vbscript">
		Set WshShell = WScript.CreateObject("WScript.Shell")	
		WshShell.Run ("d:\doexp.bat")
			
		if Weekday(date) <> vbSaturday then
			dmpName = "name1_" & Year(date) & "-" &  month(date) & "-" & day(date)-7 & ".dmp"
			WshShell.Run ("cmd.exe /C del e:\" &  dmpName) 
	  end if
	  
	  Set WshShell = NOthing
</script>
</job>

2.在批处理中执行sql。

sqlplus system/oracle@servicename @reflush_oracle_shared_pool.sql >e:\flush_log\flush_%date:~0,10%.log

reflush_oracle_shared_pool.sql

刷新oracle的shared_pool。

alter system flush shared_pool;exit;

3.文件自动备份,可以通过rsync来实现。

参看通过rsync实现自动备份 自动同步

相关推荐