数据泵expdp、impdp导出导入的方法

exp、imp&expdp、impdp两组工具的区别:

1、exp和imp是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。expdp和impdp是服务端的工具程序,他们只能在oracle服务端使用,不能在客户端使用。

2、imp只适用于exp导出的文件;impdp只适用于expdp导出的文件。

3、对于10g以上的服务器,使用exp通常不能导出0行数据的空表,而此时必须使用expdp导出。

4、导入导出的速度不同,数据泵是并行执行,速度快。

5、通过设定数据库版本号,数据泵可以兼容老版本的数据库系统。

 

数据泵导入导出:

1、查询原有逻辑目录

select * from dba_directories;

2、新建逻辑目录(第一次进行导入导出操作,需要新建;如果不是第一次,可以使用已有的逻辑目录)

create directory dump_dir as '/home/oracle/dbdmp';

dump_dir:逻辑目录名

/home/oracle/dbdmp:实际地址

3、创建大文件表空间

create bigfile tablespace Student

datafile '/home/oracle/tablespace/Student.dbf'  size 100G  AUTOEXTEND ON NEXT 2G MAXSIZE UNLIMITED;

3.1、参数说明

bigfile:大文件

Student:表空间名称

datafile:指定数据文件的路径为/home/oracle/tablespace/Student.dbf。

size 100G:指定数据文件的大小

AUTOEXTEND ON NEXT 2G MAXSIZE UNLIMITED:表空间自动扩展,自动扩展的大小是2G,不限制扩展最大值

4、创建用户

create user stu identified by s123456 default tablespace Student temporary tablespace temp;

创建用户stu,密码s123456,表空间为Student,临时表空间为temp

5、为用户赋权

grant connect,resource,unlimted tablespace,imp full database,exp full database,create view,create procedure,create trigger,create database link to stu;

5.1、参数说明

Connect:能够连接到Oracle数据库中,并在对其他用户的表有访问权限时,做SELECT、UPDATE、INSERTT等操作
resource:能在自己的方案中创建表、序列、视图等
unlimted tablespace:用户可以在其他表空间里随意建表

imp full database,exp full database:给用户全库导出和全库导入的角色权限

create view,create procedure,create trigger,create database link:创建视图、过程、触发器和DBLink

 

6、用户赋予在指定目录的操作权限,最好以system等管理员赋予

grant read,write on directory dump_dir to stu;

 

7、通过SSH进入进入服务器

找到相应的路径 cd /home/oracle/dbdmp

输入指令

df -h   查看资源使用量

su – oracle   进入系统的oracle用户

 

8、导出expdp

1)导出用户

expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp directory=dump_dir 

2)导出emp,dept表

expdp scott/tiger@orcl tables=emp,dept dumpfile=expdp.dmp directory=dump_dir

3)按查询条件导出emp表

expdp scott/tiger@orcl directory=dump_dir dumpfile=expdp.dmp tables=emp query=’where deptno=20’

4)按表空间导

expdp system/manager@orcl directory=dump_dir dumpfile=tablespace.dmp tablespaces=temp,example

5)导整个数据库

expdp system/manager@orcl directory=dump_dir dumpfile=full.dmp full=y

8.1、expdp参数说明

expdp [用户名]/[密码]@[服务名]

schemas=[用户名]

dumpfile=[导出数据库文件(可自命名)]

directory=[逻辑目录名:用于转储文件和日志文件的目录对象]

logfile=[指定日志文件名(可自命名)]
full=[导出整个数据库:n/y]

tablespaces=[标识要导出的表空间的列表]

version=[要导出的对象版本]

 

9、导入impdp

1)导入用户(从用户scott导入到用户scott)

impdp scott/tiger@orcl directory=dump_dir dumpfile=expdp.dmp schemas=scott

2)导入表(从scott用户中把表dept和emp导入到system用户中)

impdp system/manager@orcl directory=dump_dir dumpfile=expdp.dmptables=scott.dept,scott.emp remap_schema=scott:system

3)导入表空间

impdp system/manager@orcl directory=dump_dir dumpfile=tablespace.dmp tablespaces=example

4)导入数据库

impdb system/manager@orcl directory=dump_dir dumpfile=full.dmp full=y

5)追加数据

impdp system/manager@orcl directory=dump_dir dumpfile=expdp.dmp schemas=systemtable_exists_action

 9.1、impdp参数说明

1.USERID:命令行的第一个参数

2.DIRECTORY:转储文件和日志文件存放的目录

3.DUMPFILE:目标转储文件

4.LOGFILE:日志文件

5.FULL:指定全库导出 FULL={Y | N}

6.CONTENT:指定要导出的数据,默认为ALL

   CONTENT={ALL|DATA_ONLY|METADATA_ONLY}

   ALL:导出对象定义及所有数据

   DATA_ONLY:只导出对象数据

   METADATA_ONLY:只导出对象定义

7.SCHEMAS:指定执行方案模式导出,默认为当前用户模式

8.TABLES:指定表模式导出

9.TABLESPACES:按表空间模式导出

10.PARALLEL:并行,指定执行导出操作的并行进程个数,默认值为1

11.INCLUDE:指定导出时要包含的对象类型及相关对象

     INCLUDE = object_type[:name_clause] [,… ]

     eg:INCLUDE=TABLE:"IN(SELECT TABLE_NAME FROM CSB_BFB)"

12.EXCLUDE:指定导出执行时要排除的对象类型及相关对象

13.NETWORK_LINK:指定数据库链名,如果要将远程数据库对象导出到本地例程的转储文件中,必须设置该选项

14.TABLE_EXISTS_ACTION={skip|append|truncate|replace},默认为skip

     skip:如果已存在表,则跳过并处理下一个对象;

     append:为表增加数据;

     truncate是截断表,然后为其增加新数据; 

     replace:删除已存在表,重新建表并追加数据。

 

 

你可能感兴趣的:(oracle,oracle)