Heim > Datenbank > MySQL-Tutorial > Oracle 12C 数据库管理 小结

Oracle 12C 数据库管理 小结

WBOY
Freigeben: 2016-06-07 16:46:02
Original
865 Leute haben es durchsucht

Oracle 12C引入了CDB与PDB的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(

Oracle 12c 数据库管理 总结

新安了个12c的rac 环境,进去创建用户和表才发现,12c对数据库管理做了一些变更,再网上搜了一些文章,总结一下,方便以后使用。

Oracle 12C引入了CDB与PDB的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。CDB全称为Container Database,中文翻译为数据库容器,PDB全称为Pluggable Database,即可插拔数据库。在ORACLE 12C之前,实例与数据库是一对一或多对一关系(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库不可能是一对多的关系。当进入ORACLE 12C后,实例与数据库可以是一对多的关系。下面是官方文档关于CDB与PDB的关系图。

其实大家如果对sql server比较熟悉的话,这种CDB与PDB是不是感觉和SQL SERVER的单实例多数据库架构是一回事呢。像PDB$SEED可以看成是master、msdb等系统数据库,PDBS可以看成用户创建的数据库。而可插拔的概念与SQL SERVER中的用户数据库的分离、附加其实就是那么一回事。看来ORACLE也“抄袭”了一把SQL SERVER的概念,只是改头换面的包装了一番。

Oracle 单实例 从32位 迁移到 64位 方法 

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2

Oracle RAC 11.2(12C)正确关闭顺序 

CDB组件(Components of a CDB)

一个CDB数据库容器包含了下面一些组件:

ROOT组件

ROOT又叫CDB$ROOT, 存储着ORACLE提供的元数据和Common User,元数据的一个例子是ORACLE提供的PL/SQL包的源代码,,Common User 是指在每个容器中都存在的用户。

SEED组件

  Seed又叫PDB$SEED,这个是你创建PDBS数据库的模板,你不能在Seed中添加或修改一个对象。一个CDB中有且只能有一个Seed. 这个感念,个人感觉非常类似SQL SERVER中的model数据库。

PDBS

    CDB中可以有一个或多个PDBS,PDBS向后兼容,可以像以前在数据库中那样操作 PDBS,这里指大多数常规操作。

这些组件中的每一个都可以被称为一个容器。因此,ROOT(根)是一个容器,Seed(种子)是一个容器,每个PDB是一个容器。每个容器在CDB中都有一个独一无二的的ID和名称。

1)连接到CDB数据库

连接到CDB数据库容器非常简单,跟以前连接数据库是一样的

[oracle@get-orasvr02 ~]$ sqlplus / as sysdba
 SQL*Plus: Release 12.1.0.1.0 Production on Sun Oct 20 23:41:36 2013Copyright (c) 1982, 2013, Oracle. 
 All rights reserved.Connected to an idle instance.
 SQL>
 [oracle@getorasvr02 ~]$ sqlplus sys/password  as sysdba
 SQL*Plus: Release 12.1.0.1.0 Production on Sun Oct 20 23:43:17 2013Copyright (c) 1982, 2013, Oracle.
  All rights reserved.Connected to an idle instance.
 SQL>

2)查看数据库是否为CDB

SQL> select name, decode(cdb, 'YES', 'Multitenant Option enabled', 'Regular 12c Database: ') "Multitenant Option" , open_mode, con_id from v$database;
 NAME      Multitenant Option                  OPEN_MODE                CON_ID
 --------- -----------------------------  --------------------        ----------
Epps      Multitenant Option enabled            READ WRITE                  0

YES表示该数据库是CDB,如果是NO表示是NO-CDB(普通数据库)

3)查看当前容器(Container)

3.1

SQL> show con_name
 CON_NAME
 ------------------------------
 CDB$ROOT
 SQL> select sys_context('userenv', 'con_name') "Container DB" from dual;
 Container DB
 ----------------------------------------------------
 CDB$ROOT
 SQL>

4)查看CDB容器中的PDBS信息

查看CDB中有多少个pluggable database

SQL>  select con_id, dbid, guid, name , open_mode from v$pdbs;   
 CON_ID      DBID GUID                            NAME                          OPEN_MODE
 ---------- ---------- -------------------------------- ------------------------------ ---------       
2 4071321146 E89E8DA2866E3157E043DE07A8C09238 PDB$SEED        READ ONLY      3 1930201447 E89E9418B882350CE043DE07A8C092B6 PDBEPPS          MOUNTED
 SQL>

5)启动PDB数据库

方式1:

SQL> alter pluggable database PDBEPPS open;
 Pluggable database altered.
 SQL> select con_id, dbid, guid, name , open_mode from v$pdbs;   
 CON_ID      DBID GUID                            NAME                          OPEN_MODE
 ---------- ---------- -------------------------------- ------------------------------ ----------       
2 4071321146 E89E8DA2866E3157E043DE07A8C09238 PDB$SEED  READ ONLY        3 1930201447 E89E9418B882350CE043DE07A8C092B6 PDBEPPS        READ WRITE

方式2:

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage