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

标签 database oracle timezone database-server

我必须更改特定数据库 (SID) 的时区。我有数据库服务器的地方配置并安装了多个数据库(SID)。 当我连接特定 SID 并在查询下面运行时:

alter database set time_zone='-05:00'

我得到以下错误:

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

但是当我运行的时候 改变数据库设置 time_zone = 'EST'; 查询也没有报错但是

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

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

最佳答案

我已经完成了以下对我有用的步骤:

$ 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 编辑器中打开文件) 在文件末尾添加了以下条目:

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"]]; then 此行对于选择特定数据库至关重要。

然后运行以下命令并测试并重启数据库:

$。 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

--运行以下命令重启数据库:

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

它对我有用,我可以为我正在寻找的不同数据库设置不同的时区。希望对其他人有帮助。

关于database - 如何更改特定于一个 SID 的 Oracle 数据库中的时区,系统配置了许多 DB SID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33737008/

相关文章:

sql - PLSQL 需要匹配嵌套记录

sql - 如何在 sql 中使用子查询创建约束?

javascript - 根据用户时区获取白天时间

c# - 按州/省和国家/地区获取时区?

sql-server - 如何创建唯一的用户 key

php - 图书馆数据库

java ThreadPoolExecutor 默认值

PHP - 将 12 小时格式时间转换为新时区时出现错误

mysql - 获取mysql命令的返回码

mysql - 这 2 个 JOIN 有什么区别?