最近因为工作原因,需要搭建一套环境,搭环境时需要【导入测试同事的数据库】,然后我就踩坑了......
踩坑的具体原因:导入测试同事的dmp文件后,发现缺表了......
这个就比较坑爹了,因为【表】是数据库中的基本单元,缺表就意味着会产生一系列的连带反应,
比如:依赖这张表的视图、函数、存储过程等等数据库对象都会因为没有这张表而无法建立,也就导致【我要搭的环境压根起不来】
一个可行但不智慧的办法是:手动补表
但细细一想是不可行的,走这条路的结果只会在【无尽的自我怀疑中迷失】,果断放弃(之前我有干过这种事情)
于是,我决定寻找问题的根源,
翻尽全网问答和博客后,我得出了一下的结论:
【导入时缺表】是因为【导出时这些表就没有被写入到dmp文件中】
那为什么这些表无法被写入到dmp文件?
原因:因为这些表的【
segment】值是NO
啥是【
segment】?
Oracle 11g 新增了一个【数据库参数】——【
deferred_segment_creation】