Oracle 12c入门第一讲: Oracle 12c基本体系结构(1)
摘要: DataBi独家发布Oracle 12C 入门系列 Oracle 12c基本结构简介 ,将容器数据库和传统的非容器数据库放在同一个server上比对,很容易概括出Oracle公司即将推出的Oracle 12c容器数据库和可插拔式数据库的基本架构。 ... ...
DataBi 独家发布Oracle 12c 入门系列第一讲: Oracle 12c基本结构简介
将容器数据库和传统的非容器数据库放在同一个server上比对,很容易概括出Oracle公司即将推出的Oracle 12c容器数据库和可插拔式数据库的基本架构。
从文件角度:
在图示存储设备上保存着5个数据库的文件:分别是PDBA、PDBB、PDBC、CDB1和NDB。其中PDBA、PDBB、PDBC均属于容器数据库CDB1的可插拔式数据库,NDB则为传统的非容器数据库。所以也可以这样描述:只有两个数据库CDB1和NDB保存在存储设备上。
从实例角度:
在图示服务器节点上,运行着两个实例:分别是icdb1和i1,对应的数据库分别是CDB1和NDB。可以清楚地看到只有容器数据库和非容器数据库才有对应的实例,可插拔式数据库PDBA、PDBB和PDBC共用容器数据库的实例—icdb1,并没有自身对应的实例。
从服务角度:
传统的非容器数据库可以通过实例名或服务名链接,但是可插拔式数据库只能通过服务名链接。至于容器数据库,就像一个非容器数据库一样,同样可以通过实例名或服务名链接。
这些基本概念是深入理解容器数据库的基础。
Oracle 12c入门第二讲: Oracle 12c体系结构 (2)
摘要: 在一个Oracle database 12c server上通过容器数据库集中三个应用的数据。其数据分别被部署到三个可插拔式数据库中.
在一个database server上通过容器数据库集中三个应用的数据。其数据分别被部署到三个可插拔式数据库中,名为App1、App2和App3:
图片上展示的是一个容器数据库,其内包含4个容器:Root容器和三个可插拔式数据库。每个可插拔式数据库为特定应用提供数据,它们既可以被三个不同的DBA管理也能够由一个容器数据库DBA统一管理,即用户SYS。
用户SYS在这种架构中是典型的“通用”用户,SYS可以登录在全部4个容器上,并且具备SYSDBA权限。
可插拔式数据库的一种定义是:一系列Schema的集合,从用户和应用看来是一个逻辑上独立的数据库。但是在物理角度上,实例和所有数据库文件都是属于容器数据库的。
通过将非容器数据库作为可插拔式数据库“插入”容器数据库,很容易实现数据集中。容器数据库避免了以下结构不必要的冗余:
a. 后台进程
b. 内存
c. 数据字典内的元数据
在一个容器数据库内的可插拔式数据库共享后台进程、SGA和数据字典。同时,可插拔式数据库也拥有各自独立的数据字典以及各自独立的用户(应用)数据,参考图示App1、App2和App3具备各自的数据文件,其内数据可想而知。
Oracle 12c入门第三讲: Oracle 12c基本体系结构 (3)
摘要: 在Oracle 12c里,容器的目的是将Oracle固有元数据和用户数据(包括用户元数据)隔离,和分区非常类似,每个容器里都包含一个SYSTEM表空间保存数据字典信息: 1. 在Root容器中的SYSTEM数据字典里只保存Oracle固有元数 ...
在Oracle 12c里,容器的目的是将Oracle固有元数据和用户数据(包括用户元数据)隔离。
和分区非常类似,每个容器里都包含一个SYSTEM表空间保存数据字典信息:
1. 在Root容器中的SYSTEM数据字典里只保存Oracle固有元数据(只针对Oracle提供的对象,比如DBMS_%的包等等)。
2. 在每个可插拔式数据库(容器)中的SYSTEM数据字典只保存用户在可插拔式数据库创建的对象的元数据。
如图所示,EMP和DEPT表的数据字典信息只保存在可插拔式数据库的OBJ$和TAB$里,Root容器中的OBJ$和TAB$里并没有EMP和DEPT表的相关信息。
其实,不管一个容器数据库里有多少个可插拔式数据库,物理上的数据库只有一个,但是它的SYSTEM表空间确有许多个,数量等于可插拔式数据库的数量加一(Root容器的SYSTEM表空间)。
但是必须注意如果可插拔式数据库的SYSTEM表空间的数据文件损坏,那么从整体上讲整个数据库(容器库和可插拔式库)的SYSTEM表空间是损坏的,数据库必须SHUTDOWN到MOUNT模式进行恢复,也就是说可插拔式数据库SYSTEM表空间的可用性会影响到容器数
据库甚至是其他可插拔式数据库的可用性。至少在beta测试时这样的结果。
oracle 12c Database Architecture (CDB、PDB)
In Oracle Database Server 12C, there is an architectural separation (Split Data Dictionary) between Core Oracle System with User Applications they are loosely coupled. Pluggable
Database Architecture consists of
1) Container Database (CDB)
2) Pluggable Database (PDB)
1) Container Database (CDB) : Holds Oracle System dictionary , functionality and metadata required to run the database. Memory and Process required for multiple PDB will be
handled by a single CDB.
2) Pluggable Database (PDB) : This holds only user application metadata or customer metadata or dictionary. This has read only permission on oracle dictionary. In cloud each
Pluggable Database is analogous to single Customer. There is clean separation between each pluggable database.
[oracle@db231 ~]$ ls
adr_purge login.sql v ora12cenv.sh show_segment_above_size.sql
backup datapump ora10genv.sh ora11genv.sh printtab.sql upgrade_info.log
[oracle@db231 ~]$source ora12cenv.sh
[oracle@db231 ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.1.0 Production on Fri Jun 28 10:53:33 2013
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
sys@ORA12C>show con_name
CON_NAME
------------------------------
CDB$ROOT
sys@ORA12C>select dbid,db_unique_name,name,cdb,con_id,con_dbid from v$database;
DBID DB_UNIQUE_NAME NAME CDB CON_ID CON_DBID
-------------------- ------------------------------ --------- --- -------------------- --------------------
197013683 ora12c ORA12C YES 0 197013683
sys@ORA12C>select con_id,dbid,con_uid,name,open_mode from v$pdbs;
CON_ID DBID CON_UID NAME OPEN_MODE
-------------------- -------------------- -------------------- ------------------------------ ----------
2 4061817652 4061817652 PDB$SEED READ ONLY
3 3326953675 3326953675 PDB1 READ WRITE
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论