一、环境信息介绍
业务类型:某地级市社保数据库
操作系统: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的环境变量
四、修改完重启cluster,集群的关闭开启顺序:#su - root
#vi $GRID_HOME/crs/install/s_crsconfig_hxbak1_env.txt
1.关闭数据库实例
#su - oracle (⚠️ 分别在每个节点上都要执行)
$sqlplus / as sysdba
SQL>shutdown immediate;
2.关闭集群
3.开启集群#su - root
#cd $GRID_HOME/bin
#./crsctl stop cluster -all (⚠️必须用root用户,“-all”一个节点执行,没有“-all”每个节点分别执行)
#su - root
#cd $GRID_HOME/bin
#./crsctl start cluster -all (⚠️必须用root用户,“-all”一个节点执行,没有“-all”每个节点分别执行)