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