当前位置: 首页 > news >正文

M1芯片最终oracle成功版本拉取方法及配置

最终根据CSDN中大佬成功安装Docker镜像 完成oracel

1.拉取镜像

docker pull docker.cnb.cool/kangaroohy/open-source/images/oracle:19c-ee

2.容器运行

 docker run -d \
-p 1521:1521 \
-p 5500:5500 \
-e ORACLE_PDB=ORCL \
-e ORACLE_PWD=123456 \
-e ORACLE_CHARACTERSET=AL32UTF8 \
-e INIT_SGA_SIZE=3000 \
-e INIT_PGA_SIZE=1000 \
-v /Users/liuyue/docker/oracle19c/oradata:/opt/oracle/oradata \
--name oracle19c \
docker.cnb.cool/kangaroohy/open-source/images/oracle:19c-ee

3.容器创建成功后需要连接数据库

以下是使用 DBeaver 连接 Docker 容器中 Oracle 数据库的步骤:

1. 下载 Oracle JDBC 驱动

从 Oracle 官方网站下载适合 Oracle 19c 的 JDBC 驱动程序,通常是 ojdbc8.jar 文件。

2. 打开 DBeaver

启动 DBeaver 应用程序。

3. 创建新连接

点击“数据库”菜单,选择“新建连接”。

4. 选择 Oracle 数据库

在数据库类型列表中选择“Oracle”,然后点击“下一步”。

5.配置连接设置
  • 主机:如果 Docker 容器和 DBeaver 在同一台机器上运行,主机名应为 localhost 。
  • 端口:使用你在 docker run 命令中映射的 Oracle 端口,这里应为 1521 。
  • 服务名:根据你的 docker run 命令,服务名是 ORCL 。
6.配置用户名和密码
  • 用户名:通常为 SYS 。
  • 密码:在 docker run 命令中设置的 ORACLE_PWD ,这里是 123456 。
7.配置 JDBC URL

 DBeaver 会自动生成 JDBC URL,通常格式为:

jdbc:oracle:thin:@localhost:1521/ORCL
8.配置 JDBC 驱动

 点击“驱动设置”按钮,点击“浏览”按钮,找到你下载的 ojdbc8.jar 文件。

9.测试连接

 点击“测试连接”按钮,确保所有配置正确,连接测试成功。

10.完成连接

 点击“完成”按钮,完成 DBeaver 与 Oracle 数据库的连接。

注意事项
  • 确保防火墙允许通过 1521 端口的连接。
  • 如果容器内的数据库服务没有正确启动,可以通过 docker logs 命令查看日志进行排查。
  • 如果连接失败,可以检查 DBeaver 的日志视图以获取更详细的错误信息。

在连接oracle数据进行配置时,ORA-12514 是一个典型的 Oracle 错误,表示数据库监听器不知道请求的服务名。这通常意味着服务名配置有误,或者数据库实例尚未注册到监听器。以下是解决该问题的步骤:

1.检查服务名

确保在 DBeaver 中配置的服务名与数据库实例的实际服务名一致。可以使用以下命令在容器中检查服务名:

docker exec -it oracle19c sqlplus / as sysdba

进入 SQL*Plus 后,运行以下命令查看服务名:

SELECT value FROM v$parameter WHERE name = 'service_names';

确保 DBeaver 中的服务名与查询结果一致。

2.检查数据库实例是否启动

确保数据库实例已经启动并注册到监听器。在 SQL*Plus 中运行以下命令:

SELECT status FROM v$instance;

如果数据库实例未启动,启动它:

STARTUP;

3.检查监听器状态

检查监听器是否正在运行,并且是否知道服务名。在容器中运行以下命令:

docker exec -it oracle19c lsnrctl status

如果监听器未启动,启动它:

docker exec -it oracle19c lsnrctl start

4.检查监听器配置

如果监听器未注册服务名,可以手动重新注册。在 SQL*Plus 中运行:

ALTER SYSTEM REGISTER;

5.检查防火墙和端口

确保防火墙未阻止 1521 端口,并且 Docker 容器正确映射了 1521 端口。

6. 重新连接

完成上述检查和修复后,重新尝试在 DBeaver 中连接数据库。

示例命令

以下是完整的检查和修复步骤:

# 进入容器
docker exec -it oracle19c bash# 进入 SQL*Plus
sqlplus / as sysdba# 检查服务名
SELECT value FROM v$parameter WHERE name = 'service_names';# 检查数据库实例状态
SELECT status FROM v$instance;# 如果实例未启动,启动它
STARTUP;# 退出 SQL*Plus
EXIT;# 检查监听器状态
lsnrctl status# 如果监听器未启动,启动它
lsnrctl start# 重新注册服务名
sqlplus / as sysdba
ALTER SYSTEM REGISTER;
EXIT;

http://www.lqws.cn/news/567559.html

相关文章:

  • 二叉树找到下一个中序遍历节点的思路
  • foreach、for in 和for of的区别
  • VMware报错问题解决记录
  • NAND Flash BCH和FTL
  • 聊聊横向移动中的实际技术点 ----- ResponderSMB
  • FastAPI+Sqlite+HTML的登录注册与文件上传系统:完整实现指南
  • 驱动开发系列58 - 揭开内核IRQ框架的神秘面纱
  • 对基尼指数作出的努力
  • jenkins启动报错,一直无法启动
  • 介绍Windows下的由Sysinternals开发的一些小工具
  • 实战篇----利用 LangChain 和 BERT 用于命名实体识别-----完整代码
  • OpenAI 系列大模型发展时间轴与主要特性
  • 用Flink打造实时数仓:生产环境中的“坑”与“解药”
  • Mac homebrew 安装教程
  • linux系统---Nginx反向代理与缓存功能
  • Springboot 集成 SpringState 状态机
  • 代码随想录打卡第一天
  • C语言中常见字符串处理函数
  • 量子算法入门——5.Qiskit库介绍与简单应用(2)
  • Ubuntu服务器(公网)- Ubuntu客户端(内网)的FRP内网穿透配置教程
  • 博图SCL编程利器:CASE OF 语句详解与应用指南之设备运行模式选择框架
  • 领域驱动设计(DDD)【28】之实践或推广DDD的学习
  • docker compose基本使用以及示例
  • 基于springboot+vue的数字科技风险报告管理系统
  • URL带有中文会引入哪些问题
  • http相关网络问题面试怎么答
  • 算法-基础算法-递归算法(Python)
  • 第十二节:Vben Admin 最新 v5.0 (vben5) 快速入门 - 两种权限控制方式(附前后端代码)
  • Vue 3 Teleport 特性
  • DXYZ投资-ai公司