案例:使用sqlplus登录报ORA-12547错误
现象:Exadata刷机之后grid/oracle用户的环境变量是没有设置的,需要手工进行设置,设置完成后发现grid用户执行报错ORA-12547:
[grid@dbm0dbadm01 ~]$ sqlplus / as sysasm
SQL*Plus: Release 19.0.0.0.0 - Production on Wed Nov 11 09:09:37 2020
Version 19.8.0.0.0
Copyright (c) 1982, 2020, Oracle. All rights reserved.
ERROR:
ORA-12547: TNS:lost contact
Enter user-name: ^C
使用oerr查看错误描述:
[grid@dbm0dbadm01 ~]$ oerr ora 12547
12547, 00000, "TNS:lost contact"
// *Cause: Partner has unexpectedly gone away, usually during process
// startup.
// *Action: Investigate partner application for abnormal termination. On an
// Interchange, this can happen if the machine is overloaded.
这个oerr的描述在这里有些迷惑性,我们知道实际新刷机环境也没有什么负载,根据经验查看基本信息:
[grid@dbm0dbadm01 ~]$ ps -ef|grep pmon
grid 138569 1 0 Nov06 ? 00:00:21 asm_pmon_+ASM1
oracle 148750 1 0 Nov06 ? 00:00:47 ora_pmon_cdb1db11
grid 219063 217084 0 09:09 pts/0 00:00:00 grep --color=auto pmon
[grid@dbm0dbadm01 ~]$ echo $ORACLE_SID
+ASM1
[grid@dbm0dbadm01 ~]$ env|grep ORA
ORACLE_SID=+ASM1
ORACLE_BASE=/u01/app/grid
ORACLE_HOME=/u01/app/19.0.0.0/grid/
[grid@dbm0dbadm01 ~]$ env|grep PATH
PATH=/u01/app/19.0.0.0/grid//bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin
PYTHONPATH=:/opt/oracle.cellos/lib/python
确认进程ok,环境变量看起来是最后多了一个斜杠,修正:
[grid@dbm0dbadm01 ~]$ vi ~/.bash_profile
去掉ORACLE_HOME变量值最后多余的/,然后再次登录,检查ok后重新执行可以成功。
[grid@dbm0dbadm01 ~]$ env|grep ORA
ORACLE_SID=+ASM1
ORACLE_BASE=/u01/app/grid
ORACLE_HOME=/u01/app/19.0.0.0/grid
[grid@dbm0dbadm01 ~]$ env|grep PATH
PATH=/u01/app/19.0.0.0/grid/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin
PYTHONPATH=:/opt/oracle.cellos/lib/python
[grid@dbm0dbadm01 ~]$ sqlplus / as sysasm
SQL*Plus: Release 19.0.0.0.0 - Production on Wed Nov 11 09:13:04 2020
Version 19.8.0.0.0
Copyright (c) 1982, 2020, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.8.0.0.0
SQL>
之前其实遇到过类似问题,还对比了不同版本下有无斜杠是否都会发生问题,确实证明在某些版本下多写斜杠不会有问题。
总结:这个案例固然非常简单且初级,但也有警醒的意义:千万不要寄希望于某些特定版本是否可以智能识别处理,保持细心,按最佳规范来做事。
案例:使用sqlplus登录报ORA-12547错误的更多相关文章
- SSO单点登录一:cas单点登录防止登出退出后刷新后退ticket失效报500错,也有退出后直接重新登录报票根验证错误
问题1: 我登录了client2,又登录了client3,现在我把client2退出了,在client3里面我F5刷新了一下,结果页面报错: 未能够识别出目标 'ST-41-2VcnVMguCDWJX ...
- 微信公众号开发用户授权登录报"redirect_uri 参数错误"错误
微信公众号开发 授权获取用户信息报错 "redirect_uri 参数错误" 出现这个情况要检查下 微信公众号配置了网页授权域名 在这里配置微信公众号redirect_uri中的域 ...
- 关于oracle 11g导出数据时 报 ORA 1455错误的处理
因为导出的该用户的表可能存在空数据表,那么可能就会出现此其异常. 首先: 查看: SQL>show parameter deferred_segment_creation; 假设为T ...
- sqlplus/rman登录报权限错误ORA-01031/ORA-04005/0RA-00554
安装Weblogic误操作对Oracle用户属组进行了修改 --本地sqlplus登录报错权限问题??? [oracle@enmo admin]$ sqlplus / as sysdba SQL*Pl ...
- plsql 连接oralce数据库,报ora 12557 tns 协议适配器不可加载错误
使用plsql 连接oracle 数据库报ora 12557 错误: 解决方案: 1:首先确保服务中的service以及监听器都开启 2:F:\app\Administrator\product\11 ...
- 记32位Oracle客户端登录报12560协议适配器错误的解决办法
国庆买了一台新电脑ThinkPad E431,i5双核CPU,8G内存,硬盘比较坑爹5400转的500G,重点是预装win8的64位简体中文版.大学时买了第一台电脑神舟笔记本,因为神舟电脑便宜,所以没 ...
- ORACLE中的Net Configuration Assistant 点击后无反应, sqlplus登录数据库提示Oracle11g ORA-12560: TNS: 协议适配器错误
首先是对于点击无反应问题: 如果是客户端下的Net Configuration Assistant可用,而服务器端的Net Configuration Assistant等工具不可用的原因如下. 环境 ...
- 前段时间,接手一个项目使用的是原始的jdbc作为数据库的访问,发布到服务器上在运行了一段时间之后总是会出现无法访问的情况,登录到服务器,查看tomcat日志发现总是报如下的错误。 Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected est
前段时间,接手一个项目使用的是原始的jdbc作为数据库的访问,发布到服务器上在运行了一段时间之后总是会出现无法访问的情况,登录到服务器,查看tomcat日志发现总是报如下的错误. Caused by: ...
- ORACLE用SYS登录报ORA-28009:connection as SYS should be as SYSDBA OR SYSOPER解决方法
情况一:使用sqlplus登录 正常输入用户名的口令,就会报错,因为SYS是在数据库之外的超级管理员,所以我们在登录的时候 要在输入口令:口令+as sysdba(比如:123456 as sysdb ...
- sqlplus 连接数据库报错SP2-0642: SQL*Plus internal error state 2130, context 0:0:0
sqlplus 连接数据库报错SP2-0642: SQL*Plus internal error state 2130, context 0:0:0 问题描述: 使用sqlplus客户端登录数据库,报 ...
随机推荐
- <vue 基础知识 5、事件监听>
代码结构 一. v-on基本使用 1.效果 按钮点击一下数字增加1 2.代码 01-v-on基本使用.html <!DOCTYPE html> <html lang=&quo ...
- 【驱动】I2C驱动分析(二)-驱动框架
I2C驱动框架简介 I2C 驱动属于总线-设备-驱动模型的,与I2C总线设备驱动模型相比,大体框架是一样,系统的整体框架如下所示. 最上层是应用层,在应用层用户可以直接用open read write ...
- poj 1426 深搜
***可能有多个答案,DFS一下找出一个答案即可*** #include<stdio.h> #include<string.h> #include<stdlib.h> ...
- gradle简介与windows安装操作
本文为博主原创,转载请注明出处: 目录 1.Gradle 简介 2.gradel 与 maven 对比 3.安装 gradle 3.1.安装jdk 3.2.下载gradle 3.3.下载解压到指定目录 ...
- 【MicroPython] 用 c 添加接口 -- 添加 module
[来源]https://www.eemaker.com/micropython-add-module.html
- Shell-case-in-分支
- SQLServer命令行备份数据库
SQLServer命令行备份数据库 背景 SQLServer on linux 想设置计划任务自动备份数据库 感觉sqlcmd应该是最简单快捷的方式了 所以进行一下处理. 安装必备软件 sudo cu ...
- Docker导出镜像的总结
Docker导出镜像的总结 安装Docker mkdir -p /etc/docker cat >/etc/docker/daemon.josn <<EOF { "bip& ...
- [转帖]实战瓶颈定位-我的MySQL为什么压不上去
https://plantegg.github.io/2023/06/20/%E5%AE%9E%E6%88%98%E7%93%B6%E9%A2%88%E5%AE%9A%E4%BD%8D-%E6%88% ...
- [转帖]一次 Java 进程 OOM 的排查分析(glibc 篇)
https://juejin.cn/post/6854573220733911048 遇到了一个 glibc 导致的内存回收问题,查找原因和实验的的过程是比较有意思的,主要会涉及到下面这些: Linu ...