oracle存储过程异常怎么捕捉_oracle 00001

oracle存储过程异常怎么捕捉_oracle 00001环境:CentOS7.4 Oracle11.2.0.4(搭建rac集群) 问题描述:在使用exp命令执行导出的时候,部分表提示“EXP-00003: 未找到段 (0,0) 的存储定义”警告。 问题原因

Oracle导出警告“EXP-00003: 未找到段 (0,0) 的存储定义”解决

环境:CentOS7.4   Oracle11.2.0.4(搭建rac集群)

问题描述:在使用exp命令执行导出的时候,部分表提示“EXP-00003: 未找到段 (0,0) 的存储定义”警告。

问题原因:该问题是因为导出的数据表为空表导致的。Oracle 11GR2当表无数据时,不分配segment,以节省空间,因此在用EXPORT导出时,空表不能导出。

解决方法:

1、使用以下语句查找空表,把查询结果导出执行,强行修改segment值,然后再导出即可导出空表。

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

注意:语句查出来的不一定是全部的表(有可能有漏掉),如果有缺失可以根据导出日志执行以下alert语句即可。

2、在相应的空表中插入一条记录再删除(或者rollback)。这样可以产生segment。导出时则可导出空表。

3、设置deferred_segment_creation 参数。该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment。

alter system setdeferred_segment_creation=false scope=both;

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

 

参考:https://blog.csdn.net/u013991521/article/details/52576473

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10002.html

(0)
上一篇 2023-01-27
下一篇 2023-01-27

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注