Oracle 查询用户表信息,导入导出处理表空间不一致

select table_name,tablespace_name from user_tables t;
//查询用户默认表空间信息
SELECT t.* FROM USER_USERS t;

导入导出处理表空间不一致

默认dump文件放的位置
SQL>   select * from dba_directories where directory_name='DATA_PUMP_DIR';
 
OWNER                          DIRECTORY_NAME   DIRECTORY_PATH
------------------------------ ---------------------------- --------------------------------
SYS                            DATA_PUMP_DIR   E:\app\Administrator\admin\orcl1\dpdump\
SQL>conn / as sysdba
创建一个新dump文件位置
SQL> create directory dump_dir1 AS 'E:\app\Administrator\oradata\dump_dir';
目录已创建。
SQL> select * from dba_directories where directory_name='DUMP_DIR1';
OWNER                          DIRECTORY_NAME   DIRECTORY_PATH
------------------------------ ---------------------------- --------------------------------
SYS                            DUMP_DIR1    E:\app\Administrator\oradata\dump_dir

给用户授权

  grant read,write on directory  dump_dir1 to HLMARKET;

导出数据
expdp HLZQWEIXIN/HLZQWEIXIN directory=dump_dir1 dumpfile=HLZQWEIXIN_20150729_01.dmp TABLESPACES=WEIXIN_DATA,THINKIVE_DATA,THINKWEIXIN_DATA

常用的参数:
directory=dump_dir1 ((必须指定目录对象参数且不能为空directory=dump_dir1)logfile/dumpfile在指定目录的基础上)
directory=dump_dir1 logfile=dump_dir1:aaa.log
directory=dump_dir1 dumpfile=dump_dir1:aaa.dmp
expdp s/s directory=dump_dir1 dumpfile=sas1.dmp logfile=aa.log
schemas=scott 
TABLES=emp,dept 
query='WHERE deptno=20'    带条件
TABLESPACES=temp,example  按表空间
FULL=y       整个库
content=all/metadata_only/data_only 所有/只导表元数据/表行

导入数据
impdp HLMARKET/HLMARKET directory=dump_dir1 dumpfile=HLZQWEIXIN_20150729_01.dmp logfile= impllog.log TABLE_EXISTS_ACTION=REPLACE  remap_schema=HLZQWEIXIN:HLMARKET remap_tablespace=WEIXIN_DATA:HLMARKET_DATA,THINKIVE_DATA:HLMARKET_DATA,THINKWEIXIN_DATA:HLMARKET_DATA 

常用的参数:

REMAP_SCHEMA=HLZQWEIXIN:HLMARKET    更改owner
TABLESPACES=old:new,old:new...导入表空间
TABLE_EXISTS_ACTION   追加数据
table_exists_action:   

  SKIP:跳过该表,继续处理下一个对象,也是 TABLE_EXISTS_ACTION 参数默认值。但是要注
  意的是:如果指定了 content 参数值为 DATA_ONLY,那么默认值就是 append
  APPEND:向现有表中增加数据
  TRUNCATE:TRUNCATE 当前表,然后再添加记录
  REPLACE:删除并重建表对象,然后再向其中插入数据。

posted @ 2015-07-29 13:40  GrandKai  阅读(2246)  评论(0编辑  收藏  举报