利用windows脚本实现Oracle数据库定时导出文件

Oracle 10g为我们提供了expdp命令来将数据库数据导出到文件,因此我们可以使用脚本来实现数据定时导出文件的功能,其步骤如下:

1、创建脚本文件,并保存为exportOracle.bat
2、配置expdp导出命令
其命令示例如下:
expdp system/pwd directory=pms_backup_schema dumpfile=%date:~0,10%exp.dmp logfile=%date:~0,10%exp.log schemas=pmsuser job_name=exp_test_schema
(注意:以上所有代码都写在一行)
 
以上黑体部分为可替换字符,其说明如下:
system
具有导出权限的用户名
pwd
上述用户密码与用户名使用“/”连接
pms_backup_schema
oracle的目录空间对象名
%date:~0,10%exp.dmp
该字符串指示了导出文件的文件名,“%”之间为系统日期变量,并格式化为从0字符开始的10个字符大小。例如2006年11月30日 星期四,格式化为2006-11-30。
%date:~0,10%exp.log
该字符串指示了导出日志的文件名,规则同上
pmsuser
表空间名
exp_test_schema
作业名
3、复制导出文件到临时文件夹
命令示例如下:
e:
cd E:/oracle/pmsSchemaBackup
copy %date:~0,10%exp.dmp     temp/%date:~0,10%exp.dmp
(注意:以上代码分三行)
 
以上黑体部分为可替换字符,其说明如下:
e:
       进入导出文件所在盘符
cd E:/oracle/pmsSchemaBackup
       进入导出文件所在文件夹
copy %date:~0,10%exp.dmp     temp/%date:~0,10%exp.dmp
       复制已导出的文件到temp下,文件名规则同上
4、建立FTP服务器
       在源机器(比如数据库所在服务器)或目标机器(比如需要同步备份到的机器)上使用IIS搭建FTP服务器,并设置相应的目录指向和权限。
如在目标机器搭建FTP服务器,将目录指向即将存放备份文件的路径,并使目录可写,这样做的优点是同步执行脚本处于同一机器,有利于统一管理。
如在源机器搭建FTP服务器,则只需将目录指向导出文件所在路径,开放读取权限即可,但以下的脚本需要运行在目标机器上。
这里使用了目标机器搭建FTP服务器。
5、建立FTP操作脚本
创建一个新文件,并命名为ftpup.src,其内容如下:
open 127.0.0.1
user oracleBackup
password
put E:/oracle/pmsSchemaBackup/temp/*EXP.DMP
close
quit
       (注意:以上代码分行是必须的)
      
以上黑体部分为可替换字符,其说明如下:
open 127.0.0.1
       登录指定IP的FTP服务器
user oracleBackup
       用户名
password
       该行必须位于单独一行,为密码
put E:/oracle/pmsSchemaBackup/temp/*EXP.DMP
       上传temp目录下所有的文件
close
       关闭连接
quit
       退出
6、在exportOracle.bat中加入FTP操作脚本
       在exportOracle.bat后追加代码:
ftp -n -s:E:/oracle/pmsSchemaBackup/ftpup.src
       黑体部分为步骤5创建的ftpup.src文件的绝对路径
7、删除临时文件
       命令:
              del temp/*exp.dmp
       以删除temp的临时文件
8、建立计划任务
       打开windows计划任务,新建一个计划,设定运行文件为exportOracle.bat,并设置相应的时间间隔。
如果选择了源机器搭建FTP数据库,则需要在源机器和目标机器上分别建立计划任务。
标签:
文章分类 我跟饭碗的那些破事

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

点赞
如果您觉得很赞,我将非常乐意接受虚拟币的捐赠,以示您对我的肯定。

比特币钱包地址:
1PqpqA8FyH3NbfCrbcRd1YxQk3LEsSEYDV
莱特币钱包地址:
LRTdmovGGVEHCKWz7JdL9aiB7VZkuNycJf
站点勋章
网站统计