oracle数据库课件 chapter6safeMON
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5. 应用管理员:管理特定的应用系统。 6.数据库用户(终端用户) 数据库用户通过应用程序与数据库交互。 输入、修改或删除数据; 根据数据生成报表;
二、建立安全策略
每个数据库有一个或多个管理员负责数据库安全。 数据安全策略指的是控制用户对数据库中对象的 访问和使用方法。 每类用户使用不同的安全策略,如口令等。
ALL_USERS:所有用户名及编号,主要列名: USERNAME、USER_ID、CREATED SELECT * FROM ALL_USERS; USERNAME USER_ID CREATED ---------- ------- ---------- ------- ---------SWJ010 351 27-10月-02 SWJ1 465 31-10月-02 SQL>select * from all_users 2 where username like 'SWJ%'; USER_TS_QUOTAS: 表空间配额信息,主要列: TABLESPACE_NAME, BYTES SELECT * FROM USER_TS_QUOTAS;
2. 安全管理员 主要职责: 它注册用户; 监视和管理用户对数据库的访问; 维护系统安全。 如果有安全员,DBA就不完成这些工作。 3.网络管理员 管理ORACLE网络产品,如ORACLE NET。 4. 应用开发者,主要职责 设计开发数据库应用,设计应用的数据库结构; 评估应用存储需求,描述对数据库结构的修改; 与DBA一起建立应用的安全机制
4. 查询用户信息 USER_USERS:当前用户信息表,主要列名: USERNAME(用户名)、 USER_ID (用户编号)、 ACCOUNT_STATUS(状态:OPEN或LOCKED) LOCK_DATE(加锁日期)、 EXPIRY_DATE(口令过期日期) DEFAULT_TABLESPACE(缺省表空间) TEMPORARY_TABLESPACE(临时表空间) CREATED(用户建立日期) select username,user_id,account_status, lock_date,expiry_date,default_tablespace, temporary_tablespace,created from user_users
用SWJ1第一次登录ORACLE时,将提示错误:
ERROR: ORA-28001:the password has expired
注意:新建立用户要想能登录到ORACLE,必须要: GRANT CREATE SESSION TO SWJTEST
例4: CREATE USER SWJ2 IDENTIFIED BY TTTT DEFAULT TABLESPACE SWJ TEMPORARY TABLESPACE TEMP QUOTA UNLIMITED ON SWJ PASSWORD EXPIRE ACCOUNT LOCK; 用SWJ2登录时,显示错误:ERROR: ORA-2800:the account is locked. 必须由管理员解锁: alter user swj2 account unlock
删除用户
DROP USER 用户名 [CASCADE] 选项CASCADE删除用户模式下的所有对象,但 不删除用户建立的角色。 例6: 删除没有对象的用户:DROP USER SWJ1; 例7: 如果用户模式下有对象,必须用命令: DROP USER SWJ2 CASCADE; 例8: 不能删除当前用户。设当前用户SWJ001 SQL> drop user swj001 cascade; drop user swj001 cascade * ERROR 位于第 1 行: ORA-01940: cannot drop a user that is currently connected
数据字典USER_SYS_PRIVS
select * from user_sys_privs; USERNAME PRIVILEGE ADM ----------- ---------------------------------------- --T001 CREATE SESSION NO T001 CREATE USER YES 注意: 有WITH ADMIN OPTION ADM为YES 此时用户T001可将CREATE USER系统权限授 予其它用户或回收。NO时不能(在也没有 GRANT ANY PRIVILEGE时)。
TABLESPACE_NAME BYTES MAX_BYTES BLOCKS MAX_BLOCKS
四、修改用户
1. 修改用户(系统权限:ALTER USER) ALTER USER 用户名 [选项] 这里的选项与CREATE USER中的一样。 例1:alter user swj001 account unlock; --解锁 例2:alter user swj001 account lock; --加锁 例3: alter user swj001 identified by swj --改口令 例4: alter user swj001 quota unlimited on system quota 5M on swj ; 例5:alter user swj001 password expire; 下次用SWJ001登录到ORACLE时,提示改口令。
三、建立用户
1. 用户的特性 每个用户必须有唯一名字和口令 每个用户占有一个模式,模式名同用户名 每个用户可拥有一个缺省表空间 用户可以有存放临时信息的临时表空间 用户可分配自己在表空间的配额空间 用户定义配置文件来表明自己的操作范围 用户有系统权限及对象权限 建立用户必须有CREATE USER系统权限 新建立用户必须授予CREATE SEESION权限 才可登录ORACLE数据库。
系统级权限
用户权限是用户执行SQL语句的权力,或 是访问其它用户对象的权力。权限是赋予 用户或角色。ORACLE有100多种系统权限, 用于完成对数据库操作或对象管理。 1.系统权限表 系统权限可以完成建立、删除、修改数据 库、表空间、数据库对象、用户角色等内 容。
给用户授予系统权限
将系统权限授予用户,要有权限WITH ADMIN OPTION选项,或GRANT ANY PRIVILEGE。 GRANT 系统权限名表 TO 用户名 [PUBLIC] [WITH ADMIN OPTION] PUBLIC 将系统权限授予所有用户 WITH ADMIN OPTION 可将权限授予其它用户 例1:GRANT SELECT ANY TABLE TO T001 例2: GRANT CREATE USER,DROP USER TO T001 WITH ADMIN OPTION T001可将CREATE USER,DROP USER授予其 它用户或回收:grant create user to swj002;
概要文件、用户和角色
一、用户类型 1. 数据库管理员DBA 每个数据库至少有一个DBA,可以有多个,职责: 安装或更新ORACLE服务器和应用工具; 分配存储空间; 建立或修改基本数据库存储结构; 建立数据库对象(表、视图、索引等); 注册用户并维护系统安全信息; 控制和管理用户对数据库的访问; 监视和优化数据库性能;备份或恢复数据库;
QUOTA n ON 表空间,指定对表空间的配额 QUOTA UNLIMIED ON 表空间 ,空间不限制 可以有多个QUOTA 子句 概要文件分配用户可用的资源,不指定用缺省的环境 文件DEFAULT分配给用户 PASSWORD EXPIRE强制用户第一次登录时改变口令 ACCOUNT LOCK建立一个锁定的帐号 3. 例1:CREATE USER WANG1 IDENTIFIED BY WANG; 缺省或临时表空间为SYSTEM, 没有指定配额。 必须CREATE SESSION才能登录。要建立对象 必须用QUOTA配额。
权限
权限是执行一种特殊类型的SQL语句或存取另 一用户的对象的权力。 有两类权限:系统权限和对象权限。 1)系统权限:是执行一处特殊动作或者在对象 类型上执行一种特殊动作的权利。 系统权限可授权给用户或角色,一般,系统权 限只授予管理人员和应用开发人员,终端用户 不需要这些相关功能。 2)对象权限:在指定的表、视图、序列、过程、 函数或包上执行特殊动作的权利。
对于WANG用户,SQL PLUS登录,出错: ERROR: ORA-01045:user WANG lacks CREATE SESSION Privilege ,logon denied.
SWJ001重新登录:Grant create session to wang1 create table dd (n char(3)); 出错 ALTER USER WANG QUOTA 2M ON SYSTEM 注意:用户在表空间必须有配额(不管是否指定缺 省表空间),才可建立对象。
对象级权限
对象级权限是指用户访问其它用户对象的权利。 1. 对象级权限类型 特权|对象 SELECT INSERT UPDATE DELETE ALTER EXECUTE 表 视图 序列 同义词 存储程序
例2:CREATE USER SWJTEST IDENTIFIED BY TEST DEFAULT TABLESPACE SWJ TEMPORARY TABLESPACE TEMP QUOTA 2M ON SYSTEM QUOTA UNLIMITED ON SWJ 例3: CREATE USER SWJ1 IDENTIFIED BY TTTT DEFAULT TABLESPACE SWJ TEMPORARY TABLESPACE TEMP QUOTA UNLIMITED ON SWJ PASSWORD EXPIRE
PUBLIC用户组
• 注意: • 1.不能为PUBLIC用户组设置任何表空 间配额; • 2.不能在PUBLIC模式中创建数据库对 象。
2. 建立用户命令
CREATE USER 用户名 IDENTIFIED BY 口令 [DEFAULT TABLESPACE 表空间名] [TEMPORARY TABLESPACE 表空间名] [QUOTA [整数][UNLIMITED ON 表空间名]] [PROFILE 概要文件名][PASSWORD EXPIRE] [ACCOUNT LOCK|UNLOCK] 说明: 省略缺省表空间,为SYSTEM;表空间必须存在 省略临时表空间,为SYSTEM或其它临时表空 指定临时表空间,表空间是临时而不是永久
PUBLIC用户组
每个数据库中都有一个PUBLIC用户组, Oracle会在创建数据库时自动创建PUBLIC 用户组。每个数据库用户创建后都自动成为 PUBLIC组中的成员。利用PUBLIC用户组可 以方便地为数据库中所有用户授予必要的对 象权限和系统权限。 如果某个用户将一项权限或角色授予 PUBLIC用户组,那么数据库中所有的用户 都会拥有这项权限或这个角色。 PUBLIC组中用户可以查询所有以 USER
பைடு நூலகம்
例3: GRANT CREATE SESSION,ALTER USER TO PUBLIC; 3. 回收系统权限 要有系统权限GRANT ANY PRIVILEGE。授予 权限的用户可以回收它授予其它用户的权限。或 者在得到系统权限时有WITH ADMIN OPTION。 REVOKE 系统权限名 FROM 用户名|PUBLIC 用户SWJ001: 例1: REVOKE CREATE USER FROM T001; 例2: REVOKE ALTER USER FROM PUBLIC;