起因是客户登陆时报错TNS-12537

登陆上上服务器后,发现了几个特点。

1、没有oracle用户

2、数据文件的位置和spfile里面写的不一样

3、pmon进程存在,但是父进程ID不是1

4、配置oracle用户及环境变量,但是as sysdba无法登录到数据库

查看pmon的父进程

好家伙,container,看来是个容器。

 试了下docker ps果然是个容器

从docker进入,一气呵成

[root@XXXX ~]# docker exec -it 87a8f4a05fe5 bash
[root@xxxx /]# su - oracle
[oracle@xxxx ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Wed May 24 10:41:14 2023

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> 

 但是TNS-12537没有解决。

通过docker ps可以看到端口映射了

用netstat确认端口正常

netstat -lnutp |grep 1521  

用nc确认端口也正常

nc -v -w 3 ip port

最后从数据库里看,真的设置了sqlnet的白名单。。。。

处理后,连接正常,收工。

学习原理,孵化思路。积累工具,下笔有道。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐