Oracle current

mac2022-06-30  78

前段时间,发现一套新装载的Rac数据库所在操作系统时间不对,查询dbtimezone发现为-06:00,说明时区不对; select dbtimezone from dual; DBTIME --------- -06:00 OK,先将rac停掉,再在一段启动数据库,更改time_zone参数: alter database set time_zone='+08:00'; 更改参数后,将数据库shutdown,再将Rac数据库启动起来; 接着分别运行以下SQL,查看时间是否校准: select sysdate from dual; select current_date from dual; select current_timestamp from dual; host date select systimestamp from dual; 在sqlplus中发现时间一致,但是开发反应使用pl/sql查询的时候显示时间不一致。即 sysdate,systimestamp很current_date, current_timestamp的时间不一致。 都知道 sysdate,systimestamp取的是系统的时间,为什么sqlplus中查询的值是准确的值,而通过pl/sql连接查询的值就不是准确的? 为了定位是不是数据库的问题,在该操作系统上使用DBCA重新创建一个test DB,之后查看该test数据库,发现问题依旧,从此处可以大概估算下应该不是数据库的问题,是操作系统的问题。 在AIX操作系统下date看到操作系统时区为BEIST-8,由于是测试库,将操作系统时区改为CST(Asia/shanghai)之后,重启操作系统,使用pl/sql连接数据库,发现问题解决,所有时间均一致,且都在东八区。

转载于:https://www.cnblogs.com/seven-dba/p/4354883.html

最新回复(0)