我正在尝试获取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表没有显示改变的时区?
答案 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