温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

CDB和PDB的创建、连接、启动和关闭方法

发布时间:2021-08-31 11:38:00 来源:亿速云 阅读:307 作者:chen 栏目:关系型数据库

本篇内容主要讲解“CDB和PDB的创建、连接、启动和关闭方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CDB和PDB的创建、连接、启动和关闭方法”吧!

一、CDB和PDB基本管理

基本概念:

Multitenant Environment:多租户环境

CDB(Container Database):数据库容器

PDB(Pluggable Database):可插拔数据库
CDB和PDB的创建、连接、启动和关闭方法

二、创建

2.1创建CDB

PDB包含在CDB中,所以,要创建PDB,必须先创建CDB。一台机器上可以有多个CDB。Oracle软件安装完成后,就可以创建CDB
启动DBCA  
C:\app\oracle\product\12.1.0\dbhome_1\BIN\dbca.bat)
CDB和PDB的创建、连接、启动和关闭方法
CDB和PDB的创建、连接、启动和关闭方法
CDB和PDB的创建、连接、启动和关闭方法
CDB和PDB的创建、连接、启动和关闭方法
CDB和PDB的创建、连接、启动和关闭方法

2.2创建PDB

C:\app\oracle\product\12.1.0\dbhome_1\BIN\dbca.bat
CDB和PDB的创建、连接、启动和关闭方法
CDB和PDB的创建、连接、启动和关闭方法
CDB和PDB的创建、连接、启动和关闭方法
CDB和PDB的创建、连接、启动和关闭方法
CDB和PDB的创建、连接、启动和关闭方法
CDB和PDB的创建、连接、启动和关闭方法
CDB和PDB的创建、连接、启动和关闭方法

三、连接

3.1连接CDB

Sqlplus默认连接CDB

sqlplus sys/oracle as sysdba

CDB和PDB的创建、连接、启动和关闭方法

3.2连接PDB

pdb可以通过在CDB中alter session container

alter session set container=pdb1

CDB和PDB的创建、连接、启动和关闭方法

也可以直接通过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

到此,相信大家对“CDB和PDB的创建、连接、启动和关闭方法”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI