`
onTheJavaWay
  • 浏览: 18607 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Oracle中system用户的实际权限

阅读更多

  之前新建了一个数据库,通过pl/sql developer登录,使用的是system用户,身份为SYSDBA,结果报错:insufficient privileges( 权限不足 )。最后只好让sys用户登录后执行grant sysdba to system为system用户赋予sysdba权限。


  这里就有了问题:难道system用户不是默认具有SYSDBA权限的吗?如果不是,为什么以前很多时候,数据库建好后直接就可以用system作为sysdba登录呢?


  首先要了解的是,
在Oracle数据库系统中,用户如果要以特权用户身份(INTERNAL/SYSDBA/SYSOPER)登录Oracle会有两种身份验证的方法:操作系统验证方式(OS)、密码文件验证方式。OS验证方式是指,在登录Oracle时,让操作系统来完成登录用户的权限验证。具体是:安装 Oracle时(注意不是创建Oracle数据库实例时),Oracle数据库服务器所在的操作系统会产生一个用户组(windows中默认是 ORA_DBA),这个组中的用户在登录操作系统后又去登录Oracle时,无论他输入的用户名密码是什么,都能够以sysdba身份登录成功。但是这时 候实际上是以sys用户在登录的,所以登陆成功后以 show user命令查看当前登录的用户时,返回的是sys。


  密码文件验证是指,Oracle通过一个密码文件对登录的用户进行权限验证,这个文件中记录着 sys用户的口令以及其它 特权用户 的用户名/口令,通俗的说就是这个文件中记录了当前具有sysdba权限的用户名及其口令。通常密码文件是 存放在%ORACLE_HOME%\DATABASE目录下,在使用Oracle Instance Manager创建一数据库实例的时侯,Oracle系统会自动创建一个与实例对应的密码文件,文件名为 PWDSID.ORA,其中SID代表相应的Oracle数据库系统标识符。此密码文件是进行初始数据库管理工作的基础。在此之后,管理员也可以根据需 要,使用工具ORAPWD.EXE手工创建密码文件。


  那么这两种验证方式在哪里设置呢?具体在Oracle9i中是%ORACLE_HOME%\ora92\network\admin\sqlnet.ora文件中,有如下的配置:


  SQLNET.AUTHENTICATION_SERVICES = (NONE)  # 这是密码文件验证方式.
  SQLNET.AUTHENTICATION_SERVICES = (NTS)     # 这是OS验证方式.

  说完了验证方式,再说一下sys、system用户的权限。sys用户拥有dba,sysdba,sysoper等角色或权限,是oracle权限最高的 用户,所有oracle的数据字典的基表和视图都存放在sys用户中,登陆时也只能用sysdba、sysoper这两个身份,不能用normal身份。 system用户拥有普通角色权限,只能用normal身份登陆,除非你对它授予了sysdba的系统权限或者syspoer系统权限。


  那这样的话,为什么之前很多时候可以直接用system用户作为syadba登录呢?那时因为,当时Oracle的验证方式是OS方式。而这次因为我登录前恰好改动了sqlnet.ora文件,所以就不能以system用户通过sysdba登录了。

分享到:
评论

相关推荐

    Oracle_sys和system用户的区别

    标题与描述概述的知识点主要集中在Oracle数据库中两个特殊用户的区别:sys与system用户,以及与之相关的系统权限sysdba和sysoper的区别。接下来,我们将深入探讨这些知识点。 ### Oracle_sys和system用户的区别 ##...

    oracle用户的权限详细说明以及赋权的操作

    在Oracle中,权限可以细分为系统权限(System Privileges)和对象权限(Object Privileges)。系统权限允许用户执行数据库级别的操作,如创建用户、创建表空间等;而对象权限则允许用户对特定数据库对象进行操作,如对...

    Oracle数据库system用户忘记了密码怎么办?.

    以下是从标题、描述、标签以及部分内容中提炼出的关键知识点,详细介绍如何处理Oracle数据库system用户忘记密码的情况。 ### Oracle数据库system用户密码重置方法 #### 方法一:通过sysdba权限重置密码 1. **打开...

    Oracle中sys和system用户、系统权限和角色的区别

    总的来说,理解Oracle中的sys和system用户、系统权限和角色之间的差异,对于有效地管理和维护Oracle数据库至关重要。sys用户具有最高权限,适用于数据库的高级管理和维护,而system用户则更适合于日常的数据库管理和...

    Oracle10g用户和权限管理ppt

    Oracle10g中的用户和权限管理是数据库管理的重要组成部分,它确保了数据的安全性和访问控制。在这个Oracle10g的内部培训课程中,主要涵盖了以下几个关键知识点: 1. **创建和管理数据库用户账户**:每个用户账户都...

    Oracle中sys,system,scott,hr用户的区别.pdf

    Oracle 数据库中包含多个内置用户,每个用户都有特定的角色和权限,主要分为四个常见的预定义用户:SYS、SYSTEM、SCOTT 和 HR。了解这些用户之间的区别对于管理和维护 Oracle 数据库至关重要。 1. SYS 用户: SYS ...

    Linux下修改Oracle用户密码

    本文将深入解析在Linux操作系统中如何安全有效地修改Oracle数据库用户的密码,包括操作步骤、注意事项以及相关原理。 ### 深入理解Linux下修改Oracle用户密码 #### 一、前期准备与环境要求 在开始修改Oracle用户...

    Oracle系统权限和对象权限

    Oracle提供了两种主要类型的权限:系统权限(System Privileges)和对象权限(Object Privileges)。这两种权限类型分别允许用户执行特定的操作,如创建表、视图、触发器等,以及对特定数据库对象(如表或视图)进行读写...

    Oracle用户和权限.pdf

    本篇文章将深入探讨Oracle中用户创建、权限分配以及角色的概念。 首先,创建Oracle用户是通过`CREATE USER`命令完成的。语法如下: ```sql CREATE USER 用户名 IDENTIFIED BY 口令 [ACCOUNT LOCK|UNLOCK] ``` ...

    Oracle_审计表_sys.aud$_授权给用户Truncate权限.docx

    本文档将详细介绍如何为特定用户授予截断`SYS.AUD$`表的权限,并提供一系列与之相关的Oracle数据库管理和优化操作。 #### 关键知识点 ##### 1. 授予用户截断审计表的权限 为了确保只有授权的用户能够截断审计表`...

    oracle权限文章

    Oracle权限管理是数据库安全的重要组成部分,它确保了对数据库资源的正确访问和控制。在Oracle中,权限分为系统...在实际应用中,还需要根据业务需求和安全策略,合理分配权限,防止未授权的访问和潜在的数据泄露风险。

    Sys和system用户、sysdba 和sysoper系统权限、dba角色的区别

    Oracle 数据库中,`sys` 和 `system` 是两个非常重要的内置用户,它们拥有不同的权限和功能。`sys` 用户是Oracle数据库权限最高的用户,它维护所有数据字典的基表和视图,这些对象对数据库的正常运行至关重要,且不...

    Oracle默认密码及修改密码.docx

    Oracle提供了一些预定义的系统用户,每个用户都有特定的权限和用途。在初装Oracle数据库时,这些默认密码通常用于初始设置和管理。 首先,让我们看看Oracle的一些默认密码: 1. **sys** 用户:默认密码是 `change_...

    oracle用户密码重置

    在Oracle数据库系统中,用户管理是一项非常重要的任务,它涉及到数据的安全性和访问控制。Oracle提供了多种方式来管理和维护用户账号,其中包括创建新用户、修改用户属性、锁定或解锁用户账号以及重置用户的密码等...

    oracle权限角色

    Oracle权限和角色是数据库管理中的核心概念,它们用于控制用户对数据库对象的访问和操作。在Oracle数据库系统中,权限允许用户执行特定的操作,而角色则是一组预定义的权限集合,可以方便地分配给多个用户。 1. ...

    oracle用户区分

    Oracle数据库中的用户区分至关重要,因为它涉及到权限管理和数据库安全。在这个系统中,有几个特殊的预定义用户,每个都有不同的功能和权限。 首先,`sys`用户是Oracle数据库的核心管理员,它拥有最高级别的权限,...

    system copy -oracle

    【系统复制 - Oracle在SAP环境中的应用】 在IT领域,特别是SAP系统管理中,进行基于Oracle数据库的SAP系统复制是一项常见的任务。这通常涉及到在不同的硬件或软件环境中复制一个完整的SAP系统,包括数据库、应用...

    oracle权限设计

    在Oracle中,权限管理主要包括角色(Role)、系统权限(System Privileges)和对象权限(Object Privileges)。通过精细的权限设计,可以确保只有授权的用户才能执行特定的操作,从而保护敏感数据不受非法访问。 ...

    Oracle中两个主要的用户、三个重要权限的区别和联系

    在Oracle数据库系统中,SYS与SYSTEM是两个非常重要的内置用户,它们各自拥有不同的权限和功能。 - **SYS用户**: - **特点**:SYS用户是一个特殊的内置账户,在Oracle数据库中具有最高的权限。 - **权限**:SYS...

Global site tag (gtag.js) - Google Analytics