`
弦上的福音
  • 浏览: 21929 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Oracle 登录认证方式(转)

阅读更多

1 sqlplus /nolog,conn /as sysdba 之所以能够登录,在于oracle登录时的身份认证方式。可以试一下这个:sqlplus /nolog,conn abcd/sss as sysdba,你发现也能够登录成功。
2 oracle在登录时,有三种身份认证方式:操作系统身份认证、密码文件认证、数据库认证。而conn /as sysdba是属于操作系统认证。
    为什么这样说呢?你当前电脑开机时登录的用户,也就是进入操作系统的用户,例如是gooooal,它在你电脑的ora_dba组中。
可以在“我的电脑”单击右键,找到“管理”,选择“本地用户和组”,发现有一个组叫“ora_dba”,双击它,看到成员列表中有“gooooal”。
    也就是在conn /as sysdba,oracle会进行操作系统验证,发现你当前登录的用户就属于ora_dba组,因此才可以登录成功。
    你可以把ora_dba组中的“gooooal”用户删除,再conn /as sysdba,就发现进不去了。
3 密码文件验证可以查阅相关资料,百度oracle的身份验证方式,就可以查到相关资料。
4 其实在linux或unix环境下,安装oracle是要设置很多东西的,比如用户和用户组的设置等,不像在windows下,安装傻瓜化了。
5 关于安全性,如果将oracle安装在本地,其实你本地就是oracle服务器,所以权限高一些。你用哪个用户来启动oracle实例?哪个用户来mount数据库?哪个用户来打开数据库?从而才能进行之后的select等sql操作?
  在oracle实例等还没有启动的时候,oracle数据库里面建的用户肯定是不能使用的。所以才会有操作系统身份验证。用这个用户,来启动oracle实例
、转载数据库等。之后才能做oracle表的增删改查。

 

 

现象:

C:\>sqlplus "/as sysdba"
SQL*Plus:Release 10.2.0.1.0 - Production on Fri Nov 2 16:16:22 2007
Copyright (c) 1982, 2005, Oracle. All right reserved.
ERROR:
ORA-01031: insufficient privileges
Enter user-name:

这个错误一般是由于oracle登录认证出现了问题:

Oracle登录认证有两种方式,基于操作系统的登录认证,基于oracle的验证。

可以通过改变sqlnet.ora文件,可以修改oracle登录认证方式:

SQLNET.AUTHENTICATION_SERVICES= (NTS)是基于操作系统验证;SQLNET.AUTHENTICATION_SERVICES= (NONE)是基于Oracle验证;SQLNET.AUTHENTICATION_SERVICES= (NONENTS)是二者共存。

经过测试,以上规则只适用于windows服务器,在linux下规则如下

默认情况下linux下的oracle数据库sqlnet.ora文件没有SQLNET.AUTHENTICATION_SERVICES参数,此时是基于操作系统认证和oracle密码验证共存的,加上SQLNET.AUTHENTICATION_SERVICES参数后,不管SQLNET.AUTHENTICATION_SERVICES设置为NONE或者NTS,都是基于oracle密码验证的。

Windows下设置oracle登录验证为操作系统验证方式的方法:

1:把os用户加到ora_dba
2
:设置sqlnet.ora SQLNET.AUTHENTICATION_SERVICES = (NTS)
或者你可以重建口令文件来改密码,只不过原来授予sysdbasysoper权限的用户,就不再具有这2个权限了。

 

有一种oracle的登录方式是操作系统验证登录方式,即常说的OS验证登录方式,在SQL server中也有这种方式。
当用Windows的管理员帐户登陆系统后登陆数据库,只要加上 as sysdba,不管用什么用户名和密码登陆,都正确,因为这时系统已经忽略了/ 两边的用户名和密码,默认就是sys用户。
有些朋友经常使用connect / as sysdba登录,但不知道为什么没有提供用户名和密码就得到了sysdba的权限。还认为这样是不是不安全呢?

Oracle在常见的多用户操作系统上都可以进行OS认证方式来登录。例如solaris,windows等等。
下面以常见的windows操作系统来说明看一下这个操作系统认证方式登录的原理。如果你的机器可以使用connect / as sysdba获取sysdba的权限,那么下面的每一个过程你的机器上都会得到验证,如果不能,按照下面的操作更改后,你也能以这种方式登录。

  1. 在命令行下敲入compmgmt.msc 进入计算机管理
  2. 选择本地用户和组—>组
  3. 看是不是有一个组的名字叫做ORA_DBA
  4. 双击改组可以看到里面是不是有administrator用户
  5. 想一想你是不是以administrator用户登录的呢?
  6. 再进入Oracle安装目录(即$ORACLE_HOME 一般是D:"oracle)"ora92"network"admin 找到sqlnet.ora文件看看里面的是不是有SQLNET.AUTHENTICATION_SERVICES= (NTS)
  7. 如果这些都对的话,你就能已操作系统认证的方式(connect / as sysdba)来登录Oracle

接下来的问题是,如果你的数据很重要,出于安全考虑,希望禁止这种操作系统认证的方式。那么该怎么做呢?
很简单,找到在刚才的第6步骤中的sqlnet.ora文件,将SQLNET.AUTHENTICATION_SERVICES= (NTS)改为SQLNET.AUTHENTICATION_SERVICES=none即可。你再试一下看看会不会得到到如下结果:
ERROR:
ORA-01031: insufficient privileges
警告: 您不再连接到 ORACLE。

如果你的机器不能以系统认证的方式登录,检查以上几个步骤,你总可以找到原因的。

 

分享到:
评论

相关推荐

    Oracle登录认证方式探讨.doc

    Oracle数据库系统提供了多种登录认证方式,以确保对数据库的访问安全。本文主要探讨两种主要的认证方式:基于操作系统的登录认证和基于Oracle的验证,并详细解释如何通过配置sqlnet.ora文件来改变登录认证方式。 ...

    Oracle数据库认证大师

    Oracle数据库认证大师考试是Oracle认证的考试之一,考试代号为1z0-062,主要考察考生对于Oracle Database 12c的安装和管理相关知识的掌握程度。该考试主要涵盖了数据库实例的参数设置、安全管理、数据库链接的创建等...

    Oracle禁用操作系统认证方式登陆及SYS远程登录

    为了增强数据库的安全性,我们通常会采取措施禁用操作系统认证方式登录数据库。 **操作步骤如下:** 1. **修改`listener.ora`配置文件**:首先需要确保监听器的配置文件`listener.ora`中启用了`OS_AUTHENT_PREFIX`...

    oracle登陆认证方式教学内容.pdf

    在Oracle环境中,主要的认证方式包括基于操作系统的认证和基于Oracle的认证,这两种方式可以通过配置sqlnet.ora文件中的SQLNET.AUTHENTICATION_SERVICES参数来切换。 1. **基于操作系统的认证(Operating System ...

    全新Oracle OCA认证体系DBA实战课 刘Sir Oracle数据库OCA认证培训视频课程

    课程想以介绍了Oracle认证体系,详细带领同学们进行Oracle实战环境搭建,Oracle体系结构,Oracle数据库创建于安装,管理ASM实力实战,数据并发与控制,实施oracle数据库的审计,数据库的性能管理,备份恢复与数据库...

    ORACLE DBA 认证题

    Oracle DBA(数据库管理员)认证是Oracle公司提供的一项专业认证,旨在验证个人在管理Oracle数据库系统方面的技能和知识。这个认证对于那些希望深入理解和优化Oracle数据库性能的专业人士来说非常重要。以下是一些...

    oracle认证考试简介

    Oracle认证考试是对Oracle技术知识和技能的权威验证,旨在证明个人在使用和管理Oracle数据库、应用程序和其他相关技术方面的专业能力。Oracle是全球领先的数据库和企业级软件提供商,其认证体系对于求职者和专业人士...

    Oracle认证指南

    Oracle认证指南,你可能身为IT行业的一员,拥有这份指南你将会对数据库方面有个明确的道路

    Oracle DBA认证题库

    Oracle DBA(数据库管理员)认证是Oracle公司提供的一项专业资格认证,旨在证明持证者具有管理和维护Oracle数据库系统的专业知识和技能。这个题库包含了Oracle DBA认证考试中可能遇到的各种问题,涵盖了数据库管理的...

    Oracle 10 认证培训资料

    ### Oracle 10 认证培训资料知识点概览 #### 一、Oracle 10g认证概述 **Oracle 10g**是Oracle公司推出的一个重要的数据库版本,它在9i的基础上进行了大量的改进和增强,提供了更为强大的功能,特别是在网络支持、...

    oracle DBA认证资料 1z0-001

    Oracle DBA认证方面的资料  oracle DBA 1z0-001 oracle7.3的4本: M03989 Instroduction to Oracle: SQL and PL/SQL Participant Guide Vol. 1 M03990 Instroduction to Oracle: SQL and PL/SQL Participant ...

    Oracle_OS认证与口令文件认证详解

    在Oracle数据库管理系统中,提供了多种认证机制,其中OS认证和口令文件认证是两种常用的认证方式。本篇将详细介绍这两种认证方式的配置方法以及它们在验证SYSDBA/SYSOPER权限时的应用。 OS认证(操作系统认证)允许...

    oracle链接的认证方式

    #### 三、Oracle认证方式详解 当客户端尝试连接到Oracle数据库时,会有不同的认证机制来确保只有授权用户能够访问数据库。Oracle提供了三种主要的认证方式: 1. **操作系统认证(OS Authentication)** - **定义*...

    Oracle OCP DBA 认证介绍

    Oracle OCP DBA认证面向那些希望深入理解和掌握Oracle数据库技术的专业人士,它是Oracle认证体系中的一个重要部分,证明持证人具有管理和维护Oracle数据库系统的能力。 Oracle 8i OCP DBA认证要求考生在一年内通过...

    oracle OCP认证学习资料

    Oracle Certified Professional (OCP) 是Oracle公司为数据库管理员和开发者提供的专业认证,它验证了个人在Oracle数据库管理、配置和优化方面的技能与知识。对于那些致力于提升自己在Oracle技术领域专业素养的人来说...

    Oracle认证介绍与练习题

    OCP(Oracle认证专家)是Oracle认证体系中的一个重要级别,它主要面向那些拥有较深Oracle技术背景的专业人士。通过OCP认证,证明持证人具备高级的技术能力和实践经验,能够高效地管理和维护Oracle环境下的各种复杂...

    ORACLE认证考试大纲

    Oracle认证考试大纲主要涵盖了一系列关于Oracle数据库网络架构和管理的知识点,旨在测试考生对Oracle网络解决方案的深入理解和应用能力。以下是对大纲中各部分主要内容的详细解析: **第一部分:Networking** 这...

    Oracle数据库 OCP认证 042认证题库

    Oracle数据库的OCP(Oracle Certified Professional)认证是全球公认的IT行业权威认证之一,特别是对于数据库管理专业人士来说,它代表了高水平的技术能力和专业知识。042认证题库是Oracle为候选人准备的一项考试,...

Global site tag (gtag.js) - Google Analytics