您的位置:首页 > 数据库 > Oracle

【ORACLE】 11g 数据库表导出再导入10g 时空表不能导出的问题

2013-05-15 10:43 429 查看

【ORACLE】 11g 数据库表导出再导入10g 时空表不能导出的问题

 

问题:ORACLE 11g 将某用户自带表用 EXP 命令导出再IMP导入 10g 时 发现空表不能到导出

原因:11g 开始建表时,默认不分配 segment ,以节省空间,当表插入第一条数据时,再分配 segment

解决方法3个途径:

1:向空白插入一条数据,再删除掉,就分配空间了(空表比较少)。

2:修改系统参数alter system set deferred_segment_create=false;
(对以后新增的表系统会分配 segment),重启数据库。

3:批量对现有的空表分配空间

select 'alter table ' || table_name ||  ' allocate extent;' as sql from all_tables where num_rows = 0 and OWNER=username ;

执行导入导出工作
1. exp system/managerr@servicename owner=username1 file=expfile.dmp 
full=y
2. imp ystem/manager@servicename fromuser=username1 touser=username2 ignore=y file=expfile.dmp full=y
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: