ORACLE数据库用户与权限管理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ORACLE数据库用户与权限管理ORACLE是多用户系统,它允许许多用户共享系统资源。为了保证数据库系统的安全,数据库管理系统配置了良好的安全机制。
2.1 ORACLE数据库安全策略
建立系统级的安全保证
系统级特权是通过授予用户系统级的权利来实现,系统级的权利(系统特权)包括:建立表空间、建立用户、修改用户的权利、删除用户等。系统特权可授予用户,也可以随时回收。ORACLE系统特权有80多种。
建立对象级的安全保证
对象级特权通过授予用户对数据库中特定的表、视图、序列等进行操作(查询、增、删改)的权利来实现。
建立用户级的安全保证
用户级安全保障通过用户口令和角色机制(一组权利)来实现。引入角色机制的目的是简化对用户的授权与管理。做法是把用户按照其功能分组,为每个用户建立角色,然后把角色分配给用户,具有同样角色的用户有相同的特权。
2.2 用户管理
ORACLE用户管理的内容主要包括用户的建立、修改和删除用户的建立
2.3系统特权管理与控制
ORACLE 提供了80多种系统特权,其中每一个系统特权允许用户执行一个或一类数据库操作。
授予系统特权
回收系统特权
显示已被授予的系统特权(某用户的系统级特权)
2.4 对象特权管理与控制
ORACLE对象特权指用户在指定的表上进行特殊操作的权利。这些特殊操作包括增、删、改、查看、执行(存储过程)、引用(其它表字段作为外键)、索引等。
授予对象特权
//级联授权
回收对象特权
显示已被授予的全部对象特权
2.5 角色的管理
ORACLE的角色是命名的相关特权组(包括系统特权与对象特权),ORACLE用它来简化特权管理,可把它授予用户或其它角色。
ORACLE数据库系统预先定义了CONNECT 、RESOURCE、 DBA、 EXP_FULL_DATABASE、IMP_FULL_DATABASE五个角色。CONNECT具有创建表、视图、序列等特权;RESOURCE具有创建过程、触发器、表、序列等特权、DBA具有全部系统特权;EXP_FULL_DATABASE、
IMP_FULL_DATABASE具有卸出与装入数据库的特权。
通过查询sys.dba_sys_privs可以了解每种角色拥有的权利。
授予用户角色
=================================== 一、Oracle数据库默认创建的用户
SYS/默认密码为change_on_install或install
系统用户,数据字典所有者,超级权限所有者(SYSDBA),建议创建后立即修改密码,此用户不能被删除。
SYS用户将被默认创建并授予DBA角色,所有数据库数据字典中的基本表和视图都存储在名为SYS的方案中,这些基本表和视图对于Oracle数据库的操作时非常重要的。为了维护数据字典的真实性,SYS方案中的表只能由系统来维护,他们不能被任何用户或数据库管理员修改,而且任何用户不能在SYS方案中创建表。
SYSTEM/默认密码为manager
数据库默认管理用户,建议创建后立即修改密码,此用户不能被删除。
与SYS一样,在创建Oracle数据库时,SYSTEM用户被默认创建并被授予DBA角色,用于创建显示管理信息的表或视图,以及被各种Oracle数据库应用和工具使用的内容表或视图。
OUTLN/outln 锁定
优化计划的存储大纲用户,建议创建后立即修改密码,此用户不能被删除。
SCOTT/tiger 锁定
ADAMS/wood
JONES/steel
CLARK/cloth
BLAKE/paper
实验、测试用户,含有例表EMP与DEPT,可以修改密码,用户可以被删除,在产品环境建议删除或锁定。
HR/hr (Human Resources)
OE/oe (Order Entry)
SH/sh (Sales History).
实验、测试用户,含有例表EMPLOYEES与DEPARTMENTS,可以修改密码,用户可以被删除,在产品环境建议删除或锁定。
DBSNMP/dbsnmp
Oracle Intelligent agent,可以改变密码,需要放置新密码到snmp_rw.ora文件,如果不需要Intelligent Agents,可以删除。
以下为可选安装用户,若不需要,就不安装
CTXSYS/CTXSYS:Oracle interMedia (ConText Cartridge)管理用户
TRACESVR/TRACE:Oracle Trace server
ORDPLUGINS/ORDPLUGINS:Object Relational Data (ORD) User used by Time Series,
etc.
ORDSYS/ORDSYS:Object Relational Data (ORD) User used by Time Series, etc DSSYS/DSSYS:Oracle Dynamic Services and Syndication Server
MDSYS/MDSYS:Oracle Spatial administrator user
AURORA$ORB$UNAUTHENTICATED/INVALID Used for users who do not authenticate in Aurora/ORB
PERFSTAT/PERFSTAT:Oracle Statistics Package (STATSPACK) that supersedes UTLBSTAT/UTLESTAT
SYSMAN/oem_temp
aqadm/aqadm
二、用户sys与system的区别
sys是Oracle数据库中权限最高的帐号,具有create database的权限,而system没有这个权限,sys的角色是sysdba,system的角色是sysoper。
其余就是他们两个用户共有的权限了:
startup/shutdown/dba两个用户都是可以管理的。平时用system来管理数据库就可以了。这个用户的权限对于普通的数据库管理来说已经足够权限了。
三、登录身份Sysdba与Sysoper
Oracle 的用户根据所被授予的权限分为系统权限和对象权限。其中最高的权限是sysdba。
Sysdba具有控制Oracle一切行为的特权,诸如创建、启动、关闭、恢复数据库,使数据库归档/非归档,备份表空间等关键性的动作只能通过具有sysdba权限的用户来执行。这些任务即使是普通DBA角色也不行。
Sysoper是一个与sysdba相似的权限,只不过比sysdba少了SYSOPER privileges WITH