Oracle数据泵导入导出

创建授权目录

create directory DUMP as 'D:\dump'; 

授权

Grant read,write on directory DUMP to 用户;

 SELECT privilege, directory_name, DIRECTORY_PATH FROM user_tab_privs t, all_directories d WHERE t.table_name(+) = d.directory_name ORDER BY 2, 1;

   --tkzc3_aim/********@192.168.1.83/orcl directory=dpdump dumpfile=nfjj_sirm.dmp remap_schema=nfjj_sirm:nfjj_sirm   logfile=nfjj_sirm.log 

 --------数据库导入导出----------------------------------------------

切换11G数据库cd /d D:\app\Administrator\product\11.2.0\dbhome_1\BIN

tnsping orcl/finchina5

 ----imp导入 

imp sirmgkzq/sirmgkzq@/sinitek full=y ignore=y statistics=none feedback=10000 buffer=640000 file=E:\kettle\213.dmp log=E:\kettle\123.log

---exp导出

exp user/pwd file=/dir/xxx.dmp log=xxx.log full=y commit=y ignore=y buffer=640000  feedback=10000

--命令注释

statistics=none   不导出统计信息错误

full=y  导出导入整个数据库实例

buffer=640000  缓冲区大小

feedback=10000  每导出一万行数据显示一个进度点

ignore=y   即告诉IMP如果当前表存在就不创建表结构而直接导入新的数据

 grants=none不导入权限

 fromuser=user1 touser=user

owner=user1,user2   该数据库下为user1和user2的用户数据

exp userid/psd@orcl file=d:\test.dmp owner=(table1,table2)导出用户下的表table1和table2

QUERY   选定导出表子集的子句

exp userid/psd@orcl file=d:\test.dmp 

===========================数据库导入导出=================================================

Oracle11g 数据导入到oracle10g 中:

1-在oracle11g 服务器命令行中用expdp 导出数据:

expdp ts/ts@orcl directory=expdp_dir dumpfile=tianshan.dmp logfile=tianshan.log version=10.2.0.1.0 (schemas=ccense)

2-在oracle10g 服务器DOS 命令行中用IMPDP 导入数据:

注意事项-----------------把oracle11g 的备份文件放到oracl10g 服务器的impdp_dir 目录中,并创建好相应的用户和表空间,然后执行下面的命令:

impdp ts/ts@orcl directory=impdp_dir dumpfile=tianshan.dmp logfile=tianshan.log version=10.2.0.1.0 (schemas=ccense)

注意事项-----------------

本地创建directory,并授权导出用户使用

在操作系统上创建direxp目录

create or replace directory DIR_EXP as 'D:direxp';

grant read,write on directory DIR_EXP to db_exp;

--查询dirrctory-------

SELECT privilege, directory_name, DIRECTORY_PATH FROM user_tab_privs t, all_directories d WHERE t.table_name(+) = d.directory_name ORDER BY 2, 1;

create directory DUMP as 'D:\dump'; 

授权

Grant read,write on directory DUMP to user;

创建文件夹

impdb(直接dmpdp导出的

impdp sbls/[email protected]/sirmutf8 schemas=FUNDSIRM_INNER directory=dump dumpfile =FUNDSIRM_INNER.dmp 

impdb(用户导出的

impdp sbls/[email protected]/sirmutf8 remap_schema=aim:用户 directory=dump dumpfile =文件名.dmp 

impdp sirmgsylzcb/[email protected]/sirmutf8 remap_schema=FIA_FLC_BX_GSYL20151019:sirmgsylzcb directory=dump dumpfile =FIA_FLC_BX_GSYL20151019.dmp  version=10.2.0.1.0

----expdp导出数据

1)--按用户导

expdp system/sinitek@sirmutf8 schemas=sirmhtzq_test dumpfile=sirmhtzq_test.dmp DIRECTORY=DATA_PUMP_DIR EXCLUDE=STATISTICS,GRANT,TABLE:"IN ('EMP','DEPT')"

2)--并行进程parallel

expdp scott/tiger@orcl directory=dpdata1 dumpfile=scott_%U.dmp parallel=4 job_name=scott3--job_name是进程名称,可选项

3)--按表名导

expdp scott/tiger@orcl TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dpdata1

4)--按查询条件导

expdp scott/tiger@orcl directory=dpdata1 dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';

expdp sirmbroker/sirmbroker directory=dump dumpfile=sirmbroker.dmp include=table query="'where rownum<=100'"

5)--按表空间导

expdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=temp,example

6)--导整个数据库

expdp system/manager DIRECTORY=dpdata1 DUMPFILE=full.dmp FULL=y

7)--指定版本

EXPDP USERID='SYS/cuc2009@cuc as sysdba' schemas=sybj directory=DATA_PUMP_DIR dumpfile=aa.dmp logfile=aa.log version=10.2.0.1.0

----impdp还原数据

1)--导到指定用户下

impdp system/sinitek@sirmutf8 DIRECTORY=DATA_PUMP_DIR DUMPFILE=SIRMHTZQ01_20150129.DMP SCHEMAS=SIRMHTZQ01 EXCLUDE=STATISTICS

2)--改变表的owner

impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system

3)--导入表空间

impdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=example

4)--导入数据库

impdb system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y

5)--追加数据

impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION=append 

6)--改变表空间

remap_tablespace=1:2

7)--排除某表

exclude=table:"in('T1')"

8)--只导入数据

impdp tpzcdev/tpzcdev@sinitek DIRECTORY=DATA_PUMP_DIR DUM PFILE=TPZCDEV.DMP content=DATA_ONLY tables=HUNSUN_DICT,METADB_PROPERTY

9)--将原有dmp文件中oid映射重新生成--ORA-39117

transform=oid:n

10)--network_link

--1.目标库建立到源库schemas的dblink

--2.直接使用 impdp network_link=dblink 跳过expdp导入到目标库

impdp system/sinitek@sinitek network_link=lk_215_qlzq remap_schema=sirmqlzq:qlzq_text1

不能在高版本目标库从低版本源导入,也不能在低版本目标库从高版本源导入

不能在高版本目标库使用低版本expdp工具从低版本源导入

expdp network_link也可以向下指定version

目标与源服务器版本必须一致

exp?system/manager@TEST?file=d:\daochu.dmp?owner=(system,sys)?----将数据库中system用户与sys用户的表导出?

猜你喜欢

转载自jiangkan12.iteye.com/blog/2335038