了解了如上
deferred_segment_creaon
特性;
有同学会说:把
修改为
,
不就行了。
注意:
修改为
,
后,只对新建的空表起作用,之前空表依旧无法正常导
出,除非把之前的所有空表做一次
段分配处理。
怎么做?
把所有的空表做
segment create
处理,通过
sql
手动方法实现。
步骤如下:
步骤
:
--
查询所有的空表
*./0123456
步骤
:
--
拼接
7
,批量生成修改语句
889999868*./*.56
步骤
:
--
利用
%
命令重新执行导出和导入操作即可。
步骤
!
:
--
修改
修改为
,
,规避后续再次出现此类问题。
这里注意,步骤
2
会出现一种现象:
步骤
查出来的有些空表,在视图
*
中的
*.
不等于
(原因:表中以前有数据,
删除后
没有统计,视图
*
中数据没有更新),故通过步骤
的
7
并不能为所有
的空表分配数据段。
怎么办?
执行一遍统计信息搜集即可。
8+:899998*68*6
+:*6
等同于
+:**6
的统计信息存在于视图:
*
、
、
的统计信息存在于视图:
*
、
、
*
的统计信息存在于试图:
**
、
*
、
*
执行完后,视图
*
中的
*.
值会做更新,此时再执行步骤
,能够给所有空表分
配数据段
然而,在执行
+:*
时,
会报
;
这些表的统计被锁了
,通过如下方式解锁:
8 * 899888OWNNAME888998<888999988868
*./ 5="$>#?"=6
评论