数据库程序设计 9 权限管理
程序员文章站
2022-06-03 21:45:25
...
用户管理
数据库的使用者
oracle 数据库的初始用户:
sys 数据库管理员 具有所有权限
system 一般管理员 没有关闭和启动数据库 做辅助性的功能
scott 普通用户 用户测试网络连接的测试账号
public
不是一个账号 是一个用户组数据库中任何一个用户都属于该组
要给某个用户授予某个权限 只需要授予给public组就可以
用户属性
创建用户的时候进行身份认证
安全属性的设置
安全属性:
身份认证
数据库身份认证
外部身份认证
全局身份认证
默认表空间
临时表空间
表空间配额
概要文件:每一个用户都有一个概要文件
账号状态:
加锁解锁
创建账号:
create user 用户名 IDENTIFIED
[by 密码 | EXTERNALLY | GLOBALLY AS ‘external_name’]
[default tablespace tablespace_name] 设置默认表空间
[temporary tablespace temp_tablespace_name]
[QUOTA n K| M | UNLIMITED on tablespace_name ]
[PROFILE profile_name]
[account lock|unlock];
EXTERNALLY 外部身份认证
例子:
创建一个用户 user3 口令为users 在该表空间的配额为锁定
create user user3
default tablespace users QUOTA 10M on users account lock;
创建账户之后没有授予权限
修改账号
alter user 用户名 IDENTIFIED
[by 密码 | EXTERNALLY | GLOBALLY AS ‘external_name’]
[default tablespace tablespace_name] 设置默认表空间
[temporary tablespace temp_tablespace_name]
[QUOTA n K| M | UNLIMITED on tablespace_name ]
[PROFILE profile_name]
[DEFAULT role_list all[except role_list] | none ]
[account lock|unlock];
删除用户:
drop user 用户名 [cascade]
查看用户
两个表:
ALL_USERS:
包含数据库所有用户的用户名 用户id 和用户的创建时间
DBA_USERS:
包含数据库所有用户的详细信息:
user_users:
包含当前用户的详细信息
dba_ts_quotas:
包含表空间配额信息
user_ts_quotas:
包含当前用户的表空间配额
v$session
包含用户的会话信息
v$open_couser:
包含用户执行的sql语句的信息
权限管理
系统权限:
对象权限: