在 2 台计算机上导入 DBDUMP 会给出不同的时间戳



我在 2 台机器上导入了相同的数据库转储。当我执行 sql 时,我看到 2 个不同的值。

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

另外,我执行了 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:

-07:00  Asia/Calcutta   09-02-16 05:23:20.703408000 AM -05:00   09-02-16 03:53:20.703418000 PM ASIA/CALCUTTA

注意:我在 2 台不同的机器上运行了 2 个数据库。

谁能告诉我运行第一个sql时值差异的可能原因是什么?

正如我所看到的,这可能是其中一个原因: 检查列的数据类型structured_doc是:"时间戳"或"具有本地时区的时间戳","具有时区的时间戳"。

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

此致敬意

相关内容

  • 没有找到相关文章

最新更新