通过.bat 操作oracal数据库导出文件导入文件并且导出前删除表数据

 1 @echo off 
 2 Set OrclSid=数据库名称
 3 Set ExpUser=账号 
 4 Set ExpPass=密码
 5 Set FileDir=D:SQLBF 
 6 Set SysDate=%date:~0,4%-%date:~5,2%-%date:~8,2%.%time:~0,2%%time:~3,2%
 7 
 8 @echo * * * * * * * * * * * * * * * * * * * * 
 9 @echo * * * * * * * * * * * * * * * * * * * * 
10 @echo * * * * * ORACLE 数据库导出 * * * * * * 
11 @echo * * * * * * * * * * * * * * * * * * * * 
12 @echo * * * * * * * * * * * * * * * * * * * *
13 
14 @echo 服务名 = %OrclSid% 
15 @echo 用户名 = %ExpUser% 
16 @echo 密 码 = %ExpPass% 
17 @echo 目 录 = %FileDir% 
18 @echo 时 间 = %SysDate%
19 
20 exp 账号/密码@数据库名称 file=d:sqlbf/ss.dmp tables=(表1,表2)
21 @echo 数据库导出完成 
22 pause

以上为导出文件的脚本

     其他 数据导出例子:
 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:daochu.dmp中
   exp rmdb/rmdb123@hz_rmdb file=d:daochu.dmp full=y
 2 将数据库中system用户与sys用户的表导出
   exp rmdb/rmdb123@hz_rmdb file=d:daochu.dmp owner=(system,sys)
 3 将数据库中的表table1 、table2导出
   exp rmdb/rmdb123@hz_rmdb file=d:daochu.dmp tables=(table1,table2) 
 4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
   exp rmdb/rmdb123@hz_rmdb file=d:daochu.dmp tables=(table1) query=" where filed1 like '00%'"
  
     上面是常用的导出,用winzip把dmp文件可以很好的压缩。
  不过在上面命令后面 加上 compress=y  就可以了 

@echo off 
Set OrclSid=数据库名称
Set ExpUser= 账号
Set ExpPass= 密码
Set FileDir=D:SQLBF 
Set SysDate=%date:~0,4%-%date:~5,2%-%date:~8,2%.%time:~0,2%%time:~3,2%

@echo * * * * * * * * * * * * * * * * * * * * 
@echo * * * * * * * * * * * * * * * * * * * * 
@echo * * * * * ORACLE 数据库导入 * * * * * * 
@echo * * * * * * * * * * * * * * * * * * * * 
@echo * * * * * * * * * * * * * * * * * * * *

@echo 服务名 = %OrclSid% 
@echo 用户名 = %ExpUser% 
@echo 密 码 = %ExpPass% 
@echo 目 录 = %FileDir% 
@echo 时 间 = %SysDate%

sqlplus 账号/密码@数据库名 @d:sqlbf/sqld.sql --此处调用删除表数据的sql语句

imp      账号/密码@数据库名 file=d:sqlbf/ss.dmp  ignore=y tables=(aqwt_aqwt)
@echo 数据库导入完成 
pause

以上为导入数据库脚本

      其他数据的导入例子:
 1 将D:daochu.dmp 中的数据导入 TEST数据库中。
   imp rmdb/rmdb123@hz_rmdb  file=d:daochu.dmp
   上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
   在后面加上 ignore=y 就可以了。
 2 将d:daochu.dmp中的表table1 导入
 imp rmdb/rmdb123@hz_rmdb  file=d:daochu.dmp  tables=(table1) 

1 delete from tablename;
2 commit;
3 exit;

删除表数据的sql语句

注:

     1. 执行脚本要以管理员身份运行。

     2.要使用exp  imp sqlplus 电脑一定要有oracal客户端,判断是否可用方式 在命令行内输入 exp 或 imp 自然就能看出来。

原文地址:https://www.cnblogs.com/ccbaby/p/8523517.html