今天在用sqlplus导出oracle数据库数据的时候发现有些表缺失,是因为Oracle 11g的新特性,表数据如果为空,则延迟分配表空间,所以导出的数据不全
解决方法:
--设置立刻分配表空间(设置后,后续新增的表即使没有数据会自动创建表空间,不再延迟创建)
alter system set deferred_segment_creation=false;
--查询当前用户下的所有空表
select table_name from user_tables where NUM_ROWS=0;
-- 根据上述查询,可以构建针对空表分配空间的命令语句,执行下列查询出的语句即可
Select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 or num_rows is null;
本文探讨Oracle11g中表空间延迟分配特性导致数据导出不全的问题,提供了解决方案,包括设置立即分配表空间及查询并处理空表的方法。
1946

被折叠的 条评论
为什么被折叠?



