先说基本用法:
先按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
