oracle 登录认证

1 简介

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

ORACLE数据库通过sqlnet.ora文件中的参数sqlnet.authentication_services,来控制用户是通过操作系统认证还是通过密码认证进行登录。

而对于拥有sysdba角色的用户,还有一个密码文件可以辅助密码验证。

sqlnet.authentication_services、参数remote_login_passwordfile和密码文件pwd<sid>.ora三者协同作用实现身份认证.

2 authentication_services

Windows环境与Linux/Unix环境有区别:

Windows
  • SQLNET.AUTHENTICATION_SERVICES= (NTS)是基于操作系统验证;
  • SQLNET.AUTHENTICATION_SERVICES= (NONE)是基于Oracle验证;
  • SQLNET.AUTHENTICATION_SERVICES= (NONE,NTS)是二者共存。
  • SQLNET.AUTHENTICATION_SERVICES必须设置为NTS或者ALL才能使用OS认证;不设置或者设置为其他任何值都不能使用OS认证。
Linux/Unix
在linux下,在SQLNET.AUTHENTICATION_SERVICES的值设置为

  • ALL, 为OS验证;
  • NONE或者NTS,都是基于oracle密码验证的。
  • 不设置时,启用OS认证和oracle密码认证。

2.1 不同登录方式的写法

区分以下几种登录方式的区别
  • conn / as sysdba 本机登陆,使用操作系统认证,有无监听都可以
  • conn sys/password as sysdba 本机登陆,使用密码文件认证,有无监听都可以
  • conn sys/password@dbanote as sysdba 兼容OS认证与密码认证。使用密码文件认证,必须有监听,必须有tnsnames.ora,remote_login_passwordfile必须是EXCLUSIVE

3 sysdba角色登录认证

 

3.1 无密本地登录

sqlplus / as sysdba
或者
sqlplus / nolog
conn / as sysdba

以上写法都是无密本地登录。

3.2 密码文件

密码文件是保存拥有sysdba/sysoper等role 的用户和密码信息的文件 。当拥有相关role的用户,想要登录 数据库实例时,如果authentication_services 要求进行密码验证,那么这些用户的密码会通过密码文件加以校验。

创建密码文件的语法如下:

orapwd file=<密码文件> password=<sys用户密码> entries=10 force=y

说明:

  • file——密码文件名(必要)。默认在$Oracle_Home/dbs目录下
  • password——SYS 的密码(必要)
  • entries——DBA和操作员的最大数目(可选)
  • force——是否重写现有的文件(可选)
  • 创建密码文件时,= 号两边是没有空格的。

3.3 是否开启密码文件验证

Oracle提供了一个参数: remote_login_password=NONE|EXCLUSIVE|SHARED .

  • NONE 高级管理员登录时,不使用密码文件验证
  • EXCLUSIVE 高级管理员登录时,使用密码文件验证,且只允许本实例使用该密码文件。
  • shared 高级管理员登录时,使用密码文件验证,且允许多个实例使用该密码文件

3.4 限制sys登录方式

 

3.4.1 不限制

不设置sqlnet.authentication_services,不设置 remote_login_password. 此时,不管是无密登录 、密码登录还是远程登录都可以。

3.4.2 只允许本地密码登录

sqlnet.authentication_services=(ALL) 且 remote_login_password=exclusive 或者shared

3.4.3 只允许远程登录

sqlnet.authentication_services=(NTS) 且 remote_login_password=exclusive 或者shared

Author: halberd.lee

Created: 2019-08-31 Sat 20:42

Validate

Oracle登录认证的更多相关文章

  1. oracle修改登录认证方式

    通过配置sqlnet.ora文件,我们可以修改oracle登录认证方式. SQLNET.AUTHENTICATION_SERVICES=(NTS);基于操作系统的认证 SQLNET.AUTHENTIC ...

  2. oracle数据库启动流程及登录认证方式详解

    转自:https://www.2cto.com/database/201803/726644.html ■  oracle启动流程-windows下 1) lsnrctl start  (启动监听) ...

  3. oracle改动登录认证方式

    通过配置sqlnet.ora文件.我们能够改动oracle登录认证方式. SQLNET.AUTHENTICATION_SERVICES=(NTS);基于操作系统的认证 SQLNET.AUTHENTIC ...

  4. oracle登陆认证方式

    转自:http://blog.itpub.net/14359/viewspace-683064/ 案例: 1,发现此时操作系统认证不成功: C:\Users\Administrator.WIN-201 ...

  5. Oracle OS认证 口令文件 密码丢失处理

    Oracle OS认证 口令文件 密码丢失处理 分类: Oracle Basic Knowledge2009-10-19 14:24 5031人阅读 评论(9) 收藏 举报 oracleos数据库sq ...

  6. ELK日志系统:Filebeat使用及Kibana如何设置登录认证

    根据elastic上的说法: Filebeat is a lightweight, open source shipper for log file data. As the next-generat ...

  7. Asp.Net MVC3.0网站统计登录认证的在线人数

    Asp.Net MVC3.0网站统计登录认证的在线人数 前言 对于一个网站来说,统计在线人数是一个很重要的工作.平时也发现很多的网站论坛等都有在线人数的显示.对于一个网站如果在线人数很多,用户看到了这 ...

  8. Oracle登录时提示错误,导致用户无法登录

    Oracle登录时提示错误,导致用户无法登录,错误如下 ------------------------------------------------------------------------ ...

  9. shiro实现APP、web统一登录认证和权限管理

    先说下背景,项目包含一个管理系统(web)和门户网站(web),还有一个手机APP(包括Android和IOS),三个系统共用一个后端,在后端使用shiro进行登录认证和权限控制.好的,那么问题来了w ...

随机推荐

  1. redis __详解 (转载自作者:孤独烟 出处: http://rjzheng.cnblogs.com/)

    https://www.cnblogs.com/rjzheng/p/9096228.html [原创]分布式之redis复习精讲 引言 为什么写这篇文章? 博主的<分布式之消息队列复习精讲> ...

  2. html图片自定义裁剪大小

    该插件后端使用ASP.NET MVC实现图片存储 该插件适用于需要固定显示缩略图片的文章列表! 演示地址:http://hhcf.top:8099/Cropper/Index 源码下载:https:/ ...

  3. 十七,k8s集群指标API及自定义API

    目录 资源指标: Metrics-Server 资源指标: Metric-Server介绍 Metric-Server部署 下载yaml文件 因为有墙, 所以提前下载image镜像, 当然也可以手动修 ...

  4. [Abp vNext微服务实践] - vue-element-admin登录一

    简介 之前的技术路线本来是angular的,后来经过一段时间的开发还是打算选择vue,原因是vue简单丰富,尽管angular规范强大,但是组件库都不太符合国人风格.看到GitHub上Vue Elem ...

  5. MyBatis-13-缓存

    13.缓存(了解) 13.1.简介 查询 : 连接数据库,耗资源! 一次查询的结果,给他暂存在一个可以直接取到的地方!--->内存 : 缓存 我们再次查询相同数据的时候,直接走缓存,就不用走数据 ...

  6. 本地安装mysql脚本

    [root@tianyun ~]# vim mysql_install.sh #!/usr/bin/env bash #mysql install 2 #by tianyun #yum 配置yum源 ...

  7. 为什么说Redis是单线程的以及Redis为什么这么块

    一.前言 近乎所有与Java相关的面试都会问到缓存的问题,基础一点的会问到什么是“二八定律”.什么是“热数据和冷数据”,复杂一点的会问到缓存雪崩.缓存穿透.缓存预热.缓存更新.缓存降级等问题,这些看似 ...

  8. 牛客CSP-S提高组赛前集训营3

    A 货物收集 显然是一个二分答案的题. #include<iostream> #include<cstdio> #include<cstring> #include ...

  9. metal feature and specification

    https://developer.apple.com/metal/Metal-Feature-Set-Tables.pdf 宝贝 https://developer.apple.com/metal/ ...

  10. Map遍历效率 : entrySet > keySet

     1    //entrySet()  2     for (Entry<String, String> entry : map.entrySet()) {  3         Stri ...