Oracle 11gR2 新特性:段区延迟创建 (EXP-00003)

在做数据迁移是,开发用exp导出数据。但发现报错:“EXP-00003 未找到段的存储定义。”这样造成导出备份的数据不完整。

查资料发现Oracle 11g R2 增加了一个新参数: deferred_segment_creation,
含义是段延迟创建,默认为true。即新表在创建,但是未插入数据时,数据库不会立即为此表分配segment。当使用exp命令进行导出数据时,未分配空间的表是不会被导出的。

1.修改参数 (需要重启数据库)

alter system set deferred_segment_creation=false;

2.修改后之对 之后创建的表有效。之前的表还是没有分配,所以我们要补齐。
手动为空表分配空间。

set heading off;
set echo off;
set feedback off;
set termout on;
spool '/data/sql_allocate.sql';
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 or num_rows is null;
select 'alter table '||table_name||' modify partition '||partition_name||' allocate extent;' from user_tab_partitions;
spool off
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东方-phantom

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值