Oracle用户密码认证方式
oracle用户有两种认证方式:
- 操作系统认证(要求该用户属于本地DBA组,然后通过操作系统认证登录oracle,从而启动数据库)
- 密码文件认证
oracle使用哪种认证方式决定在于两个参数:
1.remote_login_passwordfile=none|exclusive|shared
- none:不使用密码文件认证。如果选择了这个值,就相当于屏蔽了密码文件的内容了。
- exclusive:要密码文件认证,自己独占使用(默认值)
- shared:要密码文件认证,不同实例dba用户可以共享密码文件
2.位于$ORACLE_HOME/network/admin/sqlnet.ora
SQLNET.AUTHENTICATION_SERVICES=none|all|nts
- none:关闭操作系统认证,只能密码认证
- all:用于linux/unix平台,关闭本机密码文件认证,采用操作系统认证
- nts:用于windows平台
测试远程登录的时候密码文件丢失情况
$ rm -rf $ORACLE_HOME/dbs/orapw$ORACLE_SID $ sqlplus sys/mypna123@userdata as sysdba SQL*Plus: Release 10.2.0.4. - Production on Tue Sep :: Copyright (c) , , Oracle. All Rights Reserved. ERROR:
ORA-: insufficient privileges Enter user-name: $ orapwd file=orapw$ORACLE_SID password=mypna123 entries= $ sqlplus sys/mypna123@userdata as sysdba SQL*Plus: Release 10.2.0.4. - Production on Tue Sep :: Copyright (c) , , Oracle. All Rights Reserved. Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4. - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options SYS@userdata>
可以看到默认配置下,丢失密码文件后,不可以远程登录数据库,只可以本地系统认证后登录数据库
测试remote_login_passwordfile为exclusive,AUTHENTICATION_SERVICES为none的情况
SYS@userdata>show parameter remote_login_passwordfile; NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
remote_login_passwordfile string EXCLUSIVE $ echo "SQLNET.AUTHENTICATION_SERVICES=NONE" >> $ORACLE_HOME/network/admin/sqlnet.ora $ sqlplus / as sysdba SQL*Plus: Release 10.2.0.4. - Production on Tue Sep :: Copyright (c) , , Oracle. All Rights Reserved. ERROR:
ORA-: insufficient privileges Enter user-name: $ sqlplus sys/mypna123@userdata as sysdba SQL*Plus: Release 10.2.0.4. - Production on Tue Sep :: Copyright (c) , , Oracle. All Rights Reserved. Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4. - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options SYS@userdata>
可以看到在remote_login_passwordfile为exclusive,AUTHENTICATION_SERVICES为none的情况下,数据库只能使用密码文件认证方式
测试remote_login_passwordfile为exclusive,AUTHENTICATION_SERVICES为all的情况
SYS@userdata>show parameter remote_login_passwordfile; NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
remote_login_passwordfile string EXCLUSIVE $ cat $ORACLE_HOME/network/admin/sqlnet.ora
SQLNET.AUTHENTICATION_SERVICES=ALL $ sqlplus sys/mypna123@userdata as sysdba SQL*Plus: Release 10.2.0.4. - Production on Tue Sep :: Copyright (c) , , Oracle. All Rights Reserved. ERROR:
ORA-: Authentication service failed to initialize Enter user-name: $ sqlplus / as sysdba SQL*Plus: Release 10.2.0.4. - Production on Tue Sep :: Copyright (c) , , Oracle. All Rights Reserved. Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4. - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options SYS@userdata>
可以看到在remote_login_passwordfile为exclusive,AUTHENTICATION_SERVICES为all的情况下本机登录只支持系统认证,不支持密码文件认证.普通用户和sys用户均不可以本地登录.但是远程登录是不受限制的.
看有哪些用户是拥有sysdba权限
SYS@userdata>grant sysdba to scott; Grant succeeded.
SYS@userdata>select * from v$pwfile_users; USERNAME SYSDBA SYSOPER
---------------------------------------- --------------- ---------------
SYS TRUE TRUE
SCOTT TRUE FALSE
Oracle用户密码认证方式的更多相关文章
- MySQL 8.0.14 新的密码认证方式和客户端链接
MySQL 8.0.14 新的密码认证方式和客户端链接 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. MySQL8.0在密码认证方式发生了改变,这也是有点小伙伴在MySQL创建 ...
- Oracle用户密码过期和用户被锁解决方法【转】
[原因/触发因素] 确定是由于Oracle11g中默认在default概要文件中设置了“PASSWORD_LIFE_TIME=180天”所导致. [影响和风险] 影响 密码过期后,业务进程连接数据库异 ...
- 【密码】Oracle用户密码系列
[密码]Oracle用户密码系列 1.1 BLOG文档结构图 1.2 前言部分 1.2.1 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识, ...
- squid+stunnel+用户密码认证的三种玩法
没办法,应用越来越深入,就会越来越多要求. squid+stunnel+用户密码认证的场景至少以下三个,我会遇到. 1,标准玩法 在服务器上建一个SQUID,加密码认证,然后,其它人通过它上网.(不要 ...
- 【方法】Oracle用户密码含特殊字符时的登陆问题
[方法]Oracle用户密码含特殊字符时的登陆问题 1.1 BLOG文档结构图 1.2 前言部分 1.2.1 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它 ...
- EMQ -- 用户密码认证
emq 的用户密码认证 MQTT 认证设置 EMQ 消息服务器认证由一系列认证插件(Plugin)提供,系统支持按用户名密码.ClientID 或匿名认证. 系统默认开启匿名认证(anonymous) ...
- Oracle 用户密码中包括了“@”字符串的错误提示解决方法
Oracle 用户密码设置了带有"@"符号,正常登陆总是无法登陆,提示无法解析的连接字符串错误 解决办法:1:修改密码:修改密码使密码中不包括@符号:2:增加转义即可,在密码前后增 ...
- Oracle用户密码过期问题解决
一.用户密码即将过期,导致autotrace无法打开 如果用户密码即将过期,在登录数据库时会收到如下提示: ERROR: ORA-2800 ...
- 技巧:如何提升Oracle用户密码的安全性
环境:Oracle 11.2.0.4 客户需求:主要背景是数据库中有很多业务用户名,且由于部分用户缺乏安全意识,甚至直接将自己的密码设置为和用户名一样,目前客户期望密码设置不要过于简单,最起码别和用户 ...
随机推荐
- string截取、替换、查找子串函数,find_first_of 用法
1. 截取子串 s.substr(pos, n) 截取s中从pos开始(包括0)的n个字符的子串,并返回 s.substr(pos) 截取s中从从pos开始(包括0)到末尾的所有字符的子串,并返回 2 ...
- Spring数据库连接池依赖
<!-- https://mvnrepository.com/artifact/c3p0/c3p0 --> <dependency> <groupId>c3p0&l ...
- tarjan 缩点(模板)
描述: 给定一个n个点m条边有向图,每个点有一个权值,求一条路径,使路径经过的点权值之和最大.你只需要求出这个权值和. 注:允许多次经过一条边或者一个点,但是,重复经过的点,权值只计算一次. 思路: ...
- 安装tensorflow-gpu
pip install --upgrade tensorflow-gpu import tensorflow as tf sess = tf.Session() 如果提示如下 -- ::] Your ...
- Qt5_当前exe所在路径
可以通过以下方式来获取: 1. #include <QDir>#include <QDebug> QDir dir; qDebug() << "curre ...
- Android主页Activity对多个Fragment实现不同的沉浸式标题(图片或者文字标题)
提示:讲解的该例实现是 FragmentTabHost + Fragment 实现: 1.示例效果图: 2.场景需求: 如示例图所示,在首页实现轮播图的沉浸,而 “发现” 和“我的”页是标题的沉浸. ...
- 《剑指offer》第五十五题(二叉树的深度)
// 面试题55(一):二叉树的深度 // 题目:输入一棵二叉树的根结点,求该树的深度.从根结点到叶结点依次经过的 // 结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度. //如果左右 ...
- 如何编写一个d.ts文件
这篇文章主要讲怎么写一个typescript的描述文件(以d.ts结尾的文件名,比如xxx.d.ts). 2018.12.18更新说明: 1.增加了全局声明的原理说明. 2.增加了es6的import ...
- dockerfile debian 和pip使用国内源
python官方镜像是基于debian的.国内使用时定制一下,加快下载速度. 1 debian本身使用国内源 dockfile中: #国内debian源 ADD sources.list /etc/a ...
- MySQL学习(十二)
视图 view 在查询中,我们经常把查询结果当成临时表来看, view是什么?view可以看成一张虚拟表,是表通过某种运算得到的一个投影. 表的变化会影响到视图 既然视图只是表的某种查询的投影,所以主 ...