月月鸟0820 发表于 2012-12-10 14:51:37

采用批处理命令备份表

<div id="cnblogs_post_body">本节摘要:采用批处理命令备份oracle数据库中的指定表;
引言:
最近项目中看同事做了一个使用批处理命令备份oracle数据库中某些表的批处理脚本,
觉着这个东西很实用,加上今晚下班比较的早,晚上回来就自己查查资料,倒把了一下,
也给整理出来了一个,现在就给贴出来。
纯属兴趣爱好,如果你觉得没有用,请勿拍砖。

说明:
1.我用的是oracle 10g的数据库,导出的是scott用户下的emp和dept表;
2.导出的备份文件我放在 D:\pantp\backup
3.数据库scott用户的密码为orcl;
4.数据库的SID为ORCL;
5.数据库导出的备份文件名为daochu加上今天的日期,比如 daochu_20120725.dmp
5.我的oracle安装路径是D盘的根目录;

下面直接把批处理文件的内容给贴出来:
<div class="cnblogs_code" >http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gifhttp://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gifbackup_table.bat<div id="cnblogs_code_open_117f2533-ba7f-46ac-b435-a6e7a0f4b096" class="cnblogs_code_hide"> 1 @rem 关掉命令行显示信息,也不显示echo off这条命令的信息 2 @echo off 3 4 echo oracle数据库正在备份,请稍等.... 5 6 @rem ================================================================================================== 7 @rem 假设备份的文件放在D盘下的pantp文件夹下面的backup中,先查找D盘下的指定的文件夹是否存在,不存在则新建 8 dir d:\| find "pantp\backup" 9 10 @rem %errorlevel%每个命令运行结束,可以用这个命令行格式查看返回码用于判断刚才的命令是否执行成功默认值为011 if %errorlevel%==0 goto ok12 if %errorlevel%==1 goto end13 14 :ok15   echo 文件夹已经存在16 :end17   md d:\pantp\backup18 @rem =================================================================================================19 20 @rem 切换到oracle安装目录下bin目录21 cd/d "D:\oracle\product\10.2.0\db_1\BIN"22 23 @rem 得到系统当前的时间,格式如:2012072524 set currentTime=%date:~0,4%%date:~5,2%%date:~8,2%25 26 @rem 设置备份文件的名称,写绝对路径,同时需要写导出的后缀名.dmp27 set filename=d:/pantp/backup/daochu_%currentTime%.dmp28 29 @rem 调用oracle自带的exp命令,导出指定用户下的指定表的数据30 exp scott/orcl@ORCL file=%filename% tables=(emp,dept)31 32 echo oracle数据库备份已经完成,按任意键退出...33 34 pause
页: [1]
查看完整版本: 采用批处理命令备份表