Oracle用户\角色\权限查询语句
程序员文章站
2024-02-13 17:13:34
...
一、查看命令
1、查看用户
--查询oracle中所有用户信息
SELECT * FROM dba_users;
SELECT * FROM all_users;
SELECT * FROM user_users;
--查看当前连接用户,当前会话状态:
SELECT * FROM v$session;
--只查询用户和密码
SELECT username,password from dba_users;
--查询当前用户信息
SELECT * FROM dba_ustats;
--查询用户可以访问的视图文本
SELECT * FROM dba_varrays;
2、查看角色
--当前用户被**的全部角色
SELECT * FROM session_roles;
--当前用户被授予的角色
SELECT * FROM user_role_privs;
--全部用户被授予的角色
SELECT * FROM dba_role_privs;
--查看所有角色:
SELECT * FROM dba_roles;
--查询当前角色被授予的角色
SELECT GRANTED_ROLE from ROLE_ROLE_PRIVS where ROLE=&ROLE;--例如role= 'DBA'
3、查看权限
--1.基本权限查询:
SELECT * FROM session_privs;--当前用户所拥有的全部权限
SELECT * FROM user_sys_privs;--当前用户的系统权限
SELECT * FROM user_tab_privs;--当前用户的表级权限
SELECT * FROM dba_sys_privs;--查询某个用户所拥有的系统权限
SELECT * FROM role_sys_privs;--查看角色(只能查看登陆用户拥有的角色)所包含的权限
--2.查看用户对象权限:
SELECT * FROM dba_tab_privs;
SELECT * FROM all_tab_privs;
SELECT * FROM user_tab_privs;
--3.查看哪些用户有sysdba或sysoper系统权限(查询时需要相应权限)
SELECT * FROM V$PWFILE_USERS
二、Oracle用户管理
1、创建\删除用户
--创建用户 密码:"123";
CREATE USER 用户 IDENTIFIER BY "123";
--删除用户
DROP USER 用户 CASCADE;
2、修改密码\锁定\解锁命令
ALTER USER命令可以修改用户口令(密码)、设置口令过期、锁定、解锁用户等等。
--修改用户的口令(密码)。
ALTER USER 用户 IDENTIFIED BY 新密码;
--设置用户口令(密码)过期,设置后下次用户登录时就必须要修改密码。
ALTER USER 用户 PASSWORD EXPIRE;
--锁定用户,锁定后的用户不能再登录系统。
ALTER USER 用户 ACCOUNT LOCK;
--用户解锁。
ALTER USER 用户 ACCOUNT UNLOCK;
3、权限管理语句
--GRANT授予权限,REVOKE撤销权限
--将 CONNECT SESSION角色授予用户。
GRANT CREATE SESSION TO 用户;
--ADMIN OPTION 用户可将此权限授予其他用户
GRANT CONNECT,RESOURCE TO 用户 WITH ADMIN OPTION;
--将查询XX表权限授权用户。
GRANT SELECT ON XX表名 TO 用户;
--撤销用户 语法:revoke privileges(权限) or role(角色) user;
REVOKE 权限或角色 FROM 用户;
--撤销 所有权限 ON 表名称 FROM 用户名
REVOKE ALL ON 表名 FROM 用户名
系统权限解释
系统权限是指执行特定类型SQL命令的权利,用于控制用户可以执行的一个或一类数据库操作。(新建用户没有任何权限)
CONNECT角色: --是授予最终用户的典型权利,最基本的
ALTER SESSION --修改会话
CREATE CLUSTER --建立聚簇
CREATE DATABASE LINK --建立数据库链接
CREATE SEQUENCE --建立序列
CREATE SESSION --建立会话,连接到数据库
CREATE SYNONYM --建立同义词
CREATE VIEW --建立视图
CREATE USER --建立用户
RESOURCE角色: --是授予开发人员的
CREATE CLUSTER --建立聚簇
CREATE PROCEDURE --建立过程
CREATE SEQUENCE --建立序列
CREATE TABLE --建表
CREATE TABLESPACE --建立表空间
CREATE TRIGGER --建立触发器
CREATE TYPE --建立类型