Oracle 12c是Oracle数据库的一个版本,在这个版本中引入了许多新功能,其中一项比较重要的新功能是多租户架构。多租户架构意味着单个数据库可以支持多个租户,每个租户有自己的独立数据库,这些数据库称为PDB,也称为Plugable Database。在本文中,我们将探讨如何在Oracle 12c中创建一个新的PDB。
创建PDB之前,需要先创建一个CDB,即一个容器数据库。CDB中包含一个根容器和一个或多个PDB。下面是一个创建名为mycdb的CDB的示例:
CREATE DATABASE mycdb
USER sys IDENTIFIED BY password
USER system IDENTIFIED BY password
SET db_create_file_dest='/u01/app/oracle/oradata'
SET db_create_online_log_dest_1='/u01/app/oracle/oradata'
MAXINSTANCES=8
MAXLOGFILES=50
MAXLOGMEMBERS=5
MAXDATAFILES=1000
CHARACTER SET AL32UTF8
NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE SIZE 500M REUSE AUTOEXTEND ON NEXT 512K MAXSIZE UNLIMITED
DEFAULT TABLESPACE users DATAFILE SIZE 500M REUSE AUTOEXTEND ON NEXT 512K MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE temp TEMPFILE SIZE 500M REUSE AUTOEXTEND ON NEXT 512K MAXSIZE UNLIMITED;
此脚本将创建一个名为mycdb的CDB,将根容器和一个默认PDB命名为mycdb_pdb1。现在,我们来看一下如何在CDB中创建一个新的PDB:
CREATE PLUGGABLE DATABASE mypdb
ADMIN USER pdbadmin IDENTIFIED BY password
DEFAULT TABLESPACE users
DATAFILE '/u01/app/oracle/oradata/mycdb/mypdb01.dbf' SIZE 500M
FILE_NAME_CONVERT = ('/u01/app/oracle/oradata/mycdb/pdbseed/', '/u01/app/oracle/oradata/mycdb/mypdb/')
STORAGE UNLIMITED;
在此示例中,我们使用了CREATE PLUGGABLE DATABASE语句来创建名为mypdb的新PDB。我们指定了使用pdbadmin用户和password作为PDB的管理员用户和密码。我们使用DEFAULT TABLESPACE参数指定了PDB的默认表空间为users。我们指定了一个数据文件,并使用FILE_NAME_CONVERT参数将文件从根容器的pdbseed目录转换为PDB的目录。最后,使用STORAGE参数指定了无限制的存储。
使用以上脚本,就可以在Oracle 12c中创建一个新的PDB了。在现代企业中,使用多租户架构可以带来许多好处,如更好的资源利用率、操作灵活性、更好的安全性等。使用CDB和PDB可以更好地支持多租户环境,并使数据库更加容易维护。