DEFERRED_SEGMENT_CREATION参数

ENV:11.2.0.3单节点

最近需要做一个11g的历史库,数据传输是通过在源库创建Package通过DBLink将源库数据同步到历史库,

同一个库,10个schema,多张表,总数大概有1000多张。

当初采用每一个schema下expdp一个脚本只到表结构,然后scp dump文件到历史库再进行impdp;

一切完成后,发现共计有3个表没有,随后手工创建。

分析原因,检查导入导出脚本,没有发现异常。分析这3张表的源表有一个共性就是没有数据;

我觉得应该是11g哪个新功能限制的,果不其然,是DEFERRED_SEGMENT_CREATION参数惹的麻烦

这个参数官方文档描述如下:

 

这样做的好处,就是节省空间使用

解决办法:
(1)执行alter system set deferred_segment_creation=false这只对以后的表有效,对之前存在的表无用,所以最好在DB创建完成就把该参数调整为false。
(2)创建表的时候声明分配segment: create table t1 (id,vachar2(8)) SEGMENT CREATION IMMEDIATE;
(3)对于已经创建但是还没有Segment的表来说,可以执行alter table XXX allocate extent来使其创建出segment,当然也可以插入一条临时数据,使其分配Segment

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值