文接上回,我们聊到了远程连接Oracle数据库问题,在此作拓展,两篇配合食用效果更佳,直达连接戳
IDEA远程连接Oracle数据库流程详解

报错问题展示

image-20220226111855512

lanyy科普点

SID是什么?
SID 是一个数据库的唯一标识符!是建立一个数据库时系统自动赋予的一个初始 ID,SID 主要用于在一些 DBA 操作以及与操作系统交互,从操作系统的角度访问实例名,必须通过 ORACLE_SID,且它在注册表中也是存在的。

如何查看 SID?

  • Windows 系统下,打开注册表 HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1,在右侧名称列表中名为 ORACLE_SID 的属性值即是 SID
  • Linux 或 Unix 系统下,需要切换到 Oracle 用户,输入指令 env 查看
    SID 连接方式配置,Test Connection 测试连接

问题纠错分析

常见错误排查:oracle连接不上或其他服务连接不上

  1. 虚拟机存放在中文目录下:
    示范:E:\Virtual\lanyy

  2. vmware的vmnet8网卡的ip端不在192.168.229.~段(远程工具(如:Xshell)能连接上,就不是该问题),虚拟化容器另作考虑(这里标注一下,见5)

  3. 服务没有完全启动

​ oralce -> 等待几秒
​ hive(底层基于hdfs存储) -> 确认hadoop启动:hdfs、yarn、history server

hive启动后,等待1分钟左右

  • hive的metastore在读mysql中的hive库和表的元数据信息

  • jps查看进程:我构建的虚拟服务本地出现两个runjar,一个为metastore,一个为hiveserver2

  1. spark服务

    spark依赖于yarn,依赖于hive
    部署模式:spark on yarn -> resourcemanager、nodemanager、namenode、datanode
    spark on hive模式:spark引擎操作hive数据库和表,hive服务则没有问题

  2. 防火墙(这个问题比较小众,可以使用下述命令测试)

# 查看防火墙状态 (二选一)
systemctl status firewalld

service  iptables status

# 暂时关闭防火墙
systemctl stop firewalld

service  iptables stop
# 永久关闭防火墙

systemctl disable firewalld

chkconfig iptables off
  1. 使用虚拟化容器(如:docker)构建的镜像

我遇到的是这个问题,虚拟镜像时未将hosts文件进行完全映射,致使终端显示hadoop服务已完成启动

image-20220226113200130

但却无法访问web端,排了一圈错回来竟是最小的问题导致,多少有点打脸

image-20220226114005503

个人问题解决

#进入服务

docker exec -it 服务名 bash

#重新在虚拟化容器中映射主机记录的ip,再次访问web页面

vim /etc/hosts

image-20220226113626016

测试连接

image-20220226115637840

解决问题收录

翻阅各类帖子挑选较多认可的实操做下汇总,方便遇到同样问题的友友得到快速解决

Oracle驱动问题

在Driver中移除现有版本驱动,点击右侧+号选择安装低版本的驱动进行尝试,进行测试连接。

image-20220226114802081

测试链接

image-20220226115637840
了解更多知识请戳下:

@Author:懒羊羊

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐