ORACLE 9I 升级到11.2G后,DMP全备份导入到新的数据库后,发现多数据表格都没有导进来

布丁88 2013-04-17 11:22:49
导出语句如下:
exp user/pass@test full=y file=d:\full.dmp log=d:\full.log

导入命令为:
imp user/pass@test fromuser=user touser=user file=d:\full.dmp

导入顺利终止.
查看表格数量,发现比原数据库少了79个表.
仔细检查发现,导进去的表格都是最近有更新的表,没有更新的表都没有导进来.
请各位大哥指点.
...全文
300 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
kemizxp 2013-04-18
  • 打赏
  • 举报
回复
oracle11G 默认空表是不导出的,还有11G的默认密码有效时间是3个月,还有大小写敏感。 这些网上都可以查询到处理办法。
flyinthesky 2013-04-17
  • 打赏
  • 举报
回复
mark 虽然9已经被我淘汰,但还是标记一下!
布丁88 2013-04-17
  • 打赏
  • 举报
回复
谢谢各位,问题已经解决了。 这个问题分为两种情况,一种是在数据库没有导入资料时和导入资料后。 在导入资料前,也就是在创建TABLE表使用以下命令修改数据库参数便可。 SQL>ALTER SYSTEM SET DEFERRED_SEGMENT_CREATION=FALSE SCOPE=BOTH; 如果是已经创建了表格,那就用下面的几条语句。 首先要找出为空的表。 SQL>SELECT TABLE_NAME FROM ALL_TABLES WHERE TABLE_NAME NOT IN (SELECT TABLE_NAME FROM ALL_TABLES WHERE OWNER=USER1,USER2... AND NUM_ROWS>0) WHERE OWNER=USER1,USER2....... SQL>ALTER SYSTEM SET DEFERRED_SEGMENT_CREATION=FALSE SCOPE=BOTH; SQL>ALTER TABLE TABLENAME ALLOCATE EXTENT; ....
沉---枫 2013-04-17
  • 打赏
  • 举报
回复
1.问一下导入与导出时所用的用户一样吗。用对应的imp与exp权限一样吗? 2.你要导入的数据库中有数据吗?若有部分数据相同,而你又没加ignore=y。也会出现你所说的现象。
xinpingf 2013-04-17
  • 打赏
  • 举报
回复
你那些表是不是都没记录?11g里面貌似默认空表不分配段,而没分配段的表不导出(但不导入没听说过……)
惜分飞 2013-04-17
  • 打赏
  • 举报
回复
你的exp,imp都没有报错? 你的导入和导出语句意义不完全相同吧 导出是全部的表, 导入只是一个用户的表
布丁88 2013-04-17
  • 打赏
  • 举报
回复
帮忙给找一下,兄弟. 老大这两天都快把我给逼疯了.
iqlife 2013-04-17
  • 打赏
  • 举报
回复
好像之前有人遇到过这个问题,据说是个Bug ,处理方法记不太清楚了

3,490

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧