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. 使用Docker Compose 部署Nexus后提示:Unable to create directory /nexus-data/instance

    场景 Ubuntu Server 上使用Docker Compose 部署Nexus(图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/ ...

  2. jQuery每秒刷新

    显示当前时间 setInterval( function getNowTime() { var nowTime = new Date(); var nowYear = nowTime.getFullY ...

  3. Fundebug录屏插件更新至0.4.0,修复BUG,优化性能

    摘要: 录屏功能更加强大,欢迎免费试用! 关于Fundebug录屏功能 Fundebug是专业的程序BUG监控服务,当线上应用出现BUG的时候,我们可以第一时间报警,帮助开发者及时发现BUG,提高De ...

  4. (原+修改)Pip使用国内源安装opencv

    转载请注明出处: https://www.cnblogs.com/darkknightzh/p/12000823.html 参考网址: https://www.imooc.com/article/34 ...

  5. word2vector(含code)

    Word2Vec其实就是通过学习文本来用词向量的方式表征词的语义信息,即通过一个嵌入空间使得语义上相似的单词在该空间内距离很近. Embedding其实就是一个映射,将单词从原先所属的空间映射到新的多 ...

  6. angular6 使用tooltip

    准备 为了使用tooltip,可以安装ng-bootstrap组件,它包含两个依赖: angular:5.0以上版本: bootstrap css: 4.0版本. 安装好bootstrap之后,更新a ...

  7. Windows Server安装FileZilla服务端

    1.下载 地址: https://filezilla-project.org/download.php?type=server 点击下载 2. 安装较为简单, 不详细介绍,下面说配置 2.1 添加用户 ...

  8. python之线程和进程(并发编程)

    python的GIL In CPython, the global interpreter lock, or GIL, is a mutex that prevents multiple native ...

  9. 09-C#笔记-循环

    1. while 同 C++ 2. for 同 C++ 3. foreach,注意数组的定义 int[] fibarray = new int[] { 0, 1, 1, 2, 3, 5, 8, 13 ...

  10. MySQL体系结构与存储引擎

    MySQL 体系结构 先看 MySQL 数据库的体系结构,如下图所示. MySQL 体系结构由 Client Connectors 层.MySQL Server 层及存储引擎层组成. Client C ...