ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

oracle使用expdp、impdp和exp、imp导入导出表及表结构

2021-07-20 23:36:01  阅读:246  来源: 互联网

标签:impdp expdp 导出 system dmp imp 导入 scott


使用expdp、impdp和exp、imp时应该注重的事项:

1、exp和imp是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。 
2、expdp和impdp是服务端的工具程序,他们只能在oracle服务端使用,不能在客户端使用。 
3、imp只适用于exp导出的文件,不适用于expdp导出文件;impdp只适用于expdp导出的文件,而不适用于exp导出文件。 
4、对于10g以上的服务器,使用exp通常不能导出0行数据的空表,而此时必须使用expdp导出。

exp、imp导入导出


sqlplus 进入数据库中 
导出 
直接在命令行下写命令 
1.导出自己的表   
exp userid=scott/tiger@myoral tables=(emp,dept) file=/opt/e1.dmp 
  
2.导出其它方案的表 如果用户要导出其它方案的表,则需要dba的权限或是exp_full_database的权限,比如system就可以导出scott的表   
exp userid=system/manager@myoral tables=(scott.emp) file=d:\e2.emp  
3. 导出表的结构   
exp userid=scott/tiger@accp tables=(emp) file=/opt/e3.dmp rows=n  
4. 使用直接导出方式  
exp userid=scott/tiger@accp tables=(emp) file=/opt/e4.dmp direct=y  
这种方式比默认的常规方式速度要快,当数据量大时,可以考虑使用这样的方法。 这时需要数据库的字符集要与客户端字符集完全一致,否则会报错 
导出方案 导出方案是指使用export工具导出一个方案或是多个方案中的所有对象(表,索引,约束...)和数据。并存放到文件中 
1. 导出自己的方案  
exp userid=scott/tiger@myorcl owner=scott file=/opt/scott.dmp  
2. 导出其它方案 如果用户要导出其它方案,则需要dba的权限或是exp_full_database的权限,比如system用户可以导出任何方案  
exp userid=system/manager@myorcl owner=(system,scott) file=/opt/system.dmp  
导出数据库  
导出数据库是指利用export导出所有数据库中的对象及数据,要求该用户具有dba的权限或者是exp_full_database权限 增量备份(好处是第一次备份后,第二次备份就快很多了) 
 exp userid=system/manager@myorcl full=y inctype=complete file=/opt/all.dmp 
导入  
1. 导入自己的表  
imp userid=scott/tiger@myorcl tables=(emp) file=/opt/xx.dmp  
2. 导入表到其它用户 要求该用户具有dba的权限 
imp_full_database imp userid=system/tiger@myorcl tables=(emp) file=/opt/xx.dmp touser=scott
 3. 导入表的结构,只导入表的结构而不导入数据  
imp userid=scott/tiger@myorcl tables=(emp) file=/opt/xx.dmp rows=n 
4. 导入数据 如果对象(如比表)已经存在可以只导入表的数据 
imp userid=scott/tiger@myorcl tables=(emp) file=/opt/xx.dmp ignore=y 
导入方案 导入方案是指使用import工具将文件中的对象和数据导入到一个或是多个方案中。如果要导入其它方案,要求该用户具有dba的权限,或者imp_full_database
 1. 导入自身的方案 
imp userid=scott/tiger file=/opt/xxx.dmp  
2. 导入其它方案 要求该用户具有dba的权限  
imp userid=system/manager file=/opt/xxx.dmp fromuser=system touser=scott 
导入数据库  
在默认情况下,当导入数据库时,会导入所有对象结构和数据,案例如下:  
imp userid=system/manager full=y file=/opt/xxx.dmp 

expdp、impdp导入导出


一、准备工作

1)、在备份目的路径建立备份文件夹 
例如:d:\bak

2)、用sys用户在oracle中创建逻辑目录 
SQL>create directory oracleBak_dir as ‘d:\bak’;

3)、查看数据库中的逻辑目录 
SQL>select * from dba_directories;

4)、授权用户有对逻辑目录的读写权限 
SQL>grant read,write on directory oracleBak_dir to someone;

二、导出

1)导出用户 
expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp directory=oracleBak_dir ;

2)导出表 
expdp scott/tiger@orcl tables=emp,dept dumpfile=expdp.dmp directory=oracleBak_dir ;

3)按查询条件导 
expdp scott/tiger@orcl directory=oracleBak_dir dumpfile=expdp.dmp tables=emp query=’where deptno=20’;

4)按表空间导 
expdp system/manager@orcl directory=oracleBak_dir dumpfile=tablespace.dmp tablespaces=temp,example;

5)导整个数据库 
expdp system/manager@orcl directory=oracleBak_dir dumpfile=full.dmp full=y;

三、导入数据

1)导入用户(从用户scott导入到用户scott) 
impdp scott/tiger@orcl directory=oracleBak_dir dumpfile=expdp.dmp schemas=scott;

2)导入表(从scott用户中把表dept和emp导入到system用户中) 
impdp system/manager@orcl directory=oracleBak_dir dumpfile=expdp.dmp tables=scott.dept,scott.emp remap_schema=scott:system;

3)导入表空间 
impdp system/manager@orcl directory=oracleBak_dir dumpfile=tablespace.dmp tablespaces=example;

4)导入数据库 
impdb system/manager@orcl directory=oracleBak_dir dumpfile=full.dmp full=y;

5)追加数据 
impdp system/manager@orcl directory=dump_dir dumpfile=expdp.dmp schemas=systemtable_exists_action

标签:impdp,expdp,导出,system,dmp,imp,导入,scott
来源: https://www.cnblogs.com/yangyongxin/p/15037577.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有