[oracle@eric ~]$ export ORACLE_SID=cup
[oracle@eric ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Wed Jan 21 16:00:06 2015
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to an idle instance.
SQL>startup-----不会直接启动所有可插拔数据库,如需启动所有可插拔数据库,执行命令:alter pluggable database all open
ORACLE instance started.
Total System Global Area 767557632 bytes
Fixed Size 2929112 bytes
Variable Size 574623272 bytes
Database Buffers 184549376 bytes
Redo Buffers5455872 bytes
Database mounted.
Database opened.
停止根容器:
SQL>shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
查看是否创建了CDB,如果有显示名字:
SQL>select name,cdb from v$database
NAME CDB
--------- ---
CUP YES
SQL>show parameter service
NAME TYPEVALUE
------------------------------------ ----------- ------------------------------
service_namesstring cup
查看容器名字,其中有3个容器:根容器、种子容器和自己创建的容器:
SQL>select con_id,name from v$containers
CON_ID NAME
---------- ------------------------------
1 CDB$ROOT---根容器
2 PDB$SEED---种子容器,只可读
3 TEA ---自己创建的可插拔数据库
SQL>select file_name from dba_data_files
FILE_NAME
--------------------------------------------------------------------------------
/oracle/app/oradata/CUP/datafile/o1_mf_system_bch07kvz_.dbf
/oracle/app/oradata/CUP/datafile/o1_mf_sysaux_bch020oo_.dbf
/oracle/app/oradata/CUP/datafile/o1_mf_undotbs1_bch0d2on_.dbf
/oracle/app/oradata/CUP/datafile/o1_mf_users_bch0d15n_.dbf
SQL>select file_name from cdb_data_files
FILE_NAME
--------------------------------------------------------------------------------
/oracle/app/oradata/CUP/datafile/o1_mf_system_bch07kvz_.dbf
/oracle/app/oradata/CUP/datafile/o1_mf_sysaux_bch020oo_.dbf
/oracle/app/oradata/CUP/datafile/o1_mf_undotbs1_bch0d2on_.dbf
/oracle/app/oradata/CUP/datafile/o1_mf_users_bch0d15n_.dbf
创建公共用户:
SQL>create user c##eric identified by gao
User created.
SQL>conn c##eric/gao
ERROR:
ORA-01045: user C##ERIC lacks CREATE SESSION privilegelogon denied----没有权限,我们可以单独给其赋予权限,也可以给其指定角色。
Warning: You are no longer connected to ORACLE.
SQL>conn / as sysdba
Connected.
SQL>grant dba to c##eric container=all---给其DBA角色,角色范围覆盖所有的容器
Grant succeeded.
SQL>conn c##eric/gao
Connected. ---连接成功
切换容器:
首先启动自己创建的容器数据库:
SQL>alter pluggable database tea open ---首先启动PDB数据库
SQL>alter session set container = tea
Session altered.
SQL>show con_name ---查看当前所在的容器名
CON_NAME
------------------------------
TEA
关闭可插拔数据库:
SQL>alter pluggable database tea close immediate
Pluggable database altered.
12c推出了可插拔库,管理用户也分为两种:本地用户和公用用户。本地用户是指在插拔数据库(PDB)中的用户,和12c之前的版本是没有什么区别。公用用户只存在于可插拔环境中,在传统的数据库环境中不存在这种应用。怎么理解公用用户呢?可以简单的把它当做容器(CDB)用户,可以在各个通用与所有可插拔数据库(PDB)中使用。这个用户就像是小区的物业管理员,由小区物业来任命并且可以管理小区所有用户。如果第一次登录CDB数据库,用传统方式创建用户会报错,这就是因为在CDB环境创建的用户为公共用户,语法和普通用户不同。
1.使用sqlplus登录可插拔数据库
2.通过con_name能看到当前登录的环境是CDB根库,CDB包含一个名为PDB1的可插拔库。
3.创建公用用户bighero, 需要使用C##作为该用户名的开头。如果使用传统创建用户的方法会报错。
4.将dba权限授权给公用用户bighero
5.下面使用公用用户分别登录CDB、PDB看看是否通用。 登录PDB使用了tnsnames中已经配置好的链接字符串@pdb1。链接字符串如下图所示。
6.在PDB中创建用户和创建普通用户就没有什么区别了
7.CDB和PDB之间的切换方式
PDB全称为Pluggable Database,即可插拔数据库。打开PDB数据库的方法有两种:
方式1:
SQL>alter pluggable database PDBEPPS open
Pluggable database altered.
SQL>select con_id, dbid, guid, name , open_mode from v$pdbs
CON_ID DBID GUID NAME OPEN_MODE
---------- ---------- -------------------------------- ------------------------------ ----------
2 4071321146 E89E8DA2866E3157E043DE07A8C09238 PDB$SEED READ ONLY
3 1930201447 E89E9418B882350CE043DE07A8C092B6 PDBEPPS READ WRITE
方式2:
SQL>alter session set container=PDBEPPS
Session altered.
SQL>startup
Pluggable Database opened.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)