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

55次阅读
没有评论

共计 4351 个字符,预计需要花费 11 分钟才能阅读完成。

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

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 的创建、连接、启动和关闭方法”有了更深的了解,不妨来实际操作一番吧!这里是丸趣 TV 网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-28发表,共计4351字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)