首批通过分布式安全可靠测评,为关键业务系统打造
SET ROLE
更新时间:2023-07-28 10:45:58
描述
该语句来启用或禁用为当前会话授予的角色。
语法
SET ROLE
{ role_name [ IDENTIFIED BY password ][, role_name [ IDENTIFIED BY password ] ]...
| ALL [ EXCEPT role_name [, role_name ]... ]
| NONE
} ;
参数解释
| 参数 | 描述 |
|---|---|
| role_name | 指定要为当前会话启用的角色名称。 |
| IDENTIFIED BY password | 指定角色的密码。如果角色有密码,则您必须指定密码才能启用该角色。 |
| ALL | 启用为当前会话授予的所有角色。 EXCEPT 子句表示列出的角色除外,为可选项。如果您已被直接授予任何具有密码的角色,则不能指定此子句,否则会引发报错。 |
| NONE | 禁用当前会话的所有角色。 |
示例
为当前会话启用由密码
**1***标识的角色role1。obclient> SET ROLE role1 IDENTIFIED BY **1***; Query OK, 0 rows affected启用授予当前会话的所有角色,当授予的角色中包含具有密码的角色时将报错。
obclient> SET ROLE ALL; ORA-01979: missing or invalid password for role 'ROLE2'启用授予当前会话除了角色
role2之外的所有角色。obclient> SET ROLE ALL EXCEPT role2; Query OK, 0 rows affected禁用为当前会话授予的所有角色。
obclient> SET ROLE NONE; Query OK, 0 rows affected