说明

环境(参考):
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:\app\lenovo\virtual\product\12.2.0\dbhome_1
TNS_ADMIN
D:\app\lenovo\virtual\product\12.2.0\dbhome_1\network\admin

重启! 然而没什么卵用,注册表和服务依然没有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_HOME\NETWORK\ADMIN\sqlnet.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个小时,也去掉了一些尝试过但没有用的方法,思路不是很清晰,见谅。

ORA-12541:TNS-12560:ORA-12518:ORA-28040:ORA-01017的更多相关文章

  1. PLSQL Developer概念学习系列之登录连接Oracle时出现(没有登录) -PL / SQL Developer:ORA - 12541: TNS :无建听程序的错误解决办法(图文详解)

    不多说,直接上干货! 前期博客 PLSQL Developer概念学习系列之如何正确登录连接上Oracle(图文详解)   如用scott.scott_password进行登录,orcl是全局数据库 ...

  2. oracle 12541,12560,00511无监听程序, 协议适配器错误问题分析及解决方案

    oracle 12541,12560,00511无监听程序, 协议适配器错误问题分析及解决方案   问题描述: 1. lsnrctl start.stop.非常慢,出现卡顿现象: 2. 执行lsnrc ...

  3. plsql 连接oralce数据库,报ora 12557 tns 协议适配器不可加载错误

    使用plsql 连接oracle 数据库报ora 12557 错误: 解决方案: 1:首先确保服务中的service以及监听器都开启 2:F:\app\Administrator\product\11 ...

  4. Oracle ORA 12541 报错解决过程

    Oracle 导入全库之后使用plsql登陆时报错 版本12C版本2 ORA-12541: TNS: No Listener 再oracle主机本地可以使用sqlplus 登陆,但是使用plsql无法 ...

  5. ORA-12546: TNS: 权限被拒绝(ORA - 12546 TNS: Permission Denied)

    这个问题上网一查大都是说权限之类的问题,本人在经过第二次折腾之后发现,其实是自己的Oracle客户端工具在破解过程中被自己用防火墙禁止访问网络了,自己还在另一篇博文里记录过,竟然忘光了,BS一下自己! ...

  6. rac的一次问题 ORA-01565: error in identifying file '+DATA/bol/spfilebol.ora'

    昨天安装的测试环境的rac--2节点 CentOS release 6.8 (Final) SQL*Plus: Release 11.2.0.4.0 Production 今天测试突然出现问题 在ra ...

  7. Oracle的tnsnames.ora配置(PLSQL Developer)

    首先打开tnsnames.ora的存放目录,一般为D:\app\Administrator\product\11.2.0\client_1\network\admin,就看安装具体位置了. 步骤阅读 ...

  8. PLSQL登录数据库 报ORA -12154的诡异问题

    https://q.cnblogs.com/q/89420/ 现象: 1.机器上先后安装了oracle两个版本的client.在装第一个client后,plsql可以顺利连接数据库a并登录. 2.安装 ...

  9. TNSNAMES.ORA 配置

    上面的sqlnet.ora文件说明:SQLNET.AUTHENTICATION_SERVICES= (NTS)——这个表示采用os认证,在数据库服务器上,可以利用sqlplus “/ as sysdb ...

  10. ORACLE RAC 下非缺省端口监听配置(listener.ora tnsnames.ora)

    不论是单实例还是RAC,对于非缺省端口下(1521)的监听器,pmon进程不会将service/instance注册到监听器,即不会实现动态注册.与单实例相同,RAC非缺省端口的监听器也是通过设置参数 ...

随机推荐

  1. JavaScript数组升降序排列、最大值、最小值等

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 洛谷P5265 【模板】多项式反三角函数

    题面 传送门 题解 我数学好像学得太差了 据说根据反三角函数求导公式 \[{d\over dx}\arcsin x={1\over \sqrt{1-x^2}}\] \[{d\over dx}\arct ...

  3. SQL语句insert into 不存在则插入,存在则修改

    一 测试表的创建 -- ---------------------------- -- Table structure for User -- ---------------------------- ...

  4. 简单的XMPP服务器与客户端交互

    由客户端发起 C: <stream:stream to="localhost" xmlns="jabber:client" xmlns:stream=&q ...

  5. sql charIndex用法

    CHARINDEX(): 写SQL语句我们经常需要判断一个字符串中是否包含另一个字符串,但是SQL SERVER中并没有像C#提供了Contains函数,不过SQL SERVER中提供了一个叫CHAE ...

  6. PHP 数字金额转换成中文大写金额的函数 数字转中文

    /** *数字金额转换成中文大写金额的函数 *String Int $num 要转换的小写数字或小写字符串 *return 大写字母 *小数位为两位 **/ function num_to_rmb($ ...

  7. Shiro源码解析-登录篇

    本文以循序渐进的方式解析Shiro整个login过程的处理,读者可以边阅读本文边自己看代码来思考体会,如有问题,欢迎评论区探讨! 笔者shiro的demo源码路径:https://github.com ...

  8. 测试sql语句执行速度

    DBCC DROPCLEANBUFFERS --清除缓冲区 DBCC FREEPROCCACHE --删除计划高速缓存中的元素 SET STATISTICS io ON SET STATISTICS ...

  9. vue 初步了解provide/inject

    provider/inject:简单的来说就是在父组件中通过provider来提供变量,然后在子组件中通过inject来注入变量. 需要注意的是 provide / inject这对选项需要一起使用, ...

  10. 安装orcle服务器端后,不需要安装客户端,可通过plsql登录

    用PL/SQL连接oracle数据库,不管是本地的还是远程的,一般都需要安装oracle客户端(500M左右)比较大,而且在各个系统上安装也有些讲究,需要修改相应配置文件,有点麻烦,像平时开发时候,我 ...