Oracle10g 数据泵使用



impdp使用

 

注意到与EXP不同,EXPDP增加了一个主要的参数:DIRECTORY

 

这个参数是用来定义一个路径,前面已经提到,数据泵主要在Server端工作,导出文件需要写出到Server端本地目录,这个DIRECTORY就是对应的Server端的路径

 

如:

//创建目录

create or replace directory  expdir as 'd:\';

 

//给test赋予目录的读写权限

grant read,write on directory expdir to test;

 

//导出数据

C:\>expdp test/test@acf  dumpfile=test.dmp directory=expdir

 


 

1) 导入表

impdp scott/tiger DIRECTORY=dump_dir DUMPFILE=tab.dmp TABLES=dept,emp
impdp system/manager DIRECTORY=dump_dir DUMPFILE=tab.dmp TABLES=scott.dept,scott.emp REMAP_SCHEMA=SCOTT:SYSTEM


第一种方法表示将DEPT和EMP表导入到SCOTT方案中,第二种方法表示将DEPT和EMP表导入SYSTEM用户下. 注意,如果要将表导入到其他方案中,必须指定REMAP_SCHEMA选项.


2) 导入方案

impdp scott/tiger DIRECTORY=dump_dir DUMPFILE=schema.dmp SCHEMAS=scott
impdp system/manager DIRECTORY=dump_dir DUMPFILE=schema.dmp SCHEMAS=scott REMAP_SCHEMA=scott:system




3) 导入表空间

impdp system/manager DIRECTORY=dump_dir DUMPFILE=tablespace.dmp TABLESPACES=user01


4) 导入数据库

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



5) 通过DBLINK的方式直接从远程数据库导入数据, 省去生成中间文件的步骤

--创建Directory

SQL> connect u_test/xxx
SQL> !mkdir /u02/backup
SQL> create or replace directory dir_dpdump as '/u02/backup';


--创建DBLINK
SQL> create database link ESUITE.NET connect to u_test identified by "xxx" using 'db_esuite';
SQL> select count(*) from tab@ESUITE.NET;
--利用IMPDP导入数据
$ impdp 'u_test/"xxx"' SCHEMAS=(u_test) directory=dir_dpdump network_link="ESUITE.NET" logfile=impdp.log
$ impdp 'u_test/"xxx"' TABLES=LOG_RECORD_DETAIL_20090422 directory=dir_dpdump network_link="ESUITE.NET"



6) 实例

SQL> conn /as sysdba
SQL> CREATE OR REPLACE DIRECTORY dir_dump  AS '/u01/backup/';
SQL> GRANT read,write ON DIRECTORY dir_dump TO public;
SQL> grant connect, resource to trial_wending identified by 'xxx';
SQL> CREATE TABLESPACE WENDING_LOG01 DATAFILE '/orahome/oradata/WENDING/wending_log01.dbf' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;
SQL> CREATE TABLESPACE WENDING_USER01 DATAFILE '/orahome/oradata/WENDING/wending_user01.dbf' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;
SQL> CREATE TABLESPACE WENDING_INDEX01 DATAFILE '/orahome/oradata/WENDING/wending_index01.dbf' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;


注意,如果导入的用户下的过程或同义词用到了数据库连接,先把数据库链接给建上,否则导入这些对象时会很慢.

$ impdp u_test/xxx directory=dir_dump  dumpfile=trial_wending_20081217.dp schemas=trial_wending  (从全备份中提取)

$ impdp cat/passwd directory=dir_dump dumpfile=cat.dmp schemas=cat logfile=impcatr.log (从自身导出的方案中导入)



LINUX下文件名带当前时间:`date +%y%m%d`


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值