平日里经常使用impdp、expdp命令,今天做个总结,便于以后回顾。
?
?
--安装 oracle
?
数据文件dmp大于4G的请安装企业版(10201_database_win32.zip),体验版(OracleXEUniv.exe)有限制。
我安装的是企业版,因为我的数据在300万。
数据库配置文件已经安装到 c:\oracle\product\10.2.0,同时其他选定的安装组件也已经安装到 c:\oracle\product\10.2.0\db_1。
?
-------------------------------------------------START-----------------------------------------------------------------
?
用户名:sys
口令: 123456
...
?
---连接oracle
C:> sqlplus /nolog
SQL> conn sys/123456 as sysdba
?
?
SQL> drop tablespace?iteye_space;
?
--建立表空间(默认大小为10G,当超过10G后以50M增长,没用大小限制)
SQL> create tablespace?iteye_space?logging datafile 'C:\oracle\product\10.2.0\oradata\orcl\iteye.DBF' size 10000M autoextend on next 50M maxsize UNLIMITED extent management local segment space management auto;
?
--删除用户
SQL> drop user iteye cascade;
?
--建立用户
SQL> create user?iteye?identified by?iteye?default tablespace?iteye_space;
?
--授权
SQL> grant connect, dba to?iteye;
?
--查询目录对象
SQL> select * from dba_directories;
?
?
-----------------------------方法一-----------------------------------
--导入dmp,Directory为系统存在目录对象,将xxx.dmp放入目录对象中
SQL> impdp?iteye/iteye?DIRECTORY=DATA_PUMP_DIR DUMPFILE=xxx.dmp SCHEMAS=iteye
-----------------------------------------------------------------------
?
------------------------------方法二-----------------------------
create or replace directory dmp as 'd:\DataBase\'
?
grant read,write on directory dmp to public;
?
impdp?iteye/iteye?DIRECTORY=dmp DUMPFILE=xxx.dmp SCHEMAS=iteye
----------------------------------------------------------------------
?
?
------------------------------------------------------END-----------------------------------------------------
?
Unix平台上打包的dmp文件在windows平台上解压后无法成功导入到oracle数据库中,因为二进制问题,需要在unix平台上解压后传到windows平台上,然后在使用 impdp 命令导入,方可成功。
?