Oracle数据库之CDB和PDB的创建、连接、启动、关闭
小标 2019-06-24 来源 : 阅读 1453 评论 0

摘要:本文主要向大家介绍了Oracle数据库之CDB和PDB的创建、连接、启动、关闭,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助。

本文主要向大家介绍了Oracle数据库之CDB和PDB的创建、连接、启动、关闭,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助。

Oracle数据库之CDB和PDB的创建、连接、启动、关闭

一、CDB和PDB基本管理


基本概念:


Multitenant Environment:多租户环境


CDB(Container Database):数据库容器


PDB(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

---------- ---------- ------------------------------ ----------
4122484437 PDB$SEED READ ONLY
3387525155 PDB1 MOUNTED
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
---------- ---------- ------------------------------ ----------
4122484437 PDB$SEED                       READ ONLY
3387525155 PDB1                           MOUNTED
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
---------- ---------- ------------------------------ ----------
4122484437 PDB$SEED                       READ ONLY
3387525155 PDB1                           READ WRITE
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
---------- ---------- ------------------------------ ----------
4122484437 PDB$SEED                       READ ONLY
3387525155 PDB1                           READ WRITE
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
---------- ---------- ------------------------------ ----------
4122484437 PDB$SEED                       READ ONLY
3387525155 PDB1                           MOUNTED
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
---------- ---------- ------------------------------ ----------
4122484437 PDB$SEED                       READ ONLY
3387525155 PDB1                           MOUNTED
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
---------- ---------- ------------------------------ ----------
3387525155 PDB1                           MOUNTED

SQL> startup
插接式数据库已打开。
SQL> shutdown
插接式数据库已关闭。
SQL>  select con_id,dbid,NAME,OPEN_MODE from v$pdbs;

    CON_ID       DBID NAME                           OPEN_MODE
---------- ---------- ------------------------------ ----------
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
begin
execute immediate 'alter pluggable database all open ' ;
end after_startup ;
/

触发器已创建

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

---------- ---------- ------------------------------ ----------
4122484437 PDB$SEED READ ONLY
3387525155 PDB1 READ WRITE
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有所帮助,更多内容请关注职坐标数据库Oracle数据库频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程