ORACLE EXP不能导出空表的原因分析及解决方法


一、不能导出空表的原因

1、Oracle11g默认对空表不分配segment,故使用exp导出Oracle11g数据库时,空表不会导出。

2、设置deferred_segment_creation 参数为FALSE后,无论是空表还是非空表,都分配segment。

在sqlplus中,执行如下命令:

SQL>alter system set deferred_segment_creation=false;

查看:

SQL>show parameter deferred_segment_creation;

该值设置后只对后面新增的表产生作用,对之前建立的空表不起作用。

二、解决办法

可以使用手工为空表分配Extent的方式,来解决导出之前建立的空表的问题

①select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 or num_rows is null

使用上面的语句 会拼接处给空表分配Extent的语句

但是,有很多空表 在视图user_tables中的num_rows不等于0(原因:表中以前有数据,删除后oracle没有统计,视图user_tables中的数据没有更新),所以通过上面的方法并不能为所有的空表分配数据段,解决方法如下

②select 'analyze table '||table_name||' compute statistics;' from user_tables

analyze table tablename compute statistics
等同于 analyze table tablename compute statistics for table for all indexes for all columns
for table的统计信息存在于视图:user_tables 、all_tables、dba_tables
for all indexes的统计信息存在于视图: user_indexes 、all_indexes、dba_indexes
 for all columns的统计信息存在于试图:user_tab_columns、all_tab_columns、dba_tab_columns

执行完后,视图user_tables中的num_rows值会更新,此时再执行①,能够给所有的空表分配数据段

然而,在执行 analyze table tablename compute statistics 时,oracle会报  object statictis are locked (这些表的统计被锁了),通过下面的方式解锁

 ③select 'exec dbms_stats.unlock_table_stats('||'''JXDEMO'''||','''||table_name||''');' from user_tables

(③得到的结果需要在sqlplus上执行,在pl/sql developer 中的sql窗口执行报错)

③执行后得到的结果执行完了之后再去执行②就没有object statictis are locked错误提示了



相关阅读:
C#开源的AOP框架--KingAOP基础
Win10系统分辨率不正确如何调整
java中使用双向链表实现贪吃蛇程序源码分享
解析Android横竖屏切换的问题
win7系统使用打印机设备提示缺少VSPRINT7.OCX的解决方法
PHP实现的通过参数生成MYSQL语句类完整实例
JQuery设置文本框和密码框得到焦点时的样式
C语言+win32api写窗体应用程序
javascript获取select标签选中的值
C语言栈的表示与实现实例详解
Android UI设计系列之自定义SwitchButton开关实现类似IOS中UISwitch的动画效果(2)
thinkphp实现like模糊查询实例
js实现鼠标点击文本框自动选中内容的方法
HTML5 audio标签使用js进行播放控制实例
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 CMS SQL jQuery C# C++ java Android IOS oracle MongoDB PostgreSQL SQLite 交通频道 德阳-乳山 金昌-红河 昆明-太原 泰兴-上海 马鞍山-福州 商丘-广元 双鸭山-钦州 瓦房店-邯郸 淮安-上虞 青州-临沧 宁德-府谷 绵阳-衢州 濮阳-惠州 南通-渭南 周口-庆阳 常州-周口 乌海-海南 温岭-渭南 十堰-揭阳 聊城-三明 酒泉-沈阳 通化-安康 襄阳-四平 淄博-合肥 张掖-江阴 宁德-桐乡 济宁-邯郸 保定-大石桥 运城-德宏 荥阳-淄博 十堰-大理 南充-昌都 汕尾-长兴 普兰店-招远 来宾-永康 常德-临沂 漯河-徐州 三亚-眉山 平度-六盘水 铜川-海城 黄冈-阳泉 庄河-溧阳 安庆-巴中 通辽-绍兴 苏州-龙岩 抚州-廊坊 泰兴-信阳 德阳-临汾 安顺-孝感 德州-韶关 天门-莱西 临沧-亳州 鄂州-南阳 玉溪-招远 宝鸡-防城港 武威-嘉兴 郴州-信阳 辽阳-温州 韶关-遵义 邵阳-潮州 晋江-宜兴 长治-福清 神木-吐鲁番 东阳-黄石 固原-肇庆 阳泉-太仓 烟台-三明 呼和浩特-蓬莱 果洛-广元 浏阳-烟台 丹阳-宜昌 上海-象山 鸡西-平顶山 崇明-那曲 亳州-余姚 济南-海北 珠海-芜湖 银川-莱州 丹阳-安顺 白银-三门峡 济南东-洮南 福州-南丰 江山-綦江 萍乡北-泰宁 驻马店-沙河市 越西-轸溪 亚河-山市 宿州-泾川 二道沟门-金沟屯 唐山-卫辉 武山-虞城县 新固镇-辛集 萧县北-嘉善南 六盘水-邢台 宝鸡-商南 德清-三门县 保定-南京 元谋-羊臼河 西安南-酒泉 潮阳-苏州园区 怀仁-黄州 杨陵-绥德 熊岳城-铁岭 张家界-灵宝 辽中-天津 绍兴东-昆山南 台前-衡水 怀仁东-武乡 鞍山西-丽水 青田-西柳 奉化-余杭 将乐-温州南 泡子-霍林郭勒 古田北-娄底南 天津-曹子里 宜昌东-共青城 海宁西-长沙南 蔡家坡-巢湖 石湖-老岭 菏泽-马鞍山 本溪-廊坊 溧水-仙桃西 芷江-古田北 宁武-襄汾 归流河-五叉沟 章党-三源浦 拉哈-绥化 四分地-广德号 潍坊-锦州 桑根达来-免渡河 小姑家-六道河 延安-商洛 进贤南-宜春 赤壁-涟源 朱家沟-青龙 东辛庄-高山子 井冈山-郴州 长春-治安 广德-鄯善 陶赖昭-昌图 桃村北-即墨北 杭州东-九台 赤壁北-信阳东 土溪-襄阳东 梁山-孝感 葫芦岛-镇安 安阳-鹤壁 锦州-应县 兴宁-湛江 兰考-熊岳城 闻喜西-运城北 鳌江-晋江 晨明-扎兰屯 小新街-松河 沟帮子-敦化 南观村-王安镇 合肥-诸城 焦作-宁陵县 舍力虎-太平庄 内乡-巢湖

Copyright © 2016 phpStudy |