Oracle10g 数据泵使用

来源:互联网 发布:流利说英语软件 编辑:程序博客网 时间:2024/04/30 14:56

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,empimpdp 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=scottimpdp 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/xxxSQL> !mkdir /u02/backupSQL> create or replace directory dir_dpdump as '/u02/backup';


--创建DBLINKSQL> 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 sysdbaSQL> 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`


原创粉丝点击