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 自然就能看出来。