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:删除并重建表对象,然后再向其中插入数据。