记一次docker中的oracle连接问题
记一次容器上oracle的问题
·
起因是客户登陆时报错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的白名单。。。。
处理后,连接正常,收工。
学习原理,孵化思路。积累工具,下笔有道。

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