1、18用户和权限管理创建用户创建用户SQL create user law -用户名 2 identified by tian -口令 3 default tablespace users -默认表空间 4 temporary tablespace temp-默认临时表空间 5 quota 100m on users -表空间配额 6 quota unlimited on test -配额无限制 7 /2015-818-2Oracle数据库系统原理数据库系统原理-第第18章章 用户和权限管理用户和权限管理修改用户属性修改用户属性 修改用户口令 alter user law identified
2、by tian;修改用户默认表空间 alter uesr law default tablespace test;修改用户默认临时表空间 alter user law temporary tablespace temp1;修改用户的表空间配额 alter user law quota 200m on users;锁住用户 alter user law account lock;解锁用户 alter uesr law account unlock;2015-818-3Oracle数据库系统原理数据库系统原理-第第18章章 用户和权限管理用户和权限管理一一个个命令命令修改多个属性修改多个属性SQL
3、 alter user law identified by tian 2 default tablespace test 3 temporary tablespace temp1 4 quota 200m on users 5 account lock 6 /2015-818-4Oracle数据库系统原理数据库系统原理-第第18章章 用户和权限管理用户和权限管理查询用户属性查询用户属性SQL col username for a10SQL col default_tablespace for a10SQL col temporary_tablespace for a10SQL col prof
4、ile for a10SQL select username,2 default_tablespace,3 temporary_tablespace,4 profile 5 from dba_users 6 where username=SCOTT 7 /USERNAME DEFAULT_TA TEMPORARY_ PROFILE-SCOTT USERS TEMP DEFAULT2015-818-5Oracle数据库系统原理数据库系统原理-第第18章章 用户和权限管理用户和权限管理权限种类权限种类 系统权限 指执行特定类型SQL命令的权限。如create session权限可以连接到数据库,c
5、reate table权限可以创建表。Oracle还提供了一类any权限,如“select any table”权限,可以查询任何用户的表。对象权限 指访问数据库内各种对象,如表、视图、存储过程等的权限。2015-818-6Oracle数据库系统原理数据库系统原理-第第18章章 用户和权限管理用户和权限管理查询所有系统查询所有系统权限权限SQL select name from system_privilege_map 2 /NAME-ALTER ANY CUBE BUILD PROCESSSELECT ANY CUBE BUILD PROCESSALTER ANY MEASURE FOLDE
6、RSELECT ANY MEASURE FOLDEREXEMPT DDL REDACTION POLICY已选择 236 行。2015-818-7Oracle数据库系统原理数据库系统原理-第第18章章 用户和权限管理用户和权限管理对象权限种类对象权限种类对象权限名称对象权限名称表表视图视图序列序列过程过程alterdeleteexecuteindexinsertreferencesselectupdate2015-818-8Oracle数据库系统原理数据库系统原理-第第18章章 用户和权限管理用户和权限管理查询所有对象权限种类查询所有对象权限种类SQL select*from table_pr
7、ivilege_map;PRIVILEGE NAME-0 ALTER 1 AUDIT 2 COMMENT 3 DELETE 30 FLASHBACK ARCHIVE已选择 26 行。2015-818-9Oracle数据库系统原理数据库系统原理-第第18章章 用户和权限管理用户和权限管理授予系统权限授予系统权限SQL grant create session,create table 2 to scott,law,public 3 /2015-818-10Oracle数据库系统原理数据库系统原理-第第18章章 用户和权限管理用户和权限管理授予对象权限授予对象权限 授予law用户改变emp表结构的
8、权限 SQL grant alter on scott.emp to law;授予law用户在emp表的上创建索引的权限 SQL grant index on scott.emp to law;授予law用户引用dept表的权限 SQL grant references on scott.dept to law;授予law用户修改emp表的sal列的权限 SQL grant update(sal)on scott.emp to law with grant option;2015-818-11Oracle数据库系统原理数据库系统原理-第第18章章 用户和权限管理用户和权限管理撤销权限撤销权限
9、SQL revoke create session,create table from law;2015-818-12Oracle数据库系统原理数据库系统原理-第第18章章 用户和权限管理用户和权限管理查询系统权限查询系统权限(不包括角色不包括角色)SQL select grantee,privilege 2 from dba_sys_privs 3 where grantee=SCOTT 4 /GRANTEE PRIVILEGE-SCOTT UNLIMITED TABLESPACE2015-818-13Oracle数据库系统原理数据库系统原理-第第18章章 用户和权限管理用户和权限管理查询系
10、统权限查询系统权限(包括包括角色角色)SQL select privilege 2 from dba_sys_privs 3 where grantee=SCOTT 4 or grantee=PUBLIC 5 or grantee in 6 (select granted_role from dba_role_privs where grantee=SCOTT)7 /PRIVILEGE-UNLIMITED TABLESPACECREATE SEQUENCECREATE TRIGGERSET CONTAINERCREATE CLUSTER2015-818-14Oracle数据库系统原理数据库系统
11、原理-第第18章章 用户和权限管理用户和权限管理查询对象权限查询对象权限SQL select grantee,owner,table_name,privilege 2 from dba_tab_privs 3 where grantee=SCOTT 4 or grantee in 5 (select granted_role from dba_role_privs 6 where grantee=SCOTT)7 /GRANTEE OWNER TABLE_NAME PRIVILEGE-SCOTT SYSTEM TEST EXECUTE2015-818-15Oracle数据库系统原理数据库系统原理
12、-第第18章章 用户和权限管理用户和权限管理角色角色 是权限的集合体 目的是为了简化权限管理 创建角色create role role_name 赋予/撤销角色权限 与用户权限操作方式相同2015-818-16Oracle数据库系统原理数据库系统原理-第第18章章 用户和权限管理用户和权限管理public角色角色 每个用户都拥有,且不能取消。默认情况下,public角色未赋予任何权限。dba_roles中未包含public角色的信息。2015-818-17Oracle数据库系统原理数据库系统原理-第第18章章 用户和权限管理用户和权限管理查询角色及其属性查询角色及其属性dba_rolesSQL
13、 select role from dba_roles 2 where rownum select granted_role from dba_role_privs 2 where grantee=SCOTT 3 /GRANTED_ROLE-RESOURCESELECT_CATALOG_ROLEPLUSTRACECONNECT2015-818-19Oracle数据库系统原理数据库系统原理-第第18章章 用户和权限管理用户和权限管理connect、resource、dba角色角色 三个角色是数据库预置的角色。connect角色只被授予了create session权限。dba角色被授予了除启动和
14、关闭数据库外的所有系统权限。resource角色被授予了create cluster,create indextype,create operator等多种系统权限。2015-818-20Oracle数据库系统原理数据库系统原理-第第18章章 用户和权限管理用户和权限管理connect、resource、dba角色的权限角色的权限SQL select grantee,privilege 2 from dba_sys_privs 3 where grantee in(CONNECT,RESOURCE)4 order by grantee 5 /GRANTEE PRIVILEGE-CONNECT CREATE SESSIONCONNECT SET CONTAINERRESOURCE CREATE TYPERESOURCE CREATE TABLERESOURCE CREATE CLUSTERRESOURCE CREATE OPERATORRESOURCE CREATE INDEXTYPERESOURCE CREATE SEQUENCERESOURCE CREATE TRIGGERRESOURCE CREATE PROCEDURE已选择 10 行。2015-818-21Oracle数据库系统原理数据库系统原理-第第18章章 用户和权限管理用户和权限管理