zoukankan      html  css  js  c++  java
  • ORA-12541:TNS-12560:ORA-12518:ORA-28040:ORA-01017

    说明

    环境(参考):
    Oracle 12c
    SQL Developer/Navicat Premium(64位)连接数据库
    
    后续出现的错误代码:
    • ORA-12541: no listener
    • TNS-12560:协议适配器错误
    • TNS-00530:协议适配器错误
    • ORA-12518
    • ORA-12514
    • ORA-28040:没有匹配的验证协议
    • ORA-01017:用户名:/口令无效
    • 注册表或服务没有TNS监听器项目

    错误

    原因

    找不到监听器
    net 却说有监听器
    Windows服务中也找不到TNS服务

    于是查阅资料说要找到安装目录下的bin/lsnrctl.exe
    输入start,报告协议适配器错误

    再次查阅,发现可能是bin/tnslsnr.exe文件不存在或者路径配置问题,首先检查注册表

    发现没有TNS的服务
    又在bin目录下找到该文件
    运行tnslsnr.exe

    报告说没有配置OracleHome环境变量,笔者打开环境变量后发现只配了path,所以再次配置环境变量

    ORACLE_HOME
    D:applenovovirtualproduct12.2.0dbhome_1
    TNS_ADMIN
    D:applenovovirtualproduct12.2.0dbhome_1
    etworkadmin
    

    重启! 然而没什么卵用,注册表和服务依然没有TNS
    start lsnrctl.exe,依然报错
    笔者只好绝望的再去打开tnslsnr.exe,令我茫然的是如下界面:

    一片空白!之后突然反应过来,这是不是启动成功了?!
    然后我再次运行lsnrctl.exe

    监听程序已启动!
    笔者又检查了服务和注册表,依然没有变化,但我打算用Navicat Premium连接了
    很遗憾,连接失败

    百度得知这个错误叫监听器无法分发客户机连接

    查询后感觉没问题啊
    关闭tnslsnr.exe窗口和,又出现了没有监听器的错误。。。。
    启动tnslsnr.exe,连接

    启动lsnrctl.exe
    又出现无法分发!!
    很明显,问题出在tnslsnr.exe上,没有人来启动它,本来应该是注册表启动,但我竟然整个TNS目录都没有,别人都是ImagePath改改就好。
    所以我仿照MNS的格式手写了注册表。

    重启,发现服务里面有TNS这一项了,但是启动时会报错!说帐号密码错误,笔者也不知道什么东东,直接不要帐号了,改本地登录。

    启动后是这样

    我先尝试了SQL Deveploper,哈哈,终于登上了!!!

    但是!!Navicat依旧不行!!!

    继续百度!!
    原因是用weblogic去连Oracle12c的数据库,创建连接池的时候报的这个错误。
    此错误是用了Oracle11g的驱动连12c的数据库,需要在$ORACLE_HOMENETWORKADMINsqlnet.ora中配置:
    SQLNET.ALLOWED_LOGON_VERSION=8
    注意的是:
    1.如果没有这个文件,则需要建立这个文件。
    2.如果是RAC,多个节点都需要加。
    3.不需要重启数据库。

    然而。。。。

    新的问题出现,多次连接失败(10次)后,System帐户被锁定!!解锁

    SQL Deveploper成功连接,Navicat还是不行,后来有看到大小写的问题,可是当我把我的Oracle 12c 去除大小写之后,连SQL Deveploper都登不上,只好改回去
    目前基本上确定 ORA-01017 的问题出在编码上或者大小写,可能是软件转化大小写的原因。
    从注册表得知我的编码是GBK,暂时不动他,把system 密码改成123456,哈哈,这样不会有大小写了吧!


    哦,对了,我还设置了一样东西,不知道有没有用,菜鸟一个,啥都不懂哈哈, 我勾了兼容。

    终于搞定了,不喜欢重装,所以一直折腾,TNS注册表那块是我手写的,有安全隐患,所以像这种建议重装
    很感谢您能看到最后,当出现监听器时,我就感觉到这是一场硬战,于是一边调试一边记录,希望能给朋友提供参考意见。前前后后花了我8个小时,也去掉了一些尝试过但没有用的方法,思路不是很清晰,见谅。

  • 相关阅读:
    Android:JNI与NDK(一)
    okio:定义简短高效
    hashCode()方法以及集合中Set的一些总结
    Gradle入门到实战(二) — ImageOptimization安卓图片转换压缩插件
    Gradle入门到实战(一) — 全面了解Gradle
    数据结构与算法(十二):八大经典排序算法再回顾
    数据结构与算法(十一):图的基础以及遍历代码实现
    数据结构与算法(十):红黑树与TreeMap详细解析
    数据结构与算法(九):AVL树详细讲解
    Android版数据结构与算法(八):二叉排序树
  • 原文地址:https://www.cnblogs.com/lifan1998/p/9178520.html
Copyright © 2011-2022 走看看