事因:
征信数据库数据事件不一致导致数据(RAC集群)混乱,PLSQL查询时间和数据库时间不一致,严重影响业务。因为之前只是偶遇一次,再加上有过MySQL时区解决经验,感觉应该可以很快解决,然而,并非我想的那么简单。如下是整个事件的经过,算是经验分享吧。(有vsp,因此只能截图)
1、查看两台服务器的本地时间,以及时区。
wKiom1mu3hWz5dy-AAO7cm2NUp0479.png-wh_50
wKioL1mu3PqxmoPwAAIOrHhFk9M872.png-wh_50
可以看到,Asia/Shanghai CST 北京时间东八区。(GMT代表格林尼治标准时间)
2、用sysdba查看本地时间:
wKioL1mu4TmStFH9AAXwZGuwLqE143.png-wh_50
wKiom1mu4ZOhxRcSAAXi94utqMs970.png-wh_50
AM表示上午,PM表示下午。没有什么异常。
2.1)用其它普通账号登录
wKioL1mu5ErwYlBeAAWolW9y4KM753.png-wh_50
wKiom1mu5GrjMCJQAAWJu--hurE006.png-wh_50
2.2)用PLSQL登录普通账号远程登录查看
wKiom1mu5gnAIZTOAA06s9fhnn8566.png-wh_50
注意查看箭头:变成了-8:00,时间慢了16小时。GMT-8,但是datatimezone没问题。
提示:SYSDATE和SYSTIMESTAMP的值并不受数据库参数DBTIMEZONE的影响,操作系统时区的环境变量(如TZ)会影响它们的输入,因