Oracle 12c 新特性 --- PDBs 可以设置不同的time zone

1 概念

This feature enables pluggable databases (PDB) in a consolidated database (CDB) to have different character sets, time zone file versions, and database time zones.
这个特性使可插入数据库(PDB)在一个统一的数据库(CDB)中具有不同的字符集、时区文件版本和数据库时区。

CDB enables multiple departmental databases to be consolidated into one consolidated database with each of these databases as pluggable databases (PDBs). This feature enables the consolidation of databases that have different character sets, time zone file versions, and database time zones into a CDB.

CDB允许将多个部门数据库合并成一个统一的数据库,其中每个数据库都是可插入数据库(PDBs)。该特性使具有不同字符集、时区文件版本和数据库时区的数据库合并成一个CDB。

 

2 实验

Oracle允许您使用一个时区名称指定数据库时区,在V$TIMEZONE_NAMES视图中列出,或者使用UTC偏移量( +/-hh:MI)。出于性能原因,Oracle建议将数据库时区设置为UTC(0:00),因为不需要转换时区。
多租户体系结构允许您为每个可插入数据库指定一个不同的数据库时区,并使用容器数据库的时区作为默认值。
在容器数据库级别设置时区与为非cdb实例设置时区相同。CDB设置是所有可插入数据库的默认值。
2.1 检查容器数据库的当前时区。
[leo@www.cndba.cn ~]$ sqlplus "/as sysdba"

SQL*Plus: Release 12.2.0.1.0 Production on Thu Aug 10 12:59:33 2017

Copyright (c) 1982, 2016, Oracle.  All rights reserved.


Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL> SELECT dbtimezone FROM DUAL;

DBTIME
------
+00:00
2.2 使用ALTER DATABASE命令重置时区,以指定新的TIME_ZONE值。需要重新启动数据库以使其生效。
SQL> ALTER DATABASE SET TIME_ZONE='Europe/London';

Database altered.

SQL> SHUTDOWN IMMEDIATE;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> STARTUP;
ORACLE instance started.

Total System Global Area 1593835520 bytes
Fixed Size		    8793256 bytes
Variable Size		 1023411032 bytes
Database Buffers	  553648128 bytes
Redo Buffers		    7983104 bytes
Database mounted.
Database opened.
2.3 我们可以看到数据库时区已经改变。
SQL> conn /as sysdba
Connected.
SQL> SELECT dbtimezone FROM DUAL;

DBTIMEZONE
-------------
Europe/London
2.4 在可插入数据库中设置时区允许它覆盖CDB设置。
检查可插入数据库的当前时区。
SQL> ALTER SESSION SET CONTAINER = pdbcndba;

Session altered.

SQL> SELECT dbtimezone FROM DUAL;

DBTIME
------
+00:00
2.5 使用ALTER DATABASE命令重置时区,以指定新的TIME_ZONE值。可插入数据库需要重新启动才能生效。
SQL> ALTER DATABASE SET TIME_ZONE='US/Eastern';

Database altered.

SQL> SHUTDOWN IMMEDIATE;
Pluggable Database closed.
SQL> STARTUP;
Pluggable Database opened.
2.6 我们可以看到,可插入的数据库时区与容器数据库不同。
SQL> conn /as sysdba
Connected.
SQL> SELECT dbtimezone FROM DUAL;

DBTIMEZONE
-------------
Europe/London

SQL> ALTER SESSION SET CONTAINER = pdbcndba;

Session altered.

SQL> SELECT dbtimezone FROM DUAL;

DBTIMEZONE
----------
US/Eastern

3 参考文档

http://docs.oracle.com/database/122/NEWFT/new-features.htm#NEWFT-GUID-098A3D85-03B0-44EF-845F-DAC668AC438C

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值