签到成功

知道了

CNDBA社区CNDBA社区

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

2017-09-03 21:03 2980 0 原创 Oracle 12c
作者: leo

1 概念 http://www.cndba.cn/cndba/leo1990/article/2208

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。

http://www.cndba.cn/cndba/leo1990/article/2208

http://www.cndba.cn/cndba/leo1990/article/2208

2 实验 

http://www.cndba.cn/cndba/leo1990/article/2208

http://www.cndba.cn/cndba/leo1990/article/2208
http://www.cndba.cn/cndba/leo1990/article/2208http://www.cndba.cn/cndba/leo1990/article/2208

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

http://www.cndba.cn/cndba/leo1990/article/2208
http://www.cndba.cn/cndba/leo1990/article/2208

3 参考文档http://www.cndba.cn/cndba/leo1990/article/2208

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
leo

leo

关注

坚持你的坚持

  • 202
    原创
  • 0
    翻译
  • 39
    转载
  • 16
    评论
  • 访问:765300次
  • 积分:1270
  • 等级:核心会员
  • 排名:第8名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ