ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 基础:修改数据库时区

基础:修改数据库时区

原创 Linux操作系统 作者:cargoo 时间:2011-09-16 10:52:03 0 删除 编辑
由于建库时,操作系统时区没有修改为本地时区,导致在数据库主机上和通过客户端连接看到的时间不一致。

1、检查数据库时区设置

select property_value from database_properties where property_name='DBTIMEZONE';   返回值’-05:00'

2、修改数据库时区设置

alter database set TIME_ZONE='+08:00';

3、重启数据库

注意:如果是RAC数据库,不要用crsctl restart cluster -all命令去重启数据库,这样的话,客户端连接上去还是显示错误的时区。

案例:
    S = AIX 6.1 TL06
    racle = 11.2.0.2 Gird Infrastructure and Database with RAC
    原先的OS时区:CST6CDT
    修改后的OS时区:BEIST-8(此时Grid和Database软件以及数据库都已安装完毕)

如果是RAC数据库的话,需要修改GRID用户的环境变量。根据Oracle官方文档,修改$GRID_HOME/crs/install/s_crsconfig_syddb1_env.txt中“TZ”参数值,从我的实验结果看并无效果。整理思路后:认为当使用crsctl命令启动数据库时,调用的TZ环境变量并不是该文件中设置的参数值,而是另有出处(尚未找到是那个文件)。当发现srvctl命令可以设置数据库的环境变量后,决定通过该命令修改数据库的TZ环境变量。

grid$ srvctl getenv database -d syddb
grid$ srvctl setenv database -d syddb -t "TZ=BEIST-8"

注:BEIST-8是AIX操作系统修改后的时区

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/5359/viewspace-707664/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-02-10

  • 博文量
    105
  • 访问量
    216711