数据库管理与开发基础教程复习 (三)

用户管理

用户管理

基本用户

用户也叫做方案,是一组逻辑对象的所有者,采用数据库验证和操作系统验证。空间分配,表空间中,必须要为一个用户指派空间配额,用于存储数据库对象。

初始化管理用户
SYS
数据库中最高权限,拥有所有权限,拥有数据字典。
-默认口令 change_on_install

SYSTEM
具有SYSOPER的权限,不能创建、删除数据库,但是可以进行其他管理工作
-默认口令 Manager


创建与管理用户

创建用户

create user username  //用户名
	[identified by password]	//验证方式
	[default tablespace tablespace]  //默认表空间
	[temporary tablespace tablespace]  //临时表空间
	[quota integer [k/m] | unlimited on tablespace]  //表空间名额
	[profile profile]  //概要文件
	[password expire]  //指定口令到期
	[account lock|unlock]  //锁定|解锁账户

修改用户

ALTER USER user [IDENTIFIED BY password]
  [DEFAULT TABLESPACE tablespace]
  [TEMPORARY TABLESPACE tablespace]
  [QUOTA integer [K/M] |UNLIMITED ON tablespace]
  [PROFILE profile]
  [PASSWORD EXPIRE]
  [ACCOUNT LOCK|UNLOCK]

删除用户:DROP USER user [CASCADE];删除有对象的用户:drop user username cascade
**删除用户注意1.要有dba 的权限 2.不能删除正在连接数据库的用户

查询用户 DBA_Users->查看所有用户名,视图all_Users;视图 Users_Users->查看当前用户信息。

权限管理

Oracle 数据库用户权限可以分成三部分:系统特权、对象权限、列访问权限。
其中

  • 数据库系统特权-->SYSTEM_PRIVILEGE_MAP
  • DBA-->DBA_SYS_PRIVS
  • 普通用户 -->USER_SYS_PRIVS

Oracle 数据库用户权限
数据库权限
授予-Grant
grant {system_privilege|role} to {user|role|PUBLIC} [WITH ADMIN OPTION];

回收-Revoke
revoke {system_privilege|role} FRO {user|role|PUBLIC};

对象权限
授予-grant

grant{boject_privilege|all} [(column_list)] ON schema.object TO 
{user|role|PUBLIC} WITH GRANT OPTION;

回收-Revoke

revoke {object_privilege|ALL} ON schema.object
FROM {user|role|PUBLIC} [CASCADE CONSTR AINTS];

注意:一个用户呗多用户授予权限后,其中一个用户收回权限,不影响其他用户授予的权限
收回 With grant option 或者 With admin option 要首先回收相应的权限,再重新授予该权限而不再授予 With grant option 或者 With admin option
传递权限 With admin option 给其他用后,如果此系统权限被回收,其他用户仍然拥有该权限。
传递权限 With grant option给其他用后,如果此对象权限被回收,其他用户该对象权限被回收。

create session 创建会话能力

角色管理

因为数据库中权限较多,为方便对用户权限的管理,将一组相关的权限授予某个角色,然后授予给需要的用户。

创建角色

CREATE ROLE role
  [NOT IDENTIFIED|IDENTIFIED]
  [BY PASSWORD|EXTERNALLY];

Create role r_teacher;
Create role r_student;

修改角色

ALTER ROLE role
  [NOT IDENTIFIED|IDENTIFIED]
  [BY PASSWORD|EXTERNALLY]

删除角色
DROP ROLE role

基本的预定义角色

CONNECT create session
RESOURCE create cluster,create indextype,create operator等
DBA 具有大多系统权限、其他若干角色。
SELECT_、CATALOG_ROLE 没有系统权限;但对数据字典的HS_ADMIN_ROLE和1700多种对象权限

概要文件

功能:控制用户对系统和数据库资源的使用。
方法:设置预定义资源参数
主要是对每个用户当前的会话数,cpu使用时间、私有的SQL和PL/SQL区使用、逻辑读取的实现、用户链接的空闲时间
alter system set resource_limit = TRUE:启动资源限制

创建概要文件:create PROFILE profile LIMIT
简单示例:

Create profile "tempprofile"
	limit cpu_per_session 1000
	cpu_per_call 1000
	connect _time 30
	idle_time default
	session_per_user 10
	logical_peads_per_session 1000
	logical_peads_per_call 1000
	private_sga 16k
	compostite_limit 100
	failed_login_attempts 3
	password_lock_time 5\
	password_grace_time 60
	password_life_time 30
	paasword_reues_max default
	password_reuse_time 30;

cpu_per_call:限制一个SQL语句使用的CPU时间
logical_reads_per_session:限制每个会话读取的数据库数据块数,包括从内存和磁盘读取的总和。
logical_reads_per_call :限制SQL语句读取的数据库数据块数,包括内存与磁盘
private_SGA:SGA中私有区域的大小
idle_time:指定一个会话可以连续空闲的最长时间,单位:分钟。
failed_login_attemps:最大错误登录次数
password_lock_time:登录失败后账户被锁天数
password_life_time:密码有效天数
分配概要文件:create user

posted @ 2024-12-06 14:57  海&贼  阅读(58)  评论(0)    收藏  举报