一、CDB和PDB基本管理

基本概念:

Multitenant Environment:多租户环境

CDB(Container Database):数据库容器

PD(Pluggable Database):可插拔数据库

二、创建

2.1创建CDB

PDB包含在CDB中,所以,要创建PDB,必须先创建CDB。一台机器上可以有多个CDB。Oracle软件安装完成后,就可以创建CDB

启动DBCA  (C:\app\oracle\product\12.1.0\dbhome_1\BIN\dbca.bat)

2.2创建PDB

C:\app\oracle\product\12.1.0\dbhome_1\BIN\dbca.bat

三、连接

3.1连接CDB

Sqlplus默认连接CDB

sqlplus sys/oracle as sysdba

3.2连接PDB

pdb可以通过在CDB中alter session container

alter session set container=pdb1

也可以直接通过tns方式(如下)登录

sqlplus sys/oracle@pdb1 as sysdba

其中tnsnames.ora添加

PDB1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = pdb1)
)
)

四、启动与关闭

4.1启动关闭CDB

SQL> show con_name

CON_NAME

------------------------------

CDB$ROOT

SQL> shutdown immediate

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> startup

ORACLE 例程已经启动。

Total System Global Area 5044088832 bytes

Fixed Size 2413072 bytes

Variable Size 1040190960 bytes

Database Buffers 3992977408 bytes

Redo Buffers 8507392 bytes

数据库装载完毕。

数据库已经打开。

SQL> select con_id,dbid,NAME,OPEN_MODE from v$pdbs;

CON_ID DBID NAME OPEN_MODE

---------- ---------- ------------------------------ ----------

2 4122484437 PDB$SEED READ ONLY

3 3387525155 PDB1 MOUNTED

4 3946119498 PDB2 MOUNTED

SQL>

从上面的操作中可以看到数据库启动的时候所有的PDBs的状态为MOUNTED

4.2启动关闭PDB

pdb的管理可以在cdb中进行也可以在pdb中进行,如果是cdb中进行,需要PLUGGABLE关键字,如果是在pdb中直接和普通数据库一样

SQL> show con_name

CON_NAME
------------------------------
CDB$ROOT
SQL> select con_id,dbid,NAME,OPEN_MODE from v$pdbs; CON_ID DBID NAME OPEN_MODE
---------- ---------- ------------------------------ ----------
2 4122484437 PDB$SEED READ ONLY
3 3387525155 PDB1 MOUNTED
4 3946119498 PDB2 MOUNTED SQL> alter pluggable database pdb1 open; 插接式数据库已变更。 SQL> select con_id,dbid,NAME,OPEN_MODE from v$pdbs; CON_ID DBID NAME OPEN_MODE
---------- ---------- ------------------------------ ----------
2 4122484437 PDB$SEED READ ONLY
3 3387525155 PDB1 READ WRITE
4 3946119498 PDB2 MOUNTED SQL> alter pluggable database pdb2 open; 插接式数据库已变更。 SQL> select con_id,dbid,NAME,OPEN_MODE from v$pdbs; CON_ID DBID NAME OPEN_MODE
---------- ---------- ------------------------------ ----------
2 4122484437 PDB$SEED READ ONLY
3 3387525155 PDB1 READ WRITE
4 3946119498 PDB2 READ WRITE SQL> alter pluggable database pdb1 close; 插接式数据库已变更。 SQL> select con_id,dbid,NAME,OPEN_MODE from v$pdbs; CON_ID DBID NAME OPEN_MODE
---------- ---------- ------------------------------ ----------
2 4122484437 PDB$SEED READ ONLY
3 3387525155 PDB1 MOUNTED
4 3946119498 PDB2 READ WRITE SQL> alter pluggable database pdb2 close; 插接式数据库已变更。 SQL> select con_id,dbid,NAME,OPEN_MODE from v$pdbs; CON_ID DBID NAME OPEN_MODE
---------- ---------- ------------------------------ ----------
2 4122484437 PDB$SEED READ ONLY
3 3387525155 PDB1 MOUNTED
4 3946119498 PDB2 MOUNTED SQL> alter pluggable database all open; 插接式数据库已变更。 SQL> alter pluggable database all close; 插接式数据库已变更。 SQL> alter session set container=pdb1 ; 会话已更改。 SQL> select con_id,dbid,NAME,OPEN_MODE from v$pdbs; CON_ID DBID NAME OPEN_MODE
---------- ---------- ------------------------------ ----------
3 3387525155 PDB1 MOUNTED SQL> startup
插接式数据库已打开。
SQL> shutdown
插接式数据库已关闭。
SQL> select con_id,dbid,NAME,OPEN_MODE from v$pdbs; CON_ID DBID NAME OPEN_MODE
---------- ---------- ------------------------------ ----------
3 3387525155 PDB1 MOUNTED SQL>

4.3自动启动所有PDB

从上面的操作中可以看到数据库启动的时候所有的PDBs的状态为MOUNTED,在实际应用可以考虑增加如下的触发器使所有的PDBs都处于打开状态。

create or replace trigger sys.after_startup after startup on database
begin
execute immediate 'alter pluggable database all open ' ;
end after_startup ;

验证过程

SQL> create or replace trigger sys.after_startup after startup on database

2 begin

3 execute immediate 'alter pluggable database all open ' ;

4 end after_startup ;

5 /

触发器已创建

SQL> shutdown

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> startup

ORACLE 例程已经启动。

Total System Global Area 5044088832 bytes

Fixed Size 2413072 bytes

Variable Size 1040190960 bytes

Database Buffers 3992977408 bytes

Redo Buffers 8507392 bytes

数据库装载完毕。

数据库已经打开。

SQL> select con_id,dbid,NAME,OPEN_MODE from v$pdbs;

CON_ID DBID NAME OPEN_MODE

---------- ---------- ------------------------------ ----------

2 4122484437 PDB$SEED READ ONLY

3 3387525155 PDB1 READ WRITE

4 3946119498 PDB2 READ WRITE

SQL>

四、常用SQL

--查看ORACLE 12C版本
select * from v$version; --查看容器名称和ID
show con_name ; --查看状态
select name ,open_mode from v$pdbs ; --切换container
alter session set container=pdb1

参考

ORACLE-BASE - Multitenant : Overview of Container Databases (CDB) and Pluggable Databases (PDB)

【ORACLE】ORACLE 12c PDB 基础 - 临渊羡鱼 - 博客频道 - CSDN.NET

CDB和PDB基本管理 - Ziyoo - 博客园

Oracle 12C 多租户(Oracle Multitenant)--基本概念-zerocool88888888-ChinaUnix博客

ORACLE 12C PDB 维护基础介绍 – 提供专业ORACLE技术咨询和支持@Phone:13429648788 - 惜分飞

Oracle 12c CDB PDB - 丁应思 - 博客园

Oracle 12c入门第三讲: Oracle 12c基本体系结构 (3) pdb,cdb元数据关系 ...,数据智能网,Oracle 12C

浅谈Oracle数据库12c PDB技术 - Oracle安装与升级 - TechTarget数据库

CDB和PDB的创建、连接、启动、关闭的更多相关文章

  1. 涂抹Oracle笔记2:数据库的连接-启动-关闭

    一.数据库的连接sqlplus <username>[/<password>][@<connect_idertifier>]|/[as sysdba| as sys ...

  2. Oracle12c CDB和PDB数据库的启动与关闭说明

    Oracle 12c中,增加了可插接数据库的概念,即PDB,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB). CDB全称为Container Database,中文翻译为数据库容器,PDB ...

  3. Oracle12c多租户如何启动关闭CDB或PDB (PDB自动启动)

    Oracle 数据库 12 c 中介绍了多租户选项允许单个容器数据库 (CDB) 来承载多个单独的可插拔数据库 (PDB).下面我们一起来启动和关闭容器数据库 (CDB) 和可插拔数据库 (PDB). ...

  4. 转 12C 连接CDB和PDB

    来源:David Dai -- Focus on Oracle 连接到CDB 和普通实例一样的连接. 指定ORACLE_SID 以后可以使用OS认证,也可以使用密码进行连接. [oracle@Ora1 ...

  5. 12c debug 转 12C 连接CDB和PDB

    来源:David Dai -- Focus on Oracle 连接到CDB 12c debug 和普通实例一样的连接. 指定ORACLE_SID 以后可以使用OS认证,也可以使用密码进行连接. [o ...

  6. .NET HttpWebRequest(请求被中止: 未能创建 SSL/TLS 安全通道)和(基础连接已经关闭: 发送时发生错误)问题查找解决

    前言: 前段时间在对接第三方接口的时候发生了一个非常奇葩的问题,就是使用 .NET Framework 4.6 HttpWebRequest进行网络请求的相关问题.背景,关于调用第三方的接口都是使用使 ...

  7. [转]Oracle 12c多租户特性详解:PDB 的创建、克隆与维护

    转自:http://chuansong.me/n/443660447865 PDB 的创建和访问 在使用 dbca 建库时,创建数据库之前,可以保存一下创建脚本,分析其具体执行过程.以自定义方式创建名 ...

  8. CDB和PDB基本管理

    CDB和PDB基本管理 这篇文章主要介绍CDB和PDB的基本管理,资料来源oracle官方. 基本概念: Multitenant Environment:多租户环境 CDB(Container Dat ...

  9. oracle 12C的新特性-CDB和PDB

    1.前言 CDB与PDB是Oracle 12C引入的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插 ...

随机推荐

  1. SQL Server 函数 LEN 与 DATALENGTH的区别

    http://blog.csdn.net/Hello_World_wusu/article/details/4667452 DATALENGTH()函数返回一个用于对值进行管理的字节数,这有助于揭示不 ...

  2. MAT(Memory Analyzer Tool)内存分析工具的使用

    开发.应用中老是会遇到OutOfMemory异常,而且常常是过一段时间内存才被吃光,这里可以利用java heap dump出jvm内存镜像,然后再对其进行分析来查找问题. 平常利用jmap -dum ...

  3. windows server 2012将计算机图标添加到桌面

    windows server 2012系统安装完以后桌面默认只有回收站一个图标,如何将window常用的图标(计算机.控制面板.网络.用户文件)的图标添加到桌面呢,下面为作者本人亲测.操作简单至极. ...

  4. iOS 开发的一些网址

    http://www.cnblogs.com/iCocos/p/4553291.html ios学习路线图,值得看一下你的哪些技术还没掌握到位还有就是往高级发展还差哪些知识(这个人的博客特别值得看,虽 ...

  5. 使用DebugView小工具调试已部署的.net程序 (转)

    DebugView for Windows能够捕捉Debug输出的信息在本地的操作系统上.如何你需要调试程序有网络访问推荐使用Wireshark和监听HTTP的工具Fiddler. 下载下来是一个ZI ...

  6. 读书笔记,《Java8实战》第一章,为什么要关心 Java8

       开篇作者就提出,Java8所做的改变在许多方面比java历史上任何一次改变都深远.而且好消息是,这些改变会让你编辑程序来更容易,再也不用写类似类似于以前的swing中的事件处理函数的啰嗦代码了. ...

  7. Excel表数据导入Sql Server数据库中

    Excel表数据导入Sql Server数据库的方法很多,这里只是介绍了其中一种: 1.首先,我们要先在test数据库中新建一个my_test表,该表具有三个字段tid int类型, tname nv ...

  8. CSS框架BluePrint

    做惯了后台程序的我们,是否对前端编程有兴趣么,通过CSS框架,使我们很容易的开发出基于Div+CSS布局的页面来,今天让我们了解下大名鼎鼎的blueprint CSS框架吧! 它的官方网站:http: ...

  9. PHP入门(一)

    一.概述 PHP(Hypertext Preprocessor缩写),全称超级文本预处理器,是一种在服务器端执行的脚本语言.因此既具备了脚本语言的优缺点 ,又具备了后台服务器语言的优异性能.可以说PH ...

  10. 关于UITableView的黑线条

    这里採用分组形式.底色可用图片覆盖,设置为cell(是一个view)的子视图,并把cell'的颜色设置为底色 当UITableView的cell没有满屏显示时,就会出现黑线条.我们仅仅需在初始化时,加 ...