oracle11g中exp无法导出空表问题的快速解决方法,
目录
- 一、问题复现
- 二、问题分析
- 三、问题解决
一、问题复现
我本地通过dmp导出自己测试用户下的所有表:

但是我们通过视图查看用户tpc下面,实际有18张表:
SQL> r 1* select table_name from user_tables TABLE_NAME ------------------------------ T_USER TPC_TAB1 T_CODE FRM_MENU PTM_EQUIPBUS_VIOREF VIO_VIOLATION_OTHER VIO_SURVEIL VIO_FORCE VIO_VIOLATION PTM_EQUIPRECORD PTM_EQUIPBUS_VIO PTM_ALC_DETEC PTM_POLICE FRM_DETACHMENT T_OBJECT T_LOGIN_LOG T_HPS FRM_DEPARTMENT 18 rows selected. SQL>
这个导出明显存在问题。
二、问题分析
在oracle 11g中,我们创建表后,如表中未写入数据,表默认是不分配段(segment)的,而我们的exp导出是不导出未分配segment的表的。
验证:我们查看下用户表段信息
SQL> r 1* select segment_name,bytes from user_segments where segment_name not like 'BIN%' and segment_type='TABLE' SEGMENT_NAME BYTES ------------------------------------------------------------ ---------- FRM_DEPARTMENT 917504 T_OBJECT 14680064 T_USER 65536 T_LOGIN_LOG 65536 T_HPS 7340032 FRM_DETACHMENT 65536 PTM_POLICE 10485760 PTM_EQUIPBUS_VIO 65536 PTM_EQUIPBUS_VIOREF 65536 VIO_FORCE 65536 T_CODE 65536 FRM_MENU 65536 12 rows selected. SQL>
可以看到,没看到未导出的表的段信息。
三、问题解决
我们通过手动给未分配段的表进行空间申请,让其产生段信息。
首先,生成脚本:

接着,执行脚本:

最后导出测试,发现所有表都导出。

到此这篇关于oracle 11g中exp无法导出空表问题的快速解决方法的文章就介绍到这了,更多相关oracle 11g exp无法导出空表内容请搜索PHP之友以前的文章或继续浏览下面的相关文章希望大家以后多多支持PHP之友!
您可能感兴趣的文章:- Oracle 11g数据库使用expdp每周进行数据备份并上传到备份服务器
- oracle11gR2使用exp导出命令时报EXP-00011错误的解决方法
- Windows系统下Oracle 11g完全卸载教程(推荐!)
- windows系统下Oracle 11g完整安装教程
- Docker如何拉取oracle11g镜像
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。