轻松解决oracle11g 空表不能exp导出的问题
2017-10-11 10:59
513 查看
参考http://colcool.iteye.com/blog/1180985
11gR2默认是使用segment creation deferred建立,新建的无记录表不分配segment,当insert第一条记录时分配段空间,不会因truncate而回收,并且在sys
schema里不支持,exp也不会导出。
解决方法1:
这个主要还是跟deferred_segment_creation参数有关,在11gR2中该参数的值为true,说明当创建对象(如表),初始没有数据,不会立即创建segment。
如果该参数设置为false,表明之后的创建的表,初始没有数据,会立即创建segment。
使用代码:
弊端是对之后创建的表有效。
解决方法2:
先查询一下哪些表是空的:
下面我们通过select 来生成修改语句:
然后就在结果窗口里面生成了下面那些东西:
ok 执行上面那些sql,之后再exp吧。
11gR2默认是使用segment creation deferred建立,新建的无记录表不分配segment,当insert第一条记录时分配段空间,不会因truncate而回收,并且在sys
schema里不支持,exp也不会导出。
解决方法1:
这个主要还是跟deferred_segment_creation参数有关,在11gR2中该参数的值为true,说明当创建对象(如表),初始没有数据,不会立即创建segment。
如果该参数设置为false,表明之后的创建的表,初始没有数据,会立即创建segment。
使用代码:
alter system set deferred_segment_creation = false
弊端是对之后创建的表有效。
解决方法2:
先查询一下哪些表是空的:
select table_name from user_tables where NUM_ROWS=0
下面我们通过select 来生成修改语句:
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0
然后就在结果窗口里面生成了下面那些东西:
alter table E2USER_STATE allocate extent; alter table ENTERPRISE_E2USER allocate extent; alter table ENTERPRISE_INFO_TYPE allocate extent; alter table ENTERPRISE_MAPMARK allocate extent; alter table ENTERPRISE_NEEDTASK allocate extent; alter table ENTERPRISE_PICTURE allocate extent; alter table ENTERPRISE_REPORT allocate extent; alter table ENTERPRISE_REPORT_TYPE allocate extent; alter table ENTERPRISE_TEAM allocate extent; alter table FROMUSER_ADJUNCT_TARGET allocate extent; alter table FROMUSER_OFFER allocate extent; alter table NEEDTASK_TYPE allocate extent; alter table SYS_PRIVILEGE allocate extent; alter table SYS_RELEVANCE_RESOURCE allocate extent; alter table SYS_RELEVANCE_TARGET allocate extent; alter table SYS_RESOURCE_TYPE allocate extent; alter table TASK_FEEDBACK allocate extent; alter table TASK_MYTASKTYPE allocate extent; alter table TOUSER_MESSAGE allocate extent; alter table ABOUTUSER_POINT allocate extent; alter table ABOUTUSER_POINT_MARK allocate extent; alter table ABOUTUSER_QUERYKEY allocate extent; alter table ABOUTUSER_REPORT_HISTORY allocate extent; alter table DICT_COMMENT_TYPE allocate extent; alter table DICT_INDUSTRY_TYPE allocate extent; alter table DICT_POST allocate extent; alter table DICT_REGION allocate extent; alter table ENTERPRISE_COMMENT allocate extent; alter table ENTERPRISE_COMMENT_C allocate extent; alter table ENTERPRISE_INFO allocate extent; alter table ENTERPRISE_INFO_C allocate extent; alter table ENTERPRISE_INFO_STATE allocate extent; alter table CALENDAR_CREATETYPE allocate extent; alter table CALENDAR_MY allocate extent; alter table CALENDAR_TYPE allocate extent;
ok 执行上面那些sql,之后再exp吧。
相关文章推荐
- 轻松解决oracle11g 空表不能exp导出的问题。
- 轻松解决oracle11g 空表不能exp导出的问题
- 轻松解决oracle11g 空表不能exp导出的问题
- 轻松解决oracle11g 空表不能exp导出的问题。
- 轻松解决oracle11g 空表不能exp导出的问题。
- 轻松解决oracle11g 空表不能exp导出的问题
- 轻松解决oracle11g 空表不能exp导出的问题。
- [转]轻松解决oracle11g 空表不能exp导出的问题
- 解决oracle11g 空表不能exp导出的问题
- 轻松解决oracle11g 空表不能 exp 导出 的问题。
- 轻松解决oracle11g 空表不能 exp 导出 的问题。
- 轻松解决oracle11g 空表不能 exp 导出 的问题
- 轻松解决oracle11g 空表不能 exp 导出 的问题
- 解决oracle11g 空表不能exp导出的问题
- 轻松解决oracle11g 空表不能 exp 导出 的问题
- 解决oracle11g 空表不能exp导出的问题
- 解决oracle11g 空表不能exp导出的问题
- Oracle11g中Exp命令空表不能导出的问题
- oracle 11g空表不能exp导出问题解决方案
- 解决Oracle 11g在用EXP导出时,空表不能导出的问题