您好,欢迎来到微智科技网。
搜索
您的当前位置:首页8 数据库用户权限及角色

8 数据库用户权限及角色

来源:微智科技网

1.对用户的操作

--创建用户
CREATE USER TEST IDENTIFIED BY TIGER;
--查询创建的用户
SELECT *  FROM ALL_USERS;
--删除用户 可选参数【CASCADE】,用来表示删除用户的同时删除其建立的实体
DROP USER TEST [CASCADE];
--修改用户的密码
ALTER USER system IDENTIFIED BY AnotherPass;
--查询所有管理员用户以及其对应口令(密文形式)
SELECT username,password FROM DBA_USERS;
--解锁用户scott
ALTER USER scott ACCOUNT UNLOCK;
--ALTER USER scott ACCOUNT LOCK;
--查询用户信息(得到USER#),并修改用户名 (后两句为强制写入数据文件和清除缓存数据字典信息,必须要)
SELECT user#,name,password FROM user$ WHERE name='TEST';
UPDATE USER$ SET name='TEST_BAK' WHERE USER#= NUMBER;
ALTER SYSTEM CHECKPOINT;
ALTER SYSTEM FLUSH SHARED_POOL;

(1)Oracle提供了一部分默认用户,如下

用户名:sys 密码:安装时定义  SYSDBA或者SYSOPER登陆,但不能以NORMAL登陆

用户名:system 密码:manager  SYSDBA或者NORMAL,但不能以SYSOPER登陆

用户名:scott 密码:tiger  NORMAL,普通用户

用户名:aqadm  密码:aqadm  SYSDBA或者NORMAL,高级队列管理员

用户名:Dbsnmp 密码:Dbsnmp   SYSDBA或者NORMAL,复制管理员

(2)对SYS用户的锁定是无效的   USER$是一个存储所有用户的表,只有在SYS用户SYSDBA角色的权限下才可见。

2.对权限的操作

--授权系统权限 [WITH ADMIN OPTION]表示此用户可把此权限再授予其它用户或者角色,并且不受当前用户权限被收回的影响
GRANT CREATE SESSION TO TEST [WITH ADMIN OPTION];
--查看系统权限
SELECT *  FROM dba_sys_privs WHERE GRANTEE='TEST';
SELECT *  FROM dba_sys_privs WHERE GRANTEE IN ('CONNECT','RESCOURCE');
--查看用户所有系统权限
SELECT PRIVILEGE  FROM dba_sys_privs WHERE GRANTEE='TEST' UNION 
SELECT PRIVILEGE  FROM dba_sys_privs WHERE GRANTEE IN (
SLECT GRANTED_ROLE FROM dba_role_privs WHERE GRANTEE = 'TEST');
--收回系统权限
REVOKE CREATE VIEW FROM TEST;
--授予对象权限 [WITH GRANT OPTION]表示此用户可把此权限再授予其它用户或者角色
GRANT SELECT ON STU TO TEST [WITH GRANT OPTION];
--查询对象权限
SELECT table_name,privilege FROM dba_tab_privs
WHERE GRANTEE='TEST';
--授予用户角色
GRANT RESOURCE TO TEST;
--收回用户权限
REVOKE UPDATE,DELETE ON STU FROM TEST;

(1)oracle其它的100多个系统权限,可通过查找数据字典system_privilege_map看到。

(2)在数据库安装之后,即自动预定义了3个角色:RESOURCE,CONNECT,DBA  方便数据库管理的向后兼容

         DBA:拥有全部,是最高权限,只有DBA才能创建数据库结构

         RESOURCE:拥有该权限的用户只可以创建实体,不可以创建数据库结构。

         CONNECT:该权限只可以登录。不可创建实体

(3)数据对象与权限关系

3.对数据库角色的操作

--创建角色
CREATE ROLE STUROLE;
--设置角色口令
ALTER ROLE STUROLE IDENTIFIED BY PASS;
--为角色分配权限
GRANT CREATE ANY TABLE,CREATE VIEW TO STUROLE;
--查看角色信息
SELECT * FROM role_sys_privs WHERE ROLE='STUROLE';
SELECT * FROM DBA_ROLES WHERE ROLE='STUROLE';
--收回角色权限(无级联方式)
REVOKE CREATE VIEW FROM STUROLE;
--删除自定义角色
DROP ROLE STUROLE;
--启用/禁用角色
ALTER USER TEST DEFAULT ROLE ALL EXCEPT STUROLE;
SET ROLL STUROLE IDENTIFIED BY PASSWORD;
--显示用户所拥有的角色及权限
SELECT *  FROM dba_role_privs WHERE GRANTEE='TEST';

 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务