一、Oracle 12c Multitenant Architecture多租户框架最重要的2个概念是容器数据库CDB(multitenant container database)和可热插拔数据库PDB(pluggable databases)。可以把CDB想象成一个大的容器,这个大的容器在物理上是一个整体,在这个大的容器中还有一些小的容器PDB。容器的目的是将Oracle固有元数据和用户数据(包括用户元数据)隔离。
二、CDB和PDB含义
CDB:容器数据库,名称为 CDB$ROOT。其作用就是系统数据库,sys等账号都保存在里面。同时它可以管理PDB数据库。
PDB:可插拔的数据库。用户可以在PDB自建数据库。Oracle安装成功后有个默认的pdb数据库(在安装Oracle时自己设定),PDB中自带有PDB$SEED,属于PDB的模板数据库,自己创建数据库的时候以此库为模板。
三、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 用户名;
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/101718.html