inset插入时间不一致问题记录
今天业务反应有一个表intime、senddate两个字段的设置是取默认值sysdate。
但是我们在plsql中插入一条记录(这两个字段为空不填数值),系统中生成的默认时间是sysdate +10分钟。

插入测试数据后时间的确+10分钟
使用dbms_metadata.get_ddl 查看该表创建语句发现该表为同义词并且使用DB_LINK连接到另一个库
在查看两主机时间,发现的确有时差
oracle@nadian:/home/oracle> date
Thu May 28 16:55:07 EAT 2020
oracle@nadian1:/home/oracle> date
Thu May 28 17:04:13 CST 2020
使用DB_LINK和本地时间对比,结果是一致的
select sysdate from dual union all select sysdate from dual@nadian_A1.nadian.MOBILE.COM
2020/5/28 16:56:12
2020/5/28 16:56:12
-----nadian
SQL> select sysdate from dual;
SYSDATE
-----------------
20200528 17:00:48
SQL> select sysdate from dual@nadian_A1.nadian.MOBILE.COM;
SYSDATE
-----------------
20200528 17:00:50
------nadian1
SQL> SQL> select sysdate from dual;
SYSDATE
-----------------
20200528 17:10:14
如下实验可以证明
创建表
SQL> CREATE TABLE "DBMT"."SMNOTIFY_TEST"
2 ( "REGION" NUMBER(4,0) NOT NULL,
3 "INTIME" DATE DEFAULT sysdate NOT NULL ,
4 "SENDDATE" DATE DEFAULT sysdate
5 );
Table created.
远端库创建该表同义词,并插入测试数据
SQL> CREATE OR REPLACE SYNONYM "DBMT"."SH_SMNOTIFY_TEST" FOR "DBMT"."SMNOTIFY_TEST"@"LNK_SMS_A1.HEBEI.MOBILE.COM";
Synonym created.
SQL> SQL> insert into DBMT.SH_SMNOTIFY_TEST(region) values(311);
1 row created.
查看时间确实为源表段的系统时间,问题一目了然
SQL> select * from DBMT.SH_SMNOTIFY_TEST;
REGION INTIME SENDDATE
---------- ----------------- -----------------
311 20200528 17:09:36 20200528 17:09:36
解决方案:肯定是得修改系统时间的
该RAC共有4个节点,其中问题节点1时间快了10分钟
风险:
1.如果直接将1节点系统时间往回调10分钟,首先oracle不推荐在数据库和集群启动的时候大幅度调整时间,特别是往后调,一些进程会通过系统时间判断无响应然后就.....节点驱逐
2.业务部分使用时间的应用可能会受影响,比如短信发送时间,发送成功时间,时间回调可能导致发送成功时间小于短信发送时间.
建议:
1.建议NTP 增加 -x 微调 慢调
2.停库和CRS , os 调大跨度的时间
<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">
流年笑掷 未来可期
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)