Oracle19c的CDB和PDB

       一、Oracle 12c Multitenant Architecture多租户框架最重要的2个概念是容器数据库CDB(multitenant container database)和可热插拔数据库PDB(pluggable databases)。可以把CDB想象成一个大的容器,这个大的容器在物理上是一个整体,在这个大的容器中还有一些小的容器PDB。容器的目的是将Oracle固有元数据和用户数据(包括用户元数据)隔离。

Oracle19c的CDB和PDB_第1张图片

 

        二、CDB和PDB含义

        CDB:容器数据库,名称为 CDB$ROOT。其作用就是系统数据库,sys等账号都保存在里面。同时它可以管理PDB数据库。

        PDB:可插拔的数据库。用户可以在PDB自建数据库。Oracle安装成功后有个默认的pdb数据库(在安装Oracle时自己设定),PDB中自带有PDB$SEED,属于PDB的模板数据库,自己创建数据库的时候以此库为模板。 

Oracle19c的CDB和PDB_第2张图片

         三、CDB和PDB实操

1、查询当前所在容器

# show con_name;

2、查看所有的PDB

# show pdbs;

3、切换到指定的pbd

# alter session set container=XRGPDB;

# alter session set container= PDB$SEED ;

4、创建新的NEWPDB

# 切换到pdbseed,查询模板pdb的pdbseed的数据文件路径

# select name, con_id from v$datafile order by con_id;
# select name, con_id from v$tempfile order by con_id;

 

# 在pdbseed 同级目录创建NEWPDB

# mkdir -p /opt/oracle/oradata/ORCLCDB/NEWPDB

# 创建新的NEWPDB

# create pluggable database NEWPDB admin user newxrg identified by 123456 roles=(dba,connect,resource) file_name_convert=('/opt/oracle/oradata/ORCLCDB/pdbseed','/opt/oracle/oradata/ORCLCDB/N;WPDB');

# 删除pbd

# drop pluggable database 数据库名称 including datafiles;

 增加监听,停止监听,开启监听

(SID_DESC =
      (GLOBAL_DBNAME = NEWPDB)      
      (SID_NAME = ORCLCDB)
      (ORACLE_HOME = /opt/oracle/product/19c/dbhome_1)
    )

查看pdb打开情况

# 查询所有pdb打开情况

# select name,open_mode from v$pdbs;

# 找到指定的pdb,进入该pdb
# alter session set container = NEWPDB;

# 打开此pdb
# alter pluggable database open; 

# 创建表空间

# CREATE BIGFILE TABLESPACE "NEWXRG" DATAFILE '/opt/oracle/oradata/ORCLCDB/NEWPDB/newxrg.dbf' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

# 给用户赋值表空间
# alter user newxrg default tablespace NEWXRG;

 这样这个新创建的数据库就可以使用了

 四、创建用户

1、全局用户

create user c##用户名 identified by 密码;

 2、某个pdb的用户

# alter session set container=XRGPDB;

# create user 用户名 identified by 密码;

3、删除用户

# drop user c##用户名;

# drop user 用户名;

 

你可能感兴趣的:(数据库,数据库)