oracle 用户权限相关

Oracle数据库用户管理
本文介绍了Oracle数据库中的用户管理操作,包括查看所有用户、查询用户角色、创建用户、授权、查看角色权限等内容,并提供了详细的SQL语句示例。

--查看数据库下的所有用户:

select username from dba_users;

--查看当前连接数据库的用户角色

SELECT * FROM USER_ROLE_PRIVS;

-- 创建用户

CREATE user test identified by test;

-- 赋授权

grant connect,resource to test; --赋给只允许连接查看的权限

grant connect,resource to test; --赋给普通权限  开发运维基本已经满足

grant connect,resource to test; --赋给管理员权限

--查询某个角色中具有什么系统权限:

select privilege from role_sys_privs where role='RESOURCE';

PRIVILEGE
----------------------------------------
CREATE SEQUENCE
CREATE TRIGGER
CREATE CLUSTER
CREATE PROCEDURE
CREATE TYPE
CREATE OPERATOR
CREATE TABLE
CREATE INDEXTYPE

8 rows selected.

--查询某个角色中包含有什么角色 --如果不包含其他角色,查询结果为空。

select granted_role from role_role_privs where role='dba';

-- 若用户锁定给用户解锁

alter user test account unlock;

--查看某个用户的权限 --注意:11g 用户名 默认区分大小写

select grantee,granted_role from dba_role_privs where grantee='test';

GRANTEE GRANTED_ROLE
------------------------------ ------------------------------
test    IMP_FULL_DATABASE
test EXP_FULL_DATABASE
test CONNECT
test    RESOURCE

-- 查看指定用户的系统权限

SELECT *
FROM DBA_SYS_PRIVS
WHERE GRANTEE = 'test'
UNION ALL
SELECT *
FROM DBA_SYS_PRIVS
WHERE GRANTEE IN
(SELECT GRANTED_ROLE FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'test');

-- 查看当前连接数据库用户的 对象权限

SELECT *
FROM DBA_TAB_PRIVS
WHERE GRANTEE = 'test'
UNION ALL
SELECT *
FROM DBA_TAB_PRIVS
WHERE GRANTEE IN
(SELECT GRANTED_ROLE FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'test');


转载于:https://www.cnblogs.com/hellojesson/p/6999871.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值