CDB公用用户和本地用户

公用用户
1.公用用户必须在根容器中创建,然后 会向每个 PDB 中同时自动创建该用户,如果 PDB 未打开,则创建工作会以任务的方式延后。
2.公用用户可以在 CDB 和 PDB中同时存在,能够连接 ROOT 和 PDB 进行操作。
3.公用用户标识必须以c##或者C##开头。
4.sys和system用户是Oracle在CDB环境中自动创建的公用用户。
5.CDB 中(CDB$ROOT 中)同样不能创建本地用户。

本地用户
1.本地用户则只在特定的 PDB 中存在,也只能在特定的 PDB 中执行操作。
2.在 PDB 中不能创建公用用户。
3.本地用户只能在各自的 PDB 中进行操作,在不同 PDB 中可以存在同名的本地用户。
4.PDB 中的本地用户不能登陆其他 PDB 或 ROOT。
5.PDB 能够通过 DB Link 访问其他的 PDB。


创建公用用户:

create user  c##bakadmin identified by bakpwd123;
grant dba to c##bakadmin container=ALL;

或者

create user c##bakadmin identified by bakpwd123;
create role c##dbaprivs container=all;
grant dba to c##dbaprivs container=all;
grant c##dbaprivs to c##bakadmin container=all;


如果一个用户通过 CONTAINER=CURRENT 方式授权,则被授权用户拥有的是本地权限;
如果一个权限通过 CONTAINER=ALL 方式授权,则用户获得的是公用权限。

create user c##bakadmin identified by bakpwd123;
grant dba to c##bakadmin;


查看用户

set linesize 120; 
set pagesize 100; 
col username for a30; 
select username,common,con_id from cdb_users;

 

posted @ 2023-01-31 16:37  屠魔的少年  阅读(37)  评论(0)    收藏  举报