oracle expdp impdp时会不会锁表

2016年1月 Oracle大版内专家分月排行榜第一2015年6月 Oracle大版内专家分月排行榜第一2015年4月 Oracle大版内专家分月排行榜第一2015年3月 Oracle大版内专家分月排行榜第一2015年2月 Oracle大版内专家分月排行榜第一2014年6月 Oracle大版内专家分月排行榜第一2009年11月 Oracle大版内专家分月排行榜第一2009年10月 Oracle大版内专家分月排行榜第一
2015年9月 Oracle大版内专家分月排行榜第二2015年7月 Oracle大版内专家分月排行榜第二2015年1月 Oracle大版内专家分月排行榜第二2014年12月 Oracle大版内专家分月排行榜第二2014年11月 Oracle大版内专家分月排行榜第二2014年8月 Oracle大版内专家分月排行榜第二2014年7月 Oracle大版内专家分月排行榜第二2014年5月 Oracle大版内专家分月排行榜第二2010年1月 Oracle大版内专家分月排行榜第二2009年9月 Oracle大版内专家分月排行榜第二
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。Oracle Data Pump使用范例及部分注意事项(expdp/impdp)_数据库技术_Linux公社-Linux系统门户网站
你好,游客
Oracle Data Pump使用范例及部分注意事项(expdp/impdp)
来源:Linux社区&
作者:samed
最近系统要&缩容&,原因我不想多说,非常麻烦的一件事情,因为要把数据提出来压缩、存放。&和操作系统无关,主要系的数据。&Oracle版本:Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production&另外,系统有进行了6个节点的RAC集群,每个表都按照月份或者日期进行了分区。&一、前置工作:&1. 在系统中建立生成dmp文件(导出的数据文件)的目录(一般情况下都需要root权限,这个自由发挥了^_^):&root@bidb04# mkdir -p /data/oracle_backuproot@bidb04# chown oracle:oinstall /data/oracle_backup&另外提个醒,无论你导出导入的时候用的是什么用户和密码登陆,数据库都是用(linux系统中的)oracle用户导出文件的,所以这个目录一定要让(linux系统中的)oracle用户有写权限。&2. 在oracle中定义生成dmp文件(导出的数据文件)的目录:&使用sqlplus / as sysdba进入sqlplus:
sql& grant create an& & & &
--这一步也可以不用。sql& create or replace directory oracle_backup as '/data/oracle_backup';& & & & --有了上面那一步,目录也可以使用scott用户建立,当然直接就这么建立就完了。sql& grant read, write on directory oracle_& & & & & & & & --赋予目录访问权限。sql& create or replace directory DATA_PUMP_DIR as '/oracle/app/oracle/product/11.2.0/dbhome_1/rdbms/log/';& & & & --这个貌似我是没有这么建立的,系统自己有了。sql& grant read, write on directory DATA_PUMP_DIR& & & & & & & & --同上备注。sql& grant EXP_FULL_DATABASE& & & &
--导出权限sql& grant IMP_FULL_DATABASE& & & & & --导入权限
二、Data Pump导出(expdp):
expdp scott/**********@bidb4TABLES=KR.TR_DATA_APP_2A3R_D:PDIRECTORY=ORACLE_BACKUP DUMPFILE=KR.TR_DATA_APP_2A3R_D0101%u.dmpLOGFILE=DATA_PUMP_DIR:KR.TR_DATA_APP_2A3R_D0101.logCONTENT=data_only CLUSTER=N PARALLEL=8 FILESIZE=2G ENCRYPTION=data_only ENCRYPTION_PASSWORD=password
#1. scott/**********@bidb4 (红色部分)用户名密码和SID,这个就和sqlplus登陆的一致了。#2. TABLES (绿色部分)表名(表名称:分区)#3. DIRECTORY (蓝色部分)要生成导出文件的目录名--在oracle dba_directories中定义(定义方法见前文)#4. DUMPFILE (黄色部分)生成的导出文件名%u参数表示对个文件的后缀,与parallel、filesize一起使用#5. LOGFILE (紫色部分)日志记录文件名称(log目录:log名称,其中log目录在oracle dba_directories中定义)(定义方法见前文)#6. CONTENT (橙色部分)要包含的内容#7. CLUSTER (灰色部分)是否使用集群,默认是Y,这里需要N(可以看看后记)#8. PARALLEL (灰色部分)并行处理#9. FILESIZE (灰色部分)单个文件最大大小#10. ENCRYPTION (灰色部分)加密选项1,指定加密内容(附录中有描述参数可选内容)#11. ENCRYPTION_PASSWORD (灰色部分)加密选项2,指定加密密钥
三、Data Pump导入(impdp):
impdp scott/**********@bidb4
TABLES=KR.TR_DATA_APP_2A3R_D DIRECTORY=ORACLE_BACKUPDUMPFILE=KR.TR_DATA_APP_2A3R_D0101%u.dmp LOGFILE=DATA_PUMP_DIR:IMP_KR.TR_DATA_APP_2A3R_D0101.log CONTENT=data_onlyCLUSTER=N PARALLEL=8 FILESIZE=2G ENCRYPTION_PASSWORD=password
基本和expdp的参数配置一致,有区别主要在第2个和第10个,另外,导出的日志名最好稍微修改一下,不然就覆盖掉了。
#2. TABLES (绿色部分)表名(只要表名就好了,不用加上分区,因为导入的数据里面已经包含了分区信息)#10. ENCRYPTION (不再需要了)
相关资讯 & & &
& (08月03日)
& (03月29日)
& (08月03日)
& (05月18日)
& (12/15/:38)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款expdp导出表终止不动 - Oracle管理当前位置:& &&&expdp导出表终止不动expdp导出表终止不动&&网友分享于:&&浏览:0次expdp导出表停止不动expdp导出表,在最后收集索引,统计信息时没反应了。也无任何报错。
processing&object&type&TABLE_EXPORT/TABLE/TABLE这一步不动了。数据量很少
已经停止不动2个小时了。
还有另外的用户虽然导出成功但是也在这一步非常的慢?
还有联机的环境
如果加EXCLUDE=STATISTICS
在新生产环境会不会有影响?需要全部收集一遍数据库的统计信息吗------解决思路----------------------为什么认为是正在导出统计信息/索引
看看导出的文件是否在增大,如果是,可能只是因为数据量较大
统计信息可以不导,在目标端导入数据以后重新收集------解决思路----------------------你的数据量很少是多少?&全库导出吗?&看看数据文件多大?
12345678910
12345678910
12345678910 上一篇:没有了下一篇:文章评论相关解决方案 1234567891011 Copyright & &&版权所有Oracle expdp为什么比exp快,原理是什么
先看oracle 10g的官方文档:
Database Utilities
Data Performance Improvements for Data Pump Export and Import
The improved performance of the Data Pump Export and Import utilities is attributable to several factors, including the following:
Multiple worker processes can perform intertable and interpartition parallelism to load and unload tables in multiple, parallel, direct-path streams.
--多个进程并行和直接路径读
For very large tables and partitions, single worker processes can choose intrapartition parallelism through multiple parallel queries and parallel DML I/O server processes when the external tables method is used to access data.
Data Pump uses parallelism to build indexes and load package bodies.
--可以并行的建索引和包
Dump files are read and written directly by the server and, therefore, do not require any data movement to the client.
--在服务器上操作,不需要将数据返回给客户端,省去网络的环节
The dump file storage format is the internal stream format of the direct path API. This format is very similar to the format stored in
database datafiles inside of tablespaces. Therefore, no client-side conversion to INSERT statement bind variables is performed.
--导出的数据文件是block格式,不是exp的SQL语句
The supported data access methods, direct path and external tables, are faster than conventional SQL. The direct path API provides the fastest single-stream performance. The external tables feature makes efficient use of the parallel queries and parallel DML capabilities of the Oracle database.
--支持直接路径读,比转换成SQL快
Metadata and data extraction can be overlapped during export.
--元数据和数据的提取可以同时执行
翻译的不好,总结如下:
1.expdp是服务端程序,exp是客户端程序,exp还需要网络传输,这个很影响速度。
2.expdp读的就是数据块,exp是要转换成SQL。
3.expdp可以并行导出数据、元数据和建索引、包,exp不行。
4.expdp采用的是直接路径读,exp是要通过SGA。
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467142',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'本文由提供友情赞助,首发于。
exp/imp可以在服务器端和客户端执行,并且备份文件也是可以在客户端产生。而expdp/impdp只能服务器上执行,同时备份文件只能存在服务器上面。
1. 创建用户及授权
create user ilanni identified by ilanni defau
grant connect,resource,creat
2. 创建导出目录及授权
create directory exp_dir as ‘d:\test’;
(这个创建先后没有顺序,可以在用户未创建前创建,也可以在用户创建后创建。但是d:\test目录必须首先已经存在,或者已经创建)
grant read,write on directory exp_
3. 创建导入目录及授权
create or replace directory wpdp_dir as ‘d:\test’;
(这个创建先后没有顺序,可以在用户未创建前创建,也可以在用户创建后创建。但是d:\test目录必须首先已经存在,或者已经创建)
grant read,write on directory wpdp_
4. 导出dmp文件
expdp ilanni/topo@127.0.0.1:/xe schemas=ilanni dumpfile=ilanni_expdp.dmp logfile=ilanni_expdp.log directory=exp_dir
5. 导入dmp文件,从一个用户expdp导出再impdp导入到另一个用户
5.1 如果想导入的用户已经在数据库中存在:
a. 导出用户
expdp user1/pass1 directory=dumpdir dumpfile=user1.dmp
b. 导入用户
impdp user2/pass2 directory=dumpdir dumpfile=user1.dmp remap_schema=user1:user2 exclude=user full=y;
5.2 如果想导入的用户在数据库中不存在:
a. 导出用户
expdp user1/pass1 directory=dumpdir umpfile=user1.dmp
b. 导入用户
impdp system/passsystem directory=dumpdir dumpfile=user1.dmp remap_schema=user1:user2 full=y;
user2会自动建立,其权限和使用的表空间与user1相同,但此时用user2无法登录,因为此是user2是锁定状态,而且还要必须修改user2的密码(详见8解释)
impdp ilanni/topo@127.0.0.1:/xe directory=wpdp_dir remap_schema=topo:ilanni
remap_tablespace=ilanni_test:ilanni dumpfile=ilanni_expdp.dmp logfile=ilanni_impdp.log
其中remap_schema字段中的topo为原来数据库用户,ilanni为现在数据库用户。remap_tablespace字段中的ilanni_test为原来数据库的表空间,ilanni为现在数据库的表空间。
6. 查询已经存在的导入目录
select * from dba_
7. 删除已经存在导入目录
drop directory directory_
8. impd导入时,可以创建用户
impdp命令在导入数据时,如果用户存在,则会自动创建该用户,因为expdp导出的dmp文件中包含了创建用户的脚本信息(包括密码,缺省表空间,临时表空间等)。
impdp自动创建用户有一个前提条件,就是需要首先创建用户的缺省表空间和临时表空间,如果缺省表空间或者临时表空间不存在,则自动创建用户会失败,导致导入数据的失败。
在执行impdp之前,必须要创建导入目录,如下:
create directory wpdp_dir as ‘ d:\test ‘;
impdp system/system@192.168.24.249:/orcl directory=wpdp_dir remap_schema=coss:ilanni remap_tablespace=ilanni_test:ilanni
dumpfile=ilanni.dmp logfile=ilanni.log
该导入语句中coss是原来dmp文件原来数据库用户,ilanni为要创建的用户。这个执行完毕后,新建的用户ilanni还处于锁定状态,密码还要修改。而且该用户还有DBA权限。

我要回帖

更多关于 linux oracle expdp 的文章

 

随机推荐