CDB和PDB的创建、连接、启动和关闭方法
admin
2023-04-15 11:21:40
0

一、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

相关内容

热门资讯

玩家攻略科普“天天快来麻将有没... 家人们!今天小编来为大家解答天天快来麻将透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪里...
今日重大通报“趣游天水麻将辅助... 有 亲,根据资深记者爆料趣游天水麻将是可以开挂的,确实有挂(咨询软件无需...
今日重大消息“决战仙桃麻将开挂... 有 亲,根据资深记者爆料决战仙桃麻将是可以开挂的,确实有挂(咨询软件无需...
终于懂了“皖江欢乐麻将到底是不... 您好:皖江欢乐麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这款...
【第一消息】“桂麻圈有挂吗?”... 网上科普关于“桂麻圈有没有挂”话题很是火热,小编也是针对桂麻圈作*弊开挂的方法以及开挂对应的知识点,...
今日重大通报“普通扑克三公提前... 家人们!今天小编来为大家解答普通扑克三公提前知道大小透视挂怎么安装这个问题咨询软件客服徽978409...
今日重大发现“新超圣牛牛辅助器... 您好:新超圣牛牛这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这款游...
我来教教您“全来湖南麻将究竟有... 网上科普关于“全来湖南麻将有没有挂”话题很是火热,小编也是针对全来湖南麻将作*弊开挂的方法以及开挂对...
【第一消息】“皇冠十三水究竟有... 您好:皇冠十三水这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款游...
最新引进“新好游牛牛可以开挂吗... 网上科普关于“新好游牛牛有没有挂”话题很是火热,小编也是针对新好游牛牛作*弊开挂的方法以及开挂对应的...