windows计划任务+批处理文件实现oracle数据库的定时备份与恢复

1.  备份:

1.1.  创建database_exp.bat批处理文件

首先创建一个用于导出数据库的批处理文件,这个脚本能够备份最近七天的数据库,database_ext.bat内如如下所示:

del f:\mydata_mytest\oradata7.dmp 
del f:\mydata_mytest\oradata7.log
ren f:\mydata_mytest\oradata6.dmp oradata7.dmp 
ren f:\mydata_mytest\oradata5.dmp oradata6.dmp 
ren f:\mydata_mytest\oradata4.dmp oradata5.dmp 
ren f:\mydata_mytest\oradata3.dmp oradata4.dmp 
ren f:\mydata_mytest\oradata2.dmp oradata3.dmp 
ren f:\mydata_mytest\oradata.dmp oradata2.dmp 
ren f:\mydata_mytest\oradata6.log oradata7.log 
ren f:\mydata_mytest\oradata5.log oradata6.log 
ren f:\mydata_mytest\oradata4.log oradata5.log 
ren f:\mydata_mytest\oradata3.log oradata4.log 
ren f:\mydata_mytest\oradata2.log oradata3.log 
ren f:\mydata_mytest\oradata.log oradata2.log
exp xuwei/xuwei@orcl file=f:\mydata_mytest\oradata.dmp log=f:\mydata_mytest\oradata.log

1.2.  执行database_ext.bat批处理文件

可以双击这个批处理文件,也可以将这个批处理文件拖到cmd中执行。

2.  恢复

2.1.  建立droptables.sql脚本

这个sql脚本是用来执行数据库存储过程的。droptable.sql的内容如下所示:

execute droptables();
exit

2.2.  创建存储过程       

之所以要执行这个脚本,是为了在恢复数据库之前,首先删除数据库中的所有已存在的表。

droptables存储过程用来删除当前数据库中的所有表,存储过程内容如下所示:

CREATE OR REPLACE 
procedure droptables is
v_sql varchar2(2000) ;
CURSOR cur is select table_name from user_tables order by table_name;
begin for rows in cur loop v_sql := 'drop TABLE ' || rows.table_name||' cascade constraints';
dbms_output.put_line(v_sql);
execute immediate v_sql;
end loop;
execute immediate 'purge recyclebin';
end droptables;

可以在Sql Developer中创建存储过程,如下图所示:

windows计划任务+批处理文件实现oracle数据库的定时备份与恢复_第1张图片

2.3.  创建imp.bat批处理文件

imp.bat这个批处理文件用于恢复数据,其原理就是将前面备份的dmp数据库文件导入到数据库中。imp.bat内容如下所示:

sqlplus xuwei/xuwei@orcl @f:\mydata_mytest\droptables.sql
imp xuwei/xuwei@orcl file=f:\mydata_mytest\oradata.dmp full=y ignore=y

2.4.  bat文件命名的注意点

上述的两个批处理文件分别命名为database_imp.bat和database_exp.bat,如果命名为imp.bat和exp.bat,双击这两个文件都会出错,而将他们拖拽到cmd命令中则能够正常执行。这是因为批处理文件的命名不能是命令的单词相同,上述imp和exp都是命令的名字,所以不能用来做bat文件的文件名。

3.  使用Windows任务计划程序

在控制面板中打开计划任务程序,然后按如下图进行计划任务配置。

windows计划任务+批处理文件实现oracle数据库的定时备份与恢复_第2张图片

windows计划任务+批处理文件实现oracle数据库的定时备份与恢复_第3张图片

windows计划任务+批处理文件实现oracle数据库的定时备份与恢复_第4张图片

windows计划任务+批处理文件实现oracle数据库的定时备份与恢复_第5张图片

windows计划任务+批处理文件实现oracle数据库的定时备份与恢复_第6张图片

注意点:如果要是windows系统执行计划任务,那么必须开启计划任务程序的服务,

计划任务程序所对应的服务叫做TaskSchedule,如下图所示:




你可能感兴趣的:(windows计划任务+批处理文件实现oracle数据库的定时备份与恢复)