1、 创建与管理用户
1.1 用户与模式(schema)
模式是某个用户拥有的所有对象的集合。创建数据库对象的任何用户都拥有一个模式,并且都被视为模式用户。
1.2 创建用户
Create user username
Identified [by password | externally | globally as extname]
[default tablespace tablespacename]
[temporary tablespace tablespacename]
[account lock | unlock]
[profile profilename | default]
[password expire]
[quota num [k|m] | unlimited on tablespace]
[quota num [k|m] | unlimited on tablespace]……;
|
参数 |
说明 |
|
User |
要创建的用户名称 |
|
Identified |
验证用户 by password--需要用口令 externally—操作系统验证 globally as extname—用户名和口令会在extname服务里进行验证。需要外部服务器 |
|
Default tablespace |
指定用户创建的对象的默认表空间 |
|
Temporary tablespace |
用于存储临时段的表空间的名称 |
|
Account lock | unlock |
允许用户显式地锁定或解锁用户账号 |
|
Profile |
指定将要指派给用户的配置文件 |
|
Password expire |
允许在创建用户时自动终止用户的口令,从而强制用户在第一次建立成功的实例连接时更改口令 |
|
quota |
允许为用户在表空间上配置一个定额 |
1.3 修改用户属性
Alter user username
Identified [by password | externally | globally as extname]
[default tablespace tablespacename]
[temporary tablespace tablespacename]
[account lock | unlock]
[profile profilename | default]
[password expire]
[quota num [k|m] | unlimited on tablespace]
[quota num [k|m] | unlimited on tablespace]……;
除了用户名外,用户所有的属性都可以由alter user命令修改。
1.4 删除用户
Drop user username [cascade]
使用视图DBA_OBJECTS,查询待删除用户拥有的对象。
使用视图dba_dependencies视图查询依赖于待删除用户所拥有对象的对象。
2、 授予与取消权限
2.1 系统权限
2.1.1 常见的系统权限:create session, create table, create user, backup any table 等等
2.1.2 授予系统权限
Grant privilege [, privilege, …]
To username [, username, …]
[with admin option];
使用with admin option 可以使被授权者能够为其他用户授予系统权限。
2.1.3 取消权限
Revoke privilege [, privilege, …]
To username [, username, …];
某个用户被授予with admin option 权限,并且他又授相同的权限给其他用户,那么取消这个用户的系统权限并不会级联取消其他用户的相同权限
2.1.4 查询系统权限
使用dba_sys_privs和user_sys_privs数据字典视图查询系统权限。
2.2 对象权限
2.2.1常见的对象权限:select, update, delete, insert, execute, alter, index, references
2.2.2授予对象权限
Grant privilege [, privilege, …] | all [(colum,…)]
On objectname
To user | role | public
[with grant option];
对象权限由对象的拥有者授予。
不建议在列级上授予对象权限。
2.2.3取消对象权限
Revoke privilege [, privilege, …] | all [(colum,…)]
On objectname
To user | role | public
[cascade constraints];
如果取消使用with grant option被授予权限的用户的某个对象权限,那么也会删除被这个用户授予该权限的其他用户的相同权限,也就是取消授权是级联的。
2.2.4 查询对象权限
User_tab_privs_made
User_tab_privs_recd
All_tab_privs_made
All__tab_privs_recd
User_col_privs_made
User_col_privs_recd
All_ col_privs_made
All_ col_privs_recd
3、 创建与管理角色
3.1 角色
角色是保存权限的容器,简化了为用户授予权限的过程,并且能够进行外部身份验证。
3.2 预定义角色:dba, connect, resource, public 等等
3.3 创建角色
[not identified | identified
By password | externally | globally];
每个角色的名称必须是唯一的。
3.4 修改角色
Alter role rolename
[not identified | identified
By password | externally | globally];
3.5 为角色授予和取消权限
3.5.1为角色授予权限
系统权限
GRANT ALTER USER
TO "ROLENAME"
WITH ADMIN OPTION;
对象权限
GRANT ALTER
ON "JOHN"."JOHN1"
TO "ROLENAME";
3.5.2 为角色取消权限
取消系统权限
revokeT ALTER USER
TO "ROLENAME"
WITH ADMIN OPTION;
取消对象权限
Revoke ALTER
ON "JOHN"."JOHN1"
TO "ROLENAME"
Cascade constraints;
3.6 为用户授予和取消权限
授予权限
Grant rolename
To username
With admin option;
取消权限
Revoke rolename
To username
With admin option;
3.7 设置用户的默认角色
Alter user username default role
Role | all except role | none;
3.8 启用和禁用角色
Set role rolename | all except rolename | none
3.9 删除角色
Drop role role_name
4、 管理配置文件(profile)
4.1 创建、更改和删除配置文件
创建配置文件
CREATE PROFILE "PROFILENAME" LIMIT
CPU_PER_SESSION DEFAULT
CPU_PER_CALL DEFAULT
CONNECT_TIME DEFAULT
IDLE_TIME DEFAULT
SESSIONS_PER_USER DEFAULT
LOGICAL_READS_PER_SESSION DEFAULT
LOGICAL_READS_PER_CALL DEFAULT
PRIVATE_SGA DEFAULT
COMPOSITE_LIMIT DEFAULT
PASSWORD_LIFE_TIME DEFAULT
PASSWORD_GRACE_TIME DEFAULT
PASSWORD_REUSE_MAX DEFAULT
PASSWORD_REUSE_TIME DEFAULT
PASSWORD_LOCK_TIME DEFAULT
FAILED_LOGIN_ATTEMPTS DEFAULT
PASSWORD_VERIFY_FUNCTION DEFAULT
更改配置文件
Alter profile
删除配置文件
Drop profile profile_name [cascade]
4.2 为用户指派配置文件
Alter user username profile profilename;
或者
Create user username identified by password profile profilename;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9537053/viewspace-721105/ ,如需转载,请注明出处,否则将追究法律责任。