当前位置:文档之家› ORACLE数据库用户与权限管理

ORACLE数据库用户与权限管理

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
ADMIN OPTION,CREATE DATABASE,RECOVER DATABASE UNTIL这几个权限而已。

这两者的认证方式是相同的办法,所以下面只介绍sysdba的认证管理。

四、分配访问指定视图的权限。

相关主题