Oracle IMP & EXP 导入导出
在这里先贴出几个文件的内容,然后再进行解说。
init.sql文件:
--连接本地实例
conn/@orclassysdba;
--创建表空间“tbspace”
CREATETABLESPACETBSPACEDATAFILE'D:\DATA\tbspace.DBF'SIZE100MreuseAUTOEXTENDONNEXT5MMAXSIZEUNLIMITED;
--创建用户“newdbuser";
CREATEUSERnewdbuserPROFILEDEFAULTIDENTIFIEDBYnewtbpasswordDEFAULTTABLESPACETBSPACETEMPORARYTABLESPACETEMPACCOUNTUNLOCK;
--对用户"newdbuser"授权
GRANTDBATOnewdbuser;
exit;
remove.sql文件:
--连接本地实例
conn /@orcl as sysdba;--删除用户"dbuser";
dropusernewdbusercascade;
--删除表空间"tbspace";
droptablespacetbspace;
expdata.bat文件:
@REM开始导出数据库
expsrctbuser/srctbpassword@ORCLfile=db.dmp
@REM正在删除表空间和用户
sqlplus/[email protected]
impdata.bat文件:
@REM正在创建表空间和用户
sqlplus/[email protected]
@REM开始导入数据库
imp newdbuser/newdbpassword@neworcl file=db.dmp fromuser=srctbuser touser=newtbuser文件说明:
db.dmp:oracle数据文件
impdata.bat:导入db.dmp到数据库的批处理init.sql、remove.sql:不解释,自己看
上面几个文件的作用是将一个用户的数据导给另外一个用户。
当然这个用户也可以不属于同一个数据库服务器,下面介绍一下怎么进行远程导入导出,如上面的imp newdbuser/newdbpassword@neworcl,neworcl是数据库服务名,所以我们可以配置一个远程服务器的数据库服务名就ok了,只要知道数据库服务器的ip,端口号就可以通过NET Manager成功配置,配置完成后就可以进行oracle数据库远程导入导出了。
单表的导入导出例子(不解释,看的懂的):
exp newuser/newpassword@14oracl file=F:\TB_1.dmp tables=(TB_1,..,..)
imp newuser/newpassword@13orcal file=F:\TB_1.dmp tables=(TB_1) ignore=y fromuser=user1 touser=user2 buffer=60000