最早的一次使用oracle 11g导出数据发现有的表丢失了,感觉莫名其妙的,后来终于找到原因了。
找到问题以后,再看看解决方案。
11GR2中有个新特性,当表无数据时,不分配segment,以节省空间,可是在用EXPORT导出时,空表也不能导出,这就导致迁移时候丢失了一些表,存储过程也失效了。本以为EXP能有相应的控制开关,可以切换是否导出空表,看了下帮助,没有太大的改变。有些奇怪,难道11GR2不更新EXP的功能了,还看有的帖子说11GR1作为客户端去卸载11GR2的,都会出现ora-1455d的错误,得换成11GR2的exp才没事了,心中感慨阿,怎么版本间的兼容这么脆弱了!
解决方法:
一、 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;
把SQL查询的结果导出,然后执行导出的语句,强行为表分配空间修改segment值,然后再导出即可导出空表了。
相关推荐
在 Oracle 9i 中,exp工具是非常重要的数据导出工具,但是在使用过程中,经常会遇到一些错误,例如 EXP-00008 ORA-00942 EXP-00024 等错误,这些错误会导致数据导出失败。今天,我们将讨论如何解决这些错误。 EXP-...
ORA-06553报错是指在使用EXP工具导出数据库数据时出现的错误信息。这个错误信息通常是由于EXP工具在执行过程中无法正确地验证同义词的定义导致的。 知识点3:解决ORA-06553报错的方法 要解决ORA-06553报错,需要...
这种错误常见于数据导出(如使用EXP命令)或导入(如使用IMP命令)操作中,特别是在涉及复杂数据类型(如BLOB、CLOB或对象类型)的转换时。 ### 成因分析 ORA-01460错误的出现可能源于以下几个方面: 1. **数据...
在Oracle数据库操作过程中,用户可能会遇到一个特定的错误提示——ORA-29275:部分多字节字符。这一错误通常出现在执行查询`SELECT * FROM V$SESSION`时。该错误的出现意味着在查询结果中存在一些多字节字符(通常是...
oracle12c程序连接时异常: ORA-01017: 用户名/口令无效; 登录被拒绝 的解决方案。
标题和描述中提到的是关于如何解决Oracle数据库系统中出现的Ora-00600错误的故障处理方法。Ora-00600错误是Oracle数据库内部错误,通常表明系统遇到了无法处理的异常情况。这篇文档可能提供了解决这个问题的步骤和...
在进行Oracle数据库的操作时,经常会遇到“ORA-12154 TNS 无法解析指定的连接标识符”这样的错误提示。此问题通常发生在尝试从客户端连接到Oracle数据库服务器时,特别是当执行数据导入导出操作时。本文将深入探讨该...
当使用`exp`或`expdp`命令导出Oracle数据库中的表或整个模式时,如果表的统计信息(例如行数)超过了一定阈值,就会触发ORA-01455错误。这是因为默认情况下,导出工具会尝试将这些统计信息存储为32位整数。 **错误...
由于导出的该用户的表可能存在空数据表,那么可能就会出现此其异常。 首先: 查看: SQL>show parameter deferred_segment_creation; 如果为TRUE,则将该参数改为FALSE; 在sqlplus中,执行如下命令: SQL>alter ...
文档有为什么oracle 11g不能导出空白,导出空表的详细操作方法(很简便哦)
在Oracle数据库管理中,"IMP-00010:不是有效的导出文件,头部验证失败" 是一个常见的导入错误,通常发生在尝试使用`expdp`(数据泵导出)或`impdp`(数据泵导入)工具进行数据迁移或备份恢复时。这个错误意味着系统...
以下是对部分Oracle数据库错误消息的详细解析,涵盖从EXP-00000至EXP-00024的错误代码,主要聚焦于数据导出过程中的常见问题及其解决策略。 ### EXP-00000 导出终止失败 - **错误描述**:在导出数据的过程中,...
- **ORA-01041**:这个错误提示可能是由于数据库实例没有启动或已经关闭,导致用户无法连接到数据库服务。 除了上述错误外,文章还提到了其他常见的ORA错误,如ORA-01545、ORA-0165x、ORA-01555、ORA-04031、ORA-...
imp命令则是将exp导出的.dmp文件导入回Oracle数据库。同样,`USERID`是必需的。`FULL`参数在此处用于决定是否完全覆盖数据库(默认为N,意味着只导入指定的表)。`IGNORE`参数用于忽略导入过程中遇到的错误。`TABLES...
这两个错误提示内部错误且元数据处理不可用,这可能是因为数据泵无法访问必要的元数据API。解决这个问题需要以SYSDBA权限运行 `dbms_metadata_util.load_stylesheets` 这个存储过程。这个过程用于加载和更新数据泵所...
Oracle 19c 备份恢复-导入导出是指使用 Oracle 数据库提供的工具 exp 和 imp 实现数据库的备份恢复和数据的导入导出。本文将详细介绍 Oracle 19c 备份恢复-导入导出的基本命令、工作方式、模式、选项和高级选项。 ...
- **exp/imp**:只适用于由exp导出的文件。 - **expdp/impdp**:只适用于由expdp导出的文件。 3. **性能**: - **expdp/impdp**:利用多线程技术,大大提高了数据传输的速度。 - **exp/imp**:性能相对较慢。 ...