ORACLE 12C连接时报ORA28040和ORA01017的错误

http://blog.itpub.net/12679300/viewspace-2150667/

我一直在的处理方式是让更新oracle的客户端.
原创 Oracle 作者:wzq609 时间:2018-01-30 16:07:08  365  0

【一】环境说明

1.1 Oracle服务端版本:12.2.0.1
1.2 Oracle客户端版本:11.2.0.1

【二】问题说明

2.1 客户端连接服务端的时候报ORA-28040的错误。
2.2 客户端连接的时候报ORA-01017的错误。
 

<h3 "="">【三】解决方法

3.1  ORA-28040错误的解决方法:
在数据库服务器上的oracle/network/admin/sqlnet.ora,增加如下
 
 
 
 
 
[oracle@rdb02 admin]$ cat sqlnet.ora
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
SQLNET<span "="">.ALLOWED_LOGON_VERSION_SERVER=8
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
 然后重启监听即可
 
 
 
 
 
lsnrctl stop
lsnrctl start
3.2 客户端连接的时候报ORA-01017的错误的解决方法:
在上一步的基础上面,修改用户名密码即可; 
 
 
SQL> ALTER USER system IDENTIFIED BY 12345678;

<h3 "="">【四】原因分析

4.1 关于ORA-28040的错误原因,转发个链接:http://blog.itpub.net/28612416/viewspace-2138896/
简单可以理解:sqlnet值没设定的情况下ORACLE 12C的服务端只运行12C的客户端进行连接,所以通过11版本的客户端连接的时候就会报ORA-28040的错误。通过增加以上参数就可以让ORACLE12C的服务端运行较低的客户端进行连接;
 
4.2 关于密码报ORA-01017错误的分析如下:
  • 数据库的密码是经过加密的,数据库经过几个版本的更新每个版本的加密方法其实都是不一样的。
  • dba_users有保存一个PASSWORD_VERSIONS的信息,PASSWORD_VERSIONS的信息说明数据库保留密码解析的版本种类。
  • 用户登录的时候就会根据Client端的版本判断用哪种的解析方法进行解密
  • 客户端的版本和PASSWORD_VERSIONS的版本匹配能解析,否则就解析不了;
 
 
 
 
 
 
SQL> select username,password,PASSWORD_VERSIONS from dba_users where username in ('SCOTT','SYSTEM')
USERNAME                PASSWORD              PASSWORD_VERSIONS
-------------------- --------------------  --------------------
SYSTEM                                           11G 12C             #要求客户端的版本最低为11.2.0.3
SCOTT                                           10G 11G 12C          #要求客户端的版本最低为10
 
4.3 PASSWORD_VERSIONS版本又是怎么产生的了?
PASSWORD_VERSIONS的生跟上面的sqlnet.ora的一个参数:SQLNET.ALLOWED_LOGON_VERSION_SERVER。SQLNET.ALLOWED_LOGON_VERSION_SERVER设置不同值,就产生对应的password_versions。
所以当SQLNET.ALLOWED_LOGON_VERSION_SERVER=8时,PASSWORD_VERSIONS对应的值就是10G 11G 12C
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8,PASSWORD_VERSIONS对应的值就是11G 12C

[转帖]ORACLE 12C连接时报ORA28040和ORA01017的错误的更多相关文章

  1. oracle 12c连接pdb

    12c中,如何连接pluggable database: 使用默认的service连接pdb,创建pdb之后,在监听中自动添加以pdb为名的service: 用户在cluster中创建service, ...

  2. java开发连接Oracle 12c采用PDB遇到问题记录

    今天初次使用java连接Oracle 12c,遇到各种问题,为方便后续查询,在汇总了问题记录及解决方案如下. ORA-28040: No matching authentication protoco ...

  3. win8下在microsoft visual studio 2012利用ODP.NET连接ORACLE 12c

    老板要求我搭个ASP.NET框架,并且连接上ORACLE数据库,听起来好像挺简单的,但就是连第一步连接ORACLE我都搞了两天╮(╯▽╰)╭ 首先,项目书上要求用ORACLE 10G,可我自己的本本装 ...

  4. 12C 连接方式和 Oracle Easy Connect Naming method

    1.12C 连接方式 PDB is not an instance, so using SID in the connection string will not work. When the dat ...

  5. Oracle 12c在SQL Devolper中添加cdb和pdb连接

    Oracle 12c如果按默认流程安装的话会有一个叫orcl的cdb容器和一个叫pdborcld的pdb容器 一.连接名为orcl的cdb容器 连接名:localorcl 用户名:SYS 口令:Ora ...

  6. Windows下PHP7/5.6以上版本 如何连接Oracle 12c,并使用PDO

    https://blog.csdn.net/houpanqi/article/details/78841928 首先,本篇文章重点分享的是:在Win平台下,如何使用PHP7连接Oracle 12C,所 ...

  7. sqldbx配置连接Oracle 12C数据库

    本地开发环境: Windows10 64位.Oracle 12C客户端 32位.sqlDBX (32位) =============================================== ...

  8. PLSQL Developer 不能连接 oracle 12c 64位 的解决办法 for win 64

    1.安装Oracle 12c 64位 2.安装32位的Oracle客户端( instantclient-basic-nt-12.1.0.1.0) 1) 下载instantclient-basic-nt ...

  9. 转 Oracle 12c 使用scott等普通用户的方法

    一.前言 最近电脑上安装了oracle 12c数据库,想体验下新特性.安装完后,便像11g一样在dos窗口进行下面的操作: SQL*Plus: Release 12.1.0.2.0 Productio ...

随机推荐

  1. 关于VS C++中项目属性的一些名称的含义

    这个属性页(Alt + F7)界面下的$开头的内容的含义 $(Platform), X64或X86类似的. $(SolutionDir),.sln的位置 $(Configuration), Debug ...

  2. ES6迭代器

    说起迭代器, 那就要先了解迭代模式 迭代模式: 提供一种方法可以顺序获得聚合对象中的各个元素, 是一种最简单, 也是最常见的设计模式,它可以让用户通过特定的接口寻访集合中的每一个元素 而不用了解底层的 ...

  3. 高德地图的JSAPI学习笔记【一】

    高德地图的项目要做 学习笔记记录下来 一.注册账号并申请Key  二.准备页面写好 1.在页面添加 JS API 的入口脚本标签,并将其中「您申请的key值」替换为您刚刚申请的 key: <sc ...

  4. 为啥git会这么差!!!!

    删除分支  git push origin --delete Chapater6   可以删除远程分支Chapater6 git branch -d Chapater8 可以删除本地分支(在主分支中) ...

  5. 12个有趣的C语言问答

    转自:http://www.admin10000.com/document/913.html 1,gets() 方法 Q:以下代码有个被隐藏住的问题,你能找到它吗? 1 2 3 4 5 6 7 8 9 ...

  6. 1 Ubuntu 破解帐户密码

    1.  重启Ubuntu  长按shift进入grub界面 2.  选择recovery mode模式,进入Recovery Menu界面选择 root        Drop to root she ...

  7. 微信小程序+php 授权登陆,完整代码

    先上图        实现流程: 1.授权登陆按钮和正文信息放到了同一个页面,未授权的时候显示登陆按钮,已授权的时候隐藏登陆按钮,显示正文信息,当然也可以授权和正文分开成两个页面,在授权页面的onlo ...

  8. MySQL5.7 安装和配置环境变量

    安装 1.下载安装包 官网地址:https://dev.mysql.com/downloads/mysql/ 2.选择 Custom,自定义 3.根据自己系统选择 x64还是x86,然后点击第一个箭头 ...

  9. 05、ip划分+网络配置+虚拟化基础+基本路由

    -- IP   IANA (Internet Assigned Numbers Authority) ,Internet号分配机构.负责对IP地 址分配规划以及对TCP/UDP公共服务的端口定义.国际 ...

  10. Invalid connection string format, a valid format is: "host:port:sid"

    报错信息: Caused by: java.sql.SQLException: Io 异常: Invalid connection string format, a valid format is:  ...