先说基本用法:
先按11G之前进行
conn / as sysdba;
create user test identifed by test;
ORA-65096: 公用用户名或角色名无效.
查官方文档得知“试图创建一个通用用户,必需要用C##或者c##开头”,这时候心里会有疑问,什么是common user?不管先建成功了再说
create C##user test identifed by test;
创建成功
SQL>show con_name;
CON_NAME
------------------------------
CDB$ROOT
selectcon_id,dbid,NAME,OPEN_MODEfromv$pdbs;
CON_ID DBID NAME OPEN_MODE
---------- ---------- ------------------------------ ----------
2 4066409480 PDB$SEED READ ONLY
3 2270995695 PDBORCL MOUNTED
SQL>alter session set container=PDBORCL;
这时再用create user test identifed by test;建立用户就可以了。
CDB和PDB是Oracle 12C一个很亮的新特性,由于他们的引入导致传统的ORACLE数据库管理理念不少发生了改变,这里列举了部分最基本的cdb和pdb管理方式
cdb和pdb关系图
ORACLE 12C版本
SQL>
select
* from
v$version; BANNER
CON_ID--------------------------------------------------------------------------------
----------Oracle
Database
12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production 0PL/SQL
Release 12.1.0.1.0 - Production 0CORE
12.1.0.1.0 Production 0TNS
for
Linux: Version 12.1.0.1.0 - Production 0NLSRTL
Version 12.1.0.1.0 - Production 0
启动关闭pdb
SQL>
startupORACLE
instance started. Total
System Global
Area 597098496 bytesFixed
Size
2291072 bytesVariable
Size
272632448 bytesDatabase
Buffers 314572800 bytesRedo
Buffers 7602176 bytesDatabase
mounted.Database
opened.SQL>
select
con_id,dbid,NAME,OPEN_MODE
from
v$pdbs; CON_ID
DBID NAME
OPEN_MODE----------
---------- ------------------------------ ---------- 2
4048821679 PDB$SEED READ
ONLY 3
3313918585 PDB1 MOUNTED 4
3872456618 PDB2 MOUNTED SQL>
alter
PLUGGABLE database
pdb1 open; Pluggable
database
altered. SQL>
select
con_id,dbid,NAME,OPEN_MODE
from
v$pdbs; CON_ID
DBID NAME
OPEN_MODE----------
---------- ------------------------------ ---------- 2
4048821679 PDB$SEED READ
ONLY 3
3313918585 PDB1 READ
WRITE 4
3872456618 PDB2 MOUNTED SQL>
alter
PLUGGABLE database
pdb1 close; Pluggable
database
altered. SQL>
select
con_id,dbid,NAME,OPEN_MODE
from
v$pdbs; CON_ID
DBID NAME