同时在两台数据库下对同样的表和表数据以及同样的命令进行 expdp备份,在通过impdp导入。发现有一台数据库导出导入是按照表名的英文字母顺序来导入,导致某张表出现 ORA-02291 : parent key not found 。观察导入导出日志后发现正常执行的数据库不是按照表名顺序导入导出。请问造成这种导入导出顺序的差异的原因是什么,是否跟安装数据库的配置项有关
首先,Oracle数据库在执行 impdp/expdp 命令导入导出表时,默认情况下是按照对象名的字母顺序进行操作的。而且,这个顺序是相对固定的,一般不会受到其他配置项的影响。
造成这种导入导出顺序差异的原因可能是因为两台数据库之间有不同的字符集或语言设置。如果其中一台数据库的字符集与另一台不同,可能会影响字母排序的方式。另外,数据库版本和操作系统版本也可能会影响这种排序方式。如果两台数据库的版本或操作系统版本不同,则可能会导致导入导出顺序差异的情况发生。
因此,为了避免这种问题,建议在执行 impdp/expdp 命令之前,先确认两台数据库之间的字符集、语言设置、版本号和操作系统等参数是否一致。如果有不一致的情况,可以尝试进行相应的调整或转换,以确保导入导出操作的准确性和稳定性。