教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 专业资料 >

Oracle 11G R2 用exp无法导出空表解决方法及expdp和impdp的用法

来源:网络收集 时间:2026-09-02
导读: oracle11g 用imp无法导出空表的解决方法expdp和impdp的用法及参数 Oracle 11G R2 用exp无法导出空表解决方法Oracle 11G在用EXPORT导出时,空表不能导出 11G R2中有个新特性,当表无数据时,不分配segment,以节省空间 解决方法: 一、insert一行,再rollback

oracle11g 用imp无法导出空表的解决方法expdp和impdp的用法及参数

Oracle 11G R2 用exp无法导出空表解决方法Oracle 11G在用EXPORT导出时,空表不能导出

11G R2中有个新特性,当表无数据时,不分配segment,以节省空间

解决方法:

一、insert一行,再rollback就产生segment了。

该方法是在在空表中插入数据,再删除,则产生segment。导出时则可导出空表。

二、设置deferred_segment_creation 参数

该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment。修改SQL语句:

alter system set deferred_segment_creation=false scope=both;

需注意的是:该值设置后对以前导入的空表不产生作用,仍不能导出,只能对后面新增的表产生作用。如需导出之前的空表,只能用第一种方法。

三、用以下这句查找空表

select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;

把查询结果导出,执行导出的语句,强行修改segment值,然后再导出即可导出空表,

注意:数据库插入数据前,修改11g_R2参数可以导出空表

查找空表

select 'alter table '||table_name||' allocate extent;' from user_tables where

num_rows=0

四、Oracle 10g以后增加了expdp和impdp工具,用此

工具也可以导出空的表

oracle expdp/impdp 用法详解

1)创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等

管理员创建。

create directory db_bak as 'd:\test\dump';

oracle11g 用imp无法导出空表的解决方法expdp和impdp的用法及参数

2)查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目

录是否存在,如果不存在,则出错)

select * from dba_directories;

3)给system用户赋予在指定目录的操作权限,最好以system等管理员赋予。grant read,write on directory db_bak to system;

4)导出数据

●按用户导

expdp system/manager@orcl schemas=system dumpfile=expdp.dmp DIRECTORY=db_bak

●并行进程parallel

expdp system/manager@orcl directory=db_bak dumpfile=system3.dmp parallel=40 job_name=system3

●按表名导

expdp system/manager@orcl TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=db_bak;

●按查询条件导

expdp system/manager@orcl directory=db_bak dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';

●按表空间导

expdp system/manager DIRECTORY=db_bak DUMPFILE=tablespace.dmp TABLESPACES=temp,example;

●导整个数据库

expdp system/mtmadmin DIRECTORY=db_bak DUMPFILE=full.dmp FULL=y

5)五、还原数据

●1)导到指定用户下

impdp system/manager DIRECTORY=db_bak DUMPFILE=expdp.dmp

SCHEMAS=system;

●2)改变表的owner

impdp system/manager DIRECTORY=db_bak DUMPFILE=expdp.dmp

TABLES=system.dept REMAP_SCHEMA=system:system;

●3)导入表空间

impdp system/manager DIRECTORY=db_bak DUMPFILE=tablespace.dmp TABLESPACES=example;

●4)导入数据库

impdb system/mtmadmin DIRECTORY=db_bak DUMPFILE=full.dmp FULL=y;

●5)追加数据

impdp system/manager DIRECTORY=db_bak DUMPFILE=expdp.dmp

SCHEMAS=system TABLE_EXISTS_ACTION=append;

oracle11g 用imp无法导出空表的解决方法expdp和impdp的用法及参数

五、Expdp/Impdp的相关参数

EXPDP命令行选项

1. ATTACH

该选项用于在客户会话与已存在导出作用之间建立关联.语法如下

ATTACH=[schema_name.]job_name

Schema_name用于指定方案名,job_name用于指定导出作业名.注意,如果使用ATTACH选项,在命令行除了连接字符串和ATTACH选项外,不能指定任何其他选项,示例如下:

Expdp system/manager ATTACH=system.export_job

2. CONTENT

该选项用于指定要导出的内容.默认值为ALL

CONTENT={ALL | DATA_ONLY | METADATA_ONLY}

当设置CONTENT为ALL 时,将导出对象定义及其所有数据.为DATA_ONLY时,只导出对象数据,为METADATA_ONLY时,只导出对象定义

Expdp system/manager DIRECTORY=dump DUMPFILE=a.dump

CONTENT=METADATA_ONLY

3. DIRECTORY

指定转储文件和日志文件所在的目录

DIRECTORY=directory_object

Directory_object用于指定目录对象名称.需要注意,目录对象是使用CREATE DIRECTORY语句建立的对象,而不是OS 目录

Expdp system/manager DIRECTORY=dump DUMPFILE=a.dump

建立目录:

CREATE DIRECTORY dump as ‘d:dump’;

查询创建了那些子目录:

SELECT * FROM dba_directories;

4. DUMPFILE

用于指定转储文件的名称,默认名称为expdat.dmp

DUMPFILE=*directory_object:+file_name *,….+

Directory_object用于指定目录对象名,file_name用于指定转储文件名.需要注意,如果不指定directory_object,导出工具会自动使用DIRECTORY选项指定的目录对象

Expdp system/manager DIRECTORY=dump1 DUMPFILE=dump2:a.dmp

5. ESTIMATE

指定估算被导出表所占用磁盘空间分方法.默认值是BLOCKS

EXTIMATE={BLOCKS | STATISTICS}

设置为BLOCKS时,oracle会按照目标对象所占用的数据块个数乘以数据块尺寸估算对象占用的空间,设置为STATISTICS时,根据最近统计值估算对象占用空间Expdp system/manager TABLES=emp ESTIMATE=STATISTICS

DIRECTORY=dump DUMPFILE=a.dump

6. EXTIMATE_ONLY

指定是否只估算导出作业所占用的磁盘空间,默认值为N

EXTIMATE_ONLY={Y | N}

oracle11g 用imp无法导出空表的解决方法expdp和impdp的用法及参数

设置为Y时,导出作用只估算对象所占用的磁盘空间,而不会执行导出作业,为N时,不仅估算对象所占用的磁盘空间,还会执行导出操作.

Expdp system/manager ESTIMATE_ONLY=y NOLOGFILE=y

7. EXCLUDE

该选项用于指定执行操作时释放要排除对象类型或相关对象

EXCLUDE=object_type*:name_clause+ *,….+

Object_type用于指定要排除的对象类型,name_clause用于指定要排除的具体对象.EXCLUDE和INCLUDE不能同时使用

Expdp system/manager DIRECTORY=dump DUMPFILE=a.dup EXCLUDE=VIEW

8. FILESIZE

指定导出文件的最大尺寸,默认为0,(表示文件尺寸没有限制)

9. FLASHBACK_SCN

指定导出特定SCN时刻的表数据

FLASHBACK_SCN=scn_value

Scn_value用于标识SCN值.FLASHBACK_SCN和FLASHBACK_TIME不能同时使用Expdp system/manager DIRECTORY=dump DUMPFILE=a.dmp

FLASHBACK_SCN=358523

10. FLASHBACK_TIME

指定导出特定时间点的表数据

FLASHBACK_TIME=”TO_TIMESTAMP(time_value)”

Expdp system/manager DIRECTORY=dump DUMPFILE=a.dmp FLASHBACK_TIME= “T …… 此处隐藏:3943字,全部文档内容请下载后查看。喜欢就下载吧 ……

Oracle 11G R2 用exp无法导出空表解决方法及expdp和impdp的用法.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/266594.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)