无法识别Oracle数据库的正确时区

时间:2016-04-29 07:03:11

标签: sql oracle oracle11g oracle-sqldeveloper

我正在尝试获取Oracle 11g数据库的时区。我运行以下查询:

select dbtimezone from dual;

DBTIMEZONE
-------------------
+00:00

然后我尝试了以下查询并检查了数据库的属性以查看时区:

select property_name, property_value from database_properties; 

Property_Name | PROPERTY_VALUE
--------------------------------------------- ------
DBTIMEZONE .... 00:00

现在我想更改数据库的时区。为此我运行以下查询:

alter database set time_zone='-06:00';

数据库设置TIME_ZONE =' -06:00'改变。

现在,当我试图通过查询获取时区时:

select dbtimezone from dual;

DBTIMEZONE
-------------
00:00

它并没有反映出这里的变化。

但是当我在数据库的属性中检查时区时,我得到了改变的那个:

select property_name, property_value, description from database_properties;

Property_Name | Property_Value
---------------------------------------------
DBTIMEZONE .....- 06:00

那么为什么Dual表没有显示改变的时区?

1 个答案:

答案 0 :(得分:0)

请参阅the docs(搜索<?php error_reporting(E_ALL); ob_implicit_flush(); $address = "192.168.2.11"; $service_port = 25639; $socket = socket_create(AF_INET, SOCK_STREAM, 0); if($socket === false) { die("Error: " . socket_strerror(socket_last_error())."\n"); } echo "Connecting to {$address}:{$service_port}...\n"; $result = socket_connect($socket, $address, $service_port); if($result === false) { die("Error: ".socket_strerror(socket_last_error($socket))."\n"); } echo socket_read($socket, 512); ?> ):socket_create修改仅在重新启动数据库后生效。

  

使用此子句设置或更改时区后,必须重新启动数据库才能使新时区生效。

演示:

set_time_zone_clause