Oracle 12c引入了一个全新的特性——可插拔数据库(Pluggable Database, PDB),PDB是指多个独立的数据库实例能够在同一套数据库软件安装的情况下共享相同的执行环境。PDB技术为多租户数据库提供了更好的支持和资源共享,并且提供了更简洁的灵活性实现聚合数据库。
PDB是Oracle数据库中的一个基本单元,PDB是一个可共享和可移植的数据库建筑块。在实现多租户的环境下,一个CDB容器下可以有多个PDB容器,每个PDB都有自己的系统表空间、用户表空间和数据文件。而且在每个PDB中,用户可以创建自己的表、索引、视图、存储过程等等,和现有的数据库一样,PDB也具有ACID的特性。
PDB技术主要由以下部分组成:
1.容器数据库(CDB)
一个CDB的操作与现有的数据库操作非常相似,差别就在于CDB支持多个PDB。在创建一个CDB时,需要指定一个根容器,然后在根容器中创建PDB来存储实际的数据库对象。用户连接到CDB时,可以选择进入任何一个PDB,每个PDB就像是独立的数据库。
2.可插拔的数据库(PDB)
PDB可以被想象成一个轻量级的、静态的、独立的数据库。PDB是一个可插拔的数据库容器,用户可以随时将PDB连接到一个CDB中,也可以将PDB从一个CDB中拔掉并插入到另一个CDB中。
3.共享和私有资源
在CDB和PDB之间,有一些资源是共享的,比如共享池、缓存、客户端进程等等。同时还有一些资源是私有的,比如系统表空间、程序、数据文件等等。
4.多租户
PDB技术还可以用于多租户数据库。PDB可以作为单个租户的数据库,并支持多个PDB共享母容器的资源。这样就不需要每个租户都拥有自己的Oracle数据库实例。
使用PDB技术,可以极大地降低维护成本,减轻管理工作,并且更好地支持云计算和虚拟化技术,同时大幅节约计算资源的使用。与传统的非可插拔的数据库不同,PDB使得数据库更贴近实际业务需求,更灵活高效。
PDB的使用方法:
在接下来的示例中,我们将展示如何创建并使用PDB,并向您演示PDB如何与CDB和其他PDB共享资源。
1.创建CDB和PDB
首先,我们需要创建一个CDB并在其中创建一个pdb。使用以下命令,可以创建用于此示例的数据库:
SQL> CREATE PLUGGABLE DATABASE pdb1 ADMIN USER admin IDENTIFIED BY password FILE_NAME_CONVERT=('/u01/oradata/cdb1/pdbseed/','/u01/oradata/cdb1/pdb1/')
STORAGE (MAXSIZE 100M);
此命令将创建一个名为“pdb1”的PDB,其管理员用户名为admin,密码为password,并将数据文件存储在/u01/oradata/cdb1/pdb1/目录下。
2.启动CDB和PDB
要启动新创建的CDB和PDB,请使用以下命令:
SQL> STARTUP
SQL> ALTER SESSION SET CONTAINER=pdb1;
SQL> STARTUP;
3.创建表和视图
在启动PDB后,可以在PDB中创建表和视图。在本例中,我们将在“pdb1”中创建一个名为“employee”的表以及一个名为“emp_view”的视图:
SQL> CREATE TABLE employee (id NUMBER, name VARCHAR2(50), age NUMBER);
SQL> INSERT INTO employee (id, name, age)
VALUES (1, 'John', 30);
SQL> CREATE VIEW emp_view AS SELECT name, age FROM employee;
4.查询数据
我们可以使用以下命令查询数据:
SQL> SELECT * FROM employee;
SQL> SELECT * FROM emp_view;
正如我们所见,使用PDB技术可以通过共享CDB中的资源来降低维护成本,并支持多租户环境。同时,PDB技术在云计算和虚拟化方面也有很好的应用前景。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.37seo.cn/
发表评论 取消回复