oracle 11g RAC 修改时区步骤,要注意什么

oracle 11g RAC 修改时区步骤,要注意什么,第1张

看MOS文档 How To Change Timezone for 11gR2 Grid Infrastructure (文档 ID 1209444.1)

AIX改时区必须重启。

我是全部节点停止, stop crs,然后 disable crs 让crs不自动启动 , 然后改AIX的时区,重启,时区生效,改grid时区,然后start crs 。

要改$GRID_HOME/crs/install/s_crsconfig_<nodename>_env.txt。

改时区没有什么大问题,数据库本身并不依赖时区,建议看看 Timestamps &time zones - Frequently Asked Questions (文档 ID 340512.1)

吐槽一下,经常有人安装AIX的时候不注意选时区选择到 BST(Bering) 以为是BEIST(Beijing)。

time_zone session parameter

时区会话参数

ORACLE下,我们通过以下参数来进行时区设置:

1. an absolute offset--绝对偏移量

例: alter session set time_zone = '-05:00'

2. database time zone--数据库时区

例:alter session set time_zone = dbtimezone

这是数据库默认的时区

3. os local time zone-- *** 作系统本地时区

例:alter session set time_zone = local

获得系统本地时区

4. a named region--直接用名字指定时区

例:alter session set time_zone = 'america/new_york'

首先确认会话时区是否正确,会话时区可能和数据库时区不一致

SQL>SELECT SESSIONTIMEZONE FROM DUAL

SESSIONTIMEZONE

---------------------------------------------------------------------------

+08:00

会话时区是北京时区

SQL>SELECT DBTIMEZONE FROM DUAL

DBTIME

------

+00:00

DB是世界时区

SQL>SELECT TZ_OFFSET(SESSIONTIMEZONE), TZ_OFFSET(DBTIMEZONE) FROM DUAL

TZ_OFFS TZ_OFFS

------- -------

+08:00 +00:00

1.检查数据库是否有这样的字段类型 TIMESTAMP WITH LOCAL TIME ZONE

SQL>select c.owner || '.' || c.table_name || '(' || c.column_name || ') -'

|| c.data_type || ' ' col

from dba_tab_cols c, dba_objects o

where c.data_type like '%WITH LOCAL TIME ZONE'

and c.owner=o.owner

and c.table_name = o.object_name

and o.object_type = 'TABLE'

order by col

/

SQL>select u.name || '.' || o.name || '.' || c.name TSLTZcolumn

from sys.obj$ o, sys.col$ c, sys.user$ u

where c.type# = 231

and o.obj# = c.obj#

and u.user# = o.owner#

2.检查当前数据库时区

SQL>select * from database_properties where property_name='DBTIMEZONE'

行将被截断

PROPERTY_NAME PROPERTY_VALUE

------------------------------ -------------------------------------------------

DBTIMEZONE 00:00

3.改变数据库时区

SQL>ALTER DATABASE SET TIME_ZONE = '+8:00'

数据库已更改。

SQL>shutdown immediate

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL>startup

ORACLE 例程已经启动。

Total System Global Area 272629760 bytes

Fixed Size 1248528 bytes

Variable Size 92275440 bytes

Database Buffers 171966464 bytes

Redo Buffers7139328 bytes

数据库装载完毕。

数据库已经打开。

SQL>select dbtimezone from dual

DBTIME

------

+08:00

4.检查时间

SQL>select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') from dual

SQL>SELECT SYSTIMESTAMP FROM dual

SYSTIMESTAMP

---------------------------------------------------------------------------

23-7月 -09 11.50.25.750000 上午 +08:00


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6908483.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-30
下一篇 2023-03-30

发表评论

登录后才能评论

评论列表(0条)

保存