ORACLE EXP不能导出空表的原因分析及解决方法
二、解决办法
该值设置后只对后面新增的表产生作用,对之前建立的空表不起作用。
然而,在执行 analyze table tablename compute statistics 时,oracle会报 object statictis are locked (这些表的统计被锁了),通过下面的方式解锁
①select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 or num_rows is null
analyze table tablename compute statistics
for table的统计信息存在于视图:user_tables 、all_tables、dba_tables
(③得到的结果需要在sqlplus上执行,在pl/sql developer 中的sql窗口执行报错)
一、不能导出空表的原因
1、Oracle11g默认对空表不分配segment,故使用exp导出Oracle11g数据库时,空表不会导出。
在sqlplus中,执行如下命令:
等同于 analyze table tablename compute statistics for table for all indexes for all columns执行完后,视图user_tables中的num_rows值会更新,此时再执行①,能够给所有的空表分配数据段
查看:
SQL>show parameter deferred_segment_creation;
使用上面的语句 会拼接处给空表分配Extent的语句
②select 'analyze table '||table_name||' compute statistics;' from user_tables
但是,有很多空表 在视图user_tables中的num_rows不等于0(原因:表中以前有数据,删除后oracle没有统计,视图user_tables中的数据没有更新),所以通过上面的方法并不能为所有的空表分配数据段,解决方法如下
for all indexes的统计信息存在于视图: user_indexes 、all_indexes、dba_indexesfor all columns的统计信息存在于试图:user_tab_columns、all_tab_columns、dba_tab_columns
SQL>alter system set deferred_segment_creation=false;
2、设置deferred_segment_creation 参数为FALSE后,无论是空表还是非空表,都分配segment。
③执行后得到的结果执行完了之后再去执行②就没有object statictis are locked错误提示了
可以使用手工为空表分配Extent的方式,来解决导出之前建立的空表的问题
③select 'exec dbms_stats.unlock_table_stats('||'''JXDEMO'''||','''||table_name||''');' from user_tables
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://www.juheyunku.com/sql/oracle/1698.shtml
相关文章
热门TAG
命令 权重 外链 企业网站 白帽 php 织梦教程 dedecms修改内容 javascript 织梦 功能 标签 调用 详解 服务器 网站流量 实例解析 Dedecms 织梦cms HTML tags标签 python jquery教程 jquery windows SEO优化 蜘蛛 搜索引擎 网站收录 JSP最新文章
-
Window下Oracle Database 11g 发行
时间:2020-12-29
-
Oracle如何实现like多个值的
时间:2020-12-29
-
maven添加oracle依赖失败问题
时间:2020-12-29
-
OracleRAC基本概念及入门
时间:2020-12-29
-
Azure File Storage 基本用法
时间:2020-12-26
-
Oracle 权限(grant revoke)
时间:2020-12-26
-
Azure Queue Storage 基本用法
时间:2020-12-26
-
如何对比迁移前后的Orac
时间:2020-12-26
热门文章
-
Azure Queue Storage 基本用法 Azure Storage 之
时间:2020-12-26
-
Oracle存储过程编程详解
时间:2020-12-07
-
win10下oracle 11g安装图文教程
时间:2020-12-25
-
oracle 数据库学习 基本结构介绍
时间:2020-12-13
-
Azure File Storage 基本用法 Azure Storage 之 F
时间:2020-12-26
-
windows使用sqlpus连接oracle 数据库的教程图
时间:2020-12-25
-
Window下Oracle Database 11g 发行版2安装教程
时间:2020-12-29
-
Oracle解锁的方式介绍
时间:2020-12-14
-
linux下oracle设置开机自启动实现方法
时间:2020-12-13
-
Oracle学习记录之使用自定义函数和触发器
时间:2020-12-07
