基本概念:
Multitenant Environment:多租户环境
CDB(Container Database):数据库容器
PD(Pluggable Database):可插拔数据库
PDB包含在CDB中,所以,要创建PDB,必须先创建CDB。一台机器上可以有多个CDB。Oracle软件安装完成后,就可以创建CDB
CDB与PDB关系图
COMMON USERS(普通用户):经常建立在CDB层,用户名以C##或c##开头;
LOCAL USERS(本地用户):仅建立在PDB层,建立的时候得指定CONTAINE
1、查看Oracle 12c的版本
SQL> select * from v$version;
2、查看当前
SQL>select sys_context ('USERENV', 'CON_NAME') from dual;
SQL>select con_id,dbid,NAME,OPEN_MODE from v$pdbs;----查看当前使用的容器
SQL> alter pluggable database pdb_name open;-----打开指定pdb容器,打开后状态变为read write
SQL> alter session set container=PDBORCL;-----切换到指定容器
SQL>create user informix identified by gmgl;----创建用户,该用户属于当前容器
3、listener.ora 文件配置(pdb用户连接配置)
数据库实例相同,GLOBAL_DBNAME获取
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 29.29.29.168)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521_1))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = cdb1)
(SID_NAME = cdb1)
)
(SID_DESC =
(GLOBAL_DBNAME = pdb1)
(SID_NAME = cdb1)
)
)
4、tnsnames.ora 文件配置(pdb用户连接配置)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 29.29.29.168)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = cdb1)
)
)
ORCL2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 29.29.29.168)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = pdb1)
)
)
5、pdb安装
(1)不设置DB_CREATE_FILE_DEST
//设置文件目录
su - oracle
mkdir -p /u01/app/oracle/oradata/orclpdb3
//进入数据库创建pdb
CREATE PLUGGABLE DATABASE orclpdb3 ADMIN USER pdb3_admin IDENTIFIED BY oracle4U CREATE_FILE_DEST='/u01/app/oracle/oradata/orclpdb3';
//查看pdb信息
SELECT PDB_ID, PDB_NAME,GUID,STATUS FROM DBA_PDBS ORDER BY PDB_ID;
(2)设置DB_CREATE_FILE_DEST
//设置DB_CREATE_FILE_DEST
alter system set db_create_file_dest='/u01/app/oracle/oradata/' scope=both;
//查看设置是否正确
show parameter DB_CREATE_FILE_DEST;
//创建pdb,角色按需设置
CREATE PLUGGABLE DATABASE orclpdb1 ADMIN USER admin IDENTIFIED BY cloud_4U ROLE=(CONNECT);