客户端连接服务器端后sysdate时间不正确的处理

本文介绍了如何解决某地级市社保数据库中系统时间与北京时间存在时差的问题,通过修改AIX系统的时区设置及数据库配置,确保系统时间和北京时间一致。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、环境信息介绍

业务类型:某地级市社保数据库

操作系统:aix 7.2

数据库版本: 11.2.0.4

数据库架构:Rac R2

数据文件存储:ASM

二、故障描述

开发人员使用sql developer连接数据库查询sysdate时间与北京时间出现几小时的时差,系统工程师只修改了系统时间和时区。

三、修改过程(只记录解决问题流程,省略输出结果)
1.修改服务器系统时间

#echo $TZ        (⚠️如果是当前北京时间,则不需要修改) 

#smitty system (进入修改时间界面)

2.修改数据库的时区

SQL>select dbtimezone from dual;

3.修改数据库的dbtimezone

SQL>alter database set time_zone='+08:00';

4.修改ASM的环境变量

#su - grid
$srvctl getenv asm             (⚠️如果是当前北京时间,则不需要修改)

$srvctl setenv asm -t 'TZ=Asia/Shanghai'

5.修改database的环境变量

#su - grid

$srvctl getenv database -d 哪个库           (⚠️如果是当前北京时间,则不需要修改)

$srvctl setenv database -d 哪个库 -t ‘TZ=Asia/Shanghai'

6.修改Grid的环境变量

#su - root

#vi $GRID_HOME/crs/install/s_crsconfig_hxbak1_env.txt


四、修改完重启cluster,集群的关闭开启顺序:


1.关闭数据库实例

#su - oracle                    (⚠️ 分别在每个节点上都要执行)

$sqlplus / as sysdba

SQL>shutdown immediate;

2.关闭集群

#su - root

#cd $GRID_HOME/bin

#./crsctl stop cluster -all  (⚠️必须用root用户,“-all”一个节点执行,没有“-all”每个节点分别执行)

3.开启集群

#su - root

#cd $GRID_HOME/bin

#./crsctl start cluster -all  (⚠️必须用root用户,“-all”一个节点执行,没有“-all”每个节点分别执行)







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值