Oracle11g 在两台机器上导入DBDUMP会产生不同的时间戳

Oracle11g 在两台机器上导入DBDUMP会产生不同的时间戳,oracle11g,timezone,Oracle11g,Timezone,我在两台机器上导入了相同的dbdump。当我执行sql时,我看到两个不同的值 select struct_doc_id, START_DATE, END_DATE from structured_doc where struct_doc_id = 1329 order by START_DATE; 机器1: 1329 31-03-11 09:00:00.000000000 PM 01-01-16 08:59:59.999000000 PM 1329 01-04-11 12:00:

我在两台机器上导入了相同的dbdump。当我执行sql时,我看到两个不同的值

select struct_doc_id, START_DATE, END_DATE from structured_doc where struct_doc_id = 1329 order by START_DATE;
机器1:

1329    31-03-11 09:00:00.000000000 PM  01-01-16 08:59:59.999000000 PM
1329    01-04-11 12:00:00.000000000 AM  31-12-15 11:59:59.999000000 PM
机器2:

1329    01-04-11 12:00:00.000000000 AM  31-12-15 11:59:59.999000000 PM
1329    01-04-11 12:00:00.000000000 AM  31-12-15 11:59:59.999000000 PM
-07:00  Asia/Calcutta   09-02-16 05:23:20.703408000 AM -05:00   09-02-16 03:53:20.703418000 PM ASIA/CALCUTTA
此外,我还执行了sql:

select dbtimezone, sessiontimezone, systimestamp, current_timestamp 
from dual;
两台机器上的结果如下:

机器1:

-07:00  Asia/Calcutta   09-02-16 02:15:55.422190000 AM -08:00   09-02-16 03:45:55.422204000 PM ASIA/CALCUTTA
机器2:

1329    01-04-11 12:00:00.000000000 AM  31-12-15 11:59:59.999000000 PM
1329    01-04-11 12:00:00.000000000 AM  31-12-15 11:59:59.999000000 PM
-07:00  Asia/Calcutta   09-02-16 05:23:20.703408000 AM -05:00   09-02-16 03:53:20.703418000 PM ASIA/CALCUTTA
注意:我有两个数据库在两台不同的机器上运行


有谁能告诉我运行first sql时出现值差异的可能原因吗?

正如我所见,这可能是其中一个原因: 检查列结构化文档的数据类型是否为: “时间戳”或“带本地时区的时间戳”、“带时区的时间戳”

Oracle将根据客户端会话的属性自动调整提供的日期。 我猜您是在一个数据库中远程执行导入,而在另一个数据库中本地执行导入


最诚挚的问候

感谢您的指导。根据get_ddl:“开始日期”时间戳(3),“结束日期”时间戳(3)。此外,我正在数据库和数据库中本地运行import。因为这只是时间戳,oracle不应该在内部调整日期。是的,Swaraj不应该,在机器2中,我看到同一行被复制,我们确定这不是我们面临的完整性问题吗?在运行impdp实用程序时,oracle根据表的复杂性动态选择直接/约定插入(因此忽略或尊重约束)。如果您使用的是Sql Loader,那么您使用的是同一个控制_文件吗?为了更确定,请验证两个控制_文件中“direct”参数的值。表中几乎没有其他列。我把它们伪装起来,使事情更简单。我将检查控制文件并更新。再次感谢您的关注。如果您在sqlLoader的两个控制_文件中发现相同的值,请告诉我