如何更改特定于一个SID的Oracle数据库中的时区,该系统具有许多配置了DB SID的系统

时间:2015-11-16 13:51:14

标签: database oracle timezone database-server

我必须更改特定数据库(SID)的时区。我在哪里DB Server有多个数据库(SID)已配置和安装。 当我连接特定SID并运行在查询:

下面
alter database set time_zone='-05:00'

我得到以下错误:

ERROR at line 1:
ORA-02231: missing or invalid option to ALTER DATABASE

但是当我跑步的时候 alter database set time_zone = 'EST'; 查询也没有给出错误但是

注意:我在同一个数据库服务器中配置了多个数据库我需要将时区更改为一个数据库(SID)。我无法全局更改系统(OS)级别和数据库服务器级别。

我无法改变时区,任何人都可以提供帮助。

1 个答案:

答案 0 :(得分:1)

我已经完成了以下为我工作的步骤:

$ ps -ef|grep pmon

这将显示如下列表:

ORADEV    7554     1  0 Oct28 ?        00:00:03 ora_pmon_MDEV230
ORADEV   20649 32630  0 03:39 pts/9    00:00:00 grep pmon
ORADEV   23386     1  0 Nov12 ?        00:00:00 ora_pmon_MQA230POC

我在oraenv文件中添加了以下条目:

$ vi oraenv(它将在Vi Editor中打开文件) 在文件末尾添加了以下条目:

if [[ ${ORACLE_SID} = "MQA230POC" ]]; then
   TZ=EST+05EDT
   export TZ
   echo "Time Zone set to EST"
else
  TZ=PST+08EDT
   export TZ
   echo "Time Zone set to PST"
fi

if [[ ${ORACLE_SID} = "MQA230POC" ]];那么这一行对于选择特定数据库至关重要。

运行以下命令并测试并重新启动数据库:

$。 oraenv的 ORACLE_SID = [MQA230POC]? ORACLE_HOME = / orasw / database12c / product / 12.1.0.2 / dbhome_1的Oracle基础是/ orasw / database12c 时区设置为EST

$ sqlplus sys as sysdba
Enter password:XXXXX ( provide password) 

It will give message as below : 
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

- 运行以下命令以重启DB:

SQL> shut immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup;
ORACLE instance started.

它对我有用我能够为我想要的不同数据库设置不同的时区。希望它能帮助别人。