`

Oracle中超级用户权限的管理

 
阅读更多
 Oracle 的用户根据所被授予的权限分为系统权限和对象权限。其中最高的权限是sysdba。 Sysdba具有控制Oracle一切行为的特权,诸如创建、启动、关闭、恢复数据库,使数据库归档/非归档,备份表空间等要害性的动作只能通过具有sysdba权限的用户来执行。这些任务即使是普通DBA角色也不行。Sysoper是一个与sysdba相似的权限,只不过比sysdba少了SYSOPER privileges WITH ADMIN OPTION,CREATE DATABASE,RECOVER DATABASE UNTIL这几个权限而已。这两者的认证方式是相同的办法,所以下面只介绍sysdba的认证治理。
  
  一般对sysdba的治理有两种方式:操作系统认证和密码文件认证。具体选择那一种认证方式取决于:你是想在Oracle运行的机器上维护数据库,还是在一台机器上治理分布于不同机器上的所有的Oracle数据库。若选择在本机维护数据库,则选择操作系统认证可能是一个简单易行的办法;若有好多数据库,想进行集中治理,则可以选择password文件认证方式。
  
  使用操作系统认证方式的配置过程:
  1. 在操作系统中建立一个合法帐户。
  具体来说,在NT上,首先建立一个本地用户组,取名为ORA_<SID>_DBA,其中SID为该数据库实例的SID,或者建立一个ORA_DBA地组,该组不对应于任何一个单独的Oracle实例。这样当一个NT上有好几个Oracle实例时,不用分别治理。然后再NT上建立一个用户,并且把它归入该组中。但是实际上这两步在Oracle8I安装过程中已经自动完成了,一般不用手动进行。 字串5
  第三步:在sqlnet.ora(位于$ORACLE_HOME/NETWORK/ADMIN目录中)中,把SQLNET.AUTHENTICATION _ SERVICES 设置为SQLNET.AUTHENTICATION_SERVICES= (NTS),意思为使用NT认证方式。
  第四步,在INIT<SID>.ORA中,把REMOTE_LOGIN_PASSWORD设置为NONE,意思是不用password认证方式。
  完成以上步骤后,就可以在登录到NT后,直接在SQL*Plus 和SERVER MANAGER中CONNECT INTERNAL (CONNECT / AS SYSDBA)来作为超级用户登录到Oracle中,执行一些只有超级用户才能进行的操作。
  在Unix下,情况有些不同。究竟这是两个完全不同的操作系统。
  首先,在安装Oracle之前,建立一个DBA组,这一步不用说了,不然是装不上Oracle的。一般还建立一个名为Oracle的用户,并把它加入到DBA组中。
  第二步, 设置REMOTE_LOGIN_PASSWORD为NONE。在Oracle8.1以后,该参数默认为EXCLUSIVE。一定要记得改过来。
  第三步, 用该用户名登录Unix,运行SQL*Plus 或者SERVER MANAGER,输入以下命令:CONNECT INTERNAL (CONNECT / AS SYSDBA)来登录到Oracle中。
  
  使用password文件认证的具体步骤:
  Oracle提供orapwd实用程序来创建password 文件,运用orapwd建立该认证方式的具体步骤如下:

字串3


  1. 使用Orapwd实用程序来创建一个PASSWORD文件。
  语法:
  orapwd file=文件名 password=internal用户密码 entried=entries.
  具体解释:
  文件名要包含完整的全路径名,假如不指定,Oracle把它默认放置$ORACLE_HOME/dbs(Unix下)或者$ORACLE_HOME/DATABASE(NT下)下。
  用户密码是用户internal的密码。当然后来还可以再向里边加入别的超级用户。
  Entries表示最大答应有的超级用户数目。这个是一个可选的。前两者是必须指定的。一般会把它设置的比实际需要大一些,以免不够。
  
  2. 把INIT<SID>.ORA中REMOTE_LOGIN_PASSWORD设置为EXCLUSIVE 或SHARED.使用EXCLUSIVE表示只有当前INSTANCE使用这个password文件。而且答应有别的用户作为sysdba登录进系统里边,而若选择了SHARED,则表明不止一个实例使用这个密码文件,伴随着一个很强的约束:sysdba权限只能授予sys和internal这两个用户名。(其实internal不是一个实际用户,而只是sys作为sysdba登录时的一个别名。)
  同时还要记得把sqlnet.ora文件中SQLNET.AUTHENTICATION _SERVICES设置为NONE。一般在Unix下它是默认设置。在NT下,若选择典型安装时,会使用OS认证,而自定义时会使用密码文件认证方式。在安装过程中会提示输入INTERNAL密码。这样的话,就不用在手工创建密码文件和设定INTERNAL的密码了。
字串5

  
  3. 用SQL*Plus 或SERVER MANAGER运行下面命令登录进系统:CONNECT INTERNAL/密码。
  
  注重:
  1.在Oracle8.1.6安装在WIN2000下创建数据库时,经常会发生凭证检索失败的错误。这是由于Oracle不能应用OS认证的结果。一般可以通过修改sqlnet.ora中SQLNET.AUTHENTICATION _SERVICES为NONE来解决。这时,Oracle将采用密码文件认证方式。
  
  2.由于Oracle有几个系统预建的用户,所以最好在安装完成以后马上改变这些用户的密码。系统默认得密码分别为:internal/oracle , sys/change_on_install, system/manager.
  
  3.当选择密码文件认证方式时,可以再向系统中加入其他超级用户。比如用以下语句把用户SCOTT加入超级用户之中:(由具有sysdba权限的人执行)
  
  SQL>GRANT SYSDBA TO SCOTT;这样SCOTT用户就具有了sysdba权限。注重,此时SCOTT用户可以以两种身份登录:SCOTT , SYS.当SCOTT在登录时没有输入AS SYSDBA时,SCOTT是作为普通用户登录的。而当登录时输入了AS SYSDBA时,此时SCOTT登录进去的用户实际上为sys。这可以从下图观察:
  
  4. 当前系统中的具有sysdba权限的用户名可以从数据字典视图v$pwfile_user中查询得到: SELECT * FROM V$PWFILE_USERS; 如上图所示。
字串5


  
  5. 系统中最大的具有sysdba权限的用户数由创建密码文件时的ENTRIES参数决定。当需要创建更多的具有sysdba权限的用户时,就需要删除原有的密码文件,重新创建一个。这需要关闭数据库,删除密码文件,重新创建一个新的密码文件,在entries中输入足够大的数目。再启动Oracle。这时,所有原来北授权的超级用户都不再存在,需要重新授权。所以在重新创建密码文件前,先要查询该视图,记下用户名,再在创建完密码文件后重新授权。
  
  6. Internal用户密码忘记的处理方法:
  有两种办法:
  1. ALTER USER SYS IDENTIFIED BY 新密码;//这同时也改变了Internal的密码,在Oracle8I中通过
  2. 重新创建一个新的密码文件,指定一个新的密码。

分享到:
评论

相关推荐

    Oracle中超级用户权限的管理.pdf

    Oracle中超级用户权限的管理.pdf

    oracle用户权限管理使用详解

    1)sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认的密码是sys。登录语句:SQL&gt; conn sys/sys as sysdba; 2)system用户是管理操作员,权限也很大。具有sysoper角色,没有...

    ASP.NET权限管理系统(FrameWork)

    ASP.NET权限管理系统(FrameWork) 1.起源 在我们开发软件过程中,经常会需要开发一个后台管理程序.用于管理我们开发的前台软件. 当你开发的软件越来越多的时候,你的管理后台也会越来越多.这时如果有一个统一的管理...

    Oracle 权限管理

    Oracle安装成功后,会默认生成 三个用户 sys 用户:超级管理员 权限最高 它的角色 dba system 用户:是系统管理员 权限很高 他的角色是dbaoper scott用户:普通用户 密码 tiger

    ASP.NET权限管理系统

    ASP.NET权限管理系统(FrameWork) 1.0.7源码 1.起源 在我们开发软件过程中,经常会需要开发一个后台管理程序.用于管理我们开发的前台软件. 当你开发的软件越来越多的时候,你的管理后台也会越来越多.这时如果有一个...

    Oracle知识点总结

    (1)sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认的密码是change_on_install (2)system用户是管理操作员,权限也很大。具有sysoper角色,没有create database的权限...

    asp.NET权限管理系统(FrameWork) 1.0.7源码

    1)其可以支持多个应用,多个模块的权限管理. 2)支持Access和MsSql200/2005及Oracle9i以上. 3)采用角色来进行权限的授权,每个用户可以属于多个角色,享有交差权限. 4)整合方便,权限检测采用httpmodule方式检测.基本不用...

    韩顺平老师oracle教程听课笔记

    安装 Oracle安装会自动的生成sys用户和system用户: (1)sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认的密码是change_on_install (2)system用户是管理操作员,权限也很...

    韩顺平oracle学习笔记

    1Sys用户 是 超级用户,具有最高权限,具有sysdba角色,create database? 的权限,默认密码是manager 2System 用户 是 管理操作员,权限也很大,具有sysoper角色,没有create ? database权限,默认密码是 change_on...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    1. sys用户:超级用户,完全是个SYSDBA(管理数据库的人)。拥有dba,sysdba,sysoper等角色或权限。是oracle权限最高的用户,登录时不能用normal。 2. system用户:超级用户,默认是SYSOPT(操作数据库的人),不过它也...

    Oracle数据库的用户管理

     (1)sys用户是超级用户,具有高权限,具有sysdba角色,有create database的权限。该用户默认的密码是manager  (2)system用户是管理操作员,权限也很大,具有sysoper角色,没有create database的权限。默认的...

    java毕设源码基于ssm框架+oracle数据库仓库管理+sql数据库文件基于web

    * 系统操作权限管理。系统提供基本的登入登出功能,同时系统包含两个角色:系统超级管理员和普通管理员,超级管理员具有最高的操作权限,而普通管理员仅具有最基本的操作权限,而且仅能操作自己被指派的仓库。 * ...

    易捷智慧校园平台(资产管理、竞赛管理、人员管理)

    根据用户权限的分配,用户可管理本单位或本部门的资产,可理解为高级管理员和部门管理员。部门管理员仅可管理本部门的资产,可查看本部门资产的详细信息,可批量修改存放地点和领用人;高级管理员可管理本单位的...

    oracle教程入门

    学生将学习使用管理工具来启动、关闭数据库,创建数据库、管理文件和数据存储,并管理用户及其权限,另外,学员们还将学习组织数据库,在不同环境下,不同的数据库间迁移数据。动手练习活动将帮助学员加强对关键概念...

    Oracle数据库系统加固规范.doc

    01-01-03 "编号 "SHG-Oracle-01-01-03 " "名称 "限制超级管理员远程登录 " "实施目的 "限制具备数据库超级管理员(SYSDBA)权限的用户远程 " " "登录。。 " "问题影响 "允许数据库超级管理员远程非法登陆 " "系统...

    Jsp物流管理系统源码 JAVAJSPWULIUGUANLI.rar

    Jsp物流管理系统源码 源码描述: 一、源码介绍 Jsp物流管理系统源码SSH,oracle... 由超级管理员对用户分配不同的权限,权限包括:配送点管理员,配送点操作员。 三、注意事项 开发环境为jdk1.5,数据库为 oracle9.2i

    学士后第二单元项目(超市账单管理系统)

    数据库打包好在里面,我在用户登录后了权限要求,所有管理员和用户都不能删除自己的信息,如果是超级管理员,可以对任何用户操作,如果是管理员(经理),也可以对任何用户操作,但是不能对超级管理员做任何操作,只能查看,...

    citrix 中文管理操作手册

    减少流应用程序的用户权限 53 配置应用程序限制和重要性 54 配置已发布应用程序的音频和加密选项 54 配置应用程序外观 56 禁用或启用已发布的应用程序 56 删除已发布的应用程序 57 将已发布应用程序移动到其他文件夹...

    Oracle基础介绍及常用相关sql*plus命令

     1.sys用户是超级用户,具有高权限,具有sysdba角色,有create database的权限,该用户默认的密码是manager  2.system用户是管理操作员,权限也很大,具有sysoper角色,没有create database的权限,默认的

    聊聊Oracle Default Role

    Oracle系统权限基础是建立在三个维度层面上,即系统权限(System Privilege)、对象权限(Object Privilege)和角色权限(Role Privilege)。系统权限定义了用户可以执行的某些行为操作;对象权限定义了用户在某个...

Global site tag (gtag.js) - Google Analytics