欢迎来到天天文库
浏览记录
ID:59321409
大小:19.50 KB
页数:2页
时间:2020-09-05
《解决空表不能导出.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Oracle11G在用EXP导出时,空表不能导出导致视图错误、缺少表等情况在oracle11gr2中,发现传统的exp居然不能导出空的表,然后查询一下,发现需要如下的步骤去搞,笔记之。oracle11g新增了一个参数:deferred_segment_creation,含义是段延迟创建,默认是true。具体是什么意思呢?如果这个参数设置为true,你新建了一个表T1,并且没有向其中插入数据,那么这个表不会立即分配extent,也就是不占数据空间,只有当你insert数据后才分配空间。这样可以节省少量的空间。解决办法1insert一行,再rollback就产生se
2、gment了。 该方法是在在空表中插入数据,再删除,则产生segment。导出时则可导出空表。2设置deferred_segment_creation参数为FALSE后,无论是空表还是非空表,都分配segment。在sqlplus中,执行如下命令:查看:SQL>showparameterdeferred_segment_creation;修改:SQL>altersystemsetdeferred_segment_creation=false;该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment。 需注意的是:该值设置后对以前导
3、入的空表不产生作用,仍不能导出,只能对后面新增的表产生作用。如需导出之前的空表,只能用第一种方法。注意并且要重新启动数据库,让参数生效3使用ALLOCATEEXTENT3.1)使用ALLOCATEEXTENT可以为数据库对象分配Extent。其语法如下:-----------ALLOCATEEXTENT{SIZEinteger[K
4、M]
5、DATAFILE'filename'
6、INSTANCEinteger}-----------可以针对数据表、索引、物化视图等手工分配Extent。ALLOCATEEXTENT使用样例:ALLOCATEEXTENTALLOCATE
7、EXTENT(SIZEinteger[K
8、M])ALLOCATEEXTENT(DATAFILE'filename')ALLOCATEEXTENT(INSTANCEinteger)ALLOCATEEXTENT(SIZEinteger[K
9、M]DATAFILE'filename')ALLOCATEEXTENT(SIZEinteger[K
10、M]INSTANCEinteger)针对数据表操作的完整语法如下:-----------ALTERTABLE[schema.]table_nameALLOCATEEXTENT[({SIZEinteger[K
11、M]
12、DATAFILE'
13、filename'
14、INSTANCEinteger})]-----------schema为数据库对象的集合,为了区分各个集合,我们需要给这个集合起个名字,这些名字就是我们在企业管理器的方案下看到的许多类似用户名的节点,这些类似用户名的节点其实就是一个schema,schema里面包含了各种对象如tables,views,sequences,storedprocedures,synonyms,indexes,clusters,anddatabaselinks。一个用户一般对应一个schema,该用户的schema名等于用户名,并作为该用户缺省schema。这也就
15、是我们在企业管理器的方案下看到schema名都为数据库用户名的原因。最简单的理解:以你计算机的用户为例,如果你的计算机有3个用户,那么每个用户登录系统看到的(使用的)功能是可以不相同的搜索!故,需要构建如下样子简单的SQL命令:-----------altertableaTabelNameallocateextent;-----------3.2)构建对空表分配空间的SQL命令,查询当前用户下的所有空表(一个用户最好对应一个默认表空间)。命令如下:-----------SQL>selecttable_namefromuser_tableswhereNUM_ROW
16、S=0;-----------根据上述查询,可以构建针对空表分配空间的命令语句,如下:-----------SQL>Select'altertable'
17、
18、table_name
19、
20、'allocateextent;'fromuser_tableswherenum_rows=0;-----------'ALTERTABLE'
21、
22、TABLE_NAME
23、
24、'ALLOCATEEXTENT;'-----------------------------------------------------------altertableBPIS_TREAT_PLAN_LISTall
25、ocateextent;
此文档下载收益归作者所有