导入脚本
@echo off
pushd %~dp0
if exist tempdir rd tempdir
if exist start.sql del start.sql
if exist drop.sql del drop.sql
md tempdir
set td=%cd%\tempdir
set tn=tempdir%random%
echo create directory %tn% as '%td%' >> start.sql;
echo grant read,write on directory %tn% to public>> start.sql;
echo drop directory %tn% > drop.sql
if exist dmpenv.bat call dmpenv.bat
sqlplus / as sysdba < start.sql
impdp oa1/oa1@orcl directory=%tn% remap_schema="oa1:oa2" table_exists_action=replace dumpfile=import.dmp full=y
sqlplus / as sysdba < drop.sql
del start.sql
del drop.sql
rem del dmpenv.bat
cmd
上述导入脚本在实际应用的时候 不需要再去创建对应的数据库的Directory,只需要修改上面 impdp部分的命令 并且将需要导入的dmp文件重命名为import.dmp并且在上述脚本的同目录下新建tempdir目录并将import.dmp放在tempdir目录之下即可。
导出脚本
@echo off
pushd %~dp0
if exist tempdir rd tempdir
if exist start.sql del start.sql
if exist drop.sql del drop.sql
md tempdir
set td=%cd%\tempdir
set tn=tempdir%random%
echo create directory %tn% as '%td%' >> start.sql;
echo grant read,write on directory %tn% to public>> start.sql;
echo drop directory %tn% > drop.sql
sqlplus / as sysdba < start.sql
expdp oa1/oa1@orcl schemas=oa1 directory=%tn% dumpfile=export.dmp
sqlplus / as sysdba < drop.sql
del start.sql
del drop.sql
cmd
上述导出脚本只需要修改expdp部分的命令并另存为bat或者cmd后缀的脚本运行即可 不需要再去创建对应的数据库的Directory,脚本运行完成之后 导出的export.dmp文件位于脚本文件同目录下的tempdir目录下面