You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Macbook M1通过Colima/Docker运行Oracle本地数据库遇连接问题求助

M1 Mac上Colima+Docker部署Oracle数据库连接问题排查

一、确认容器及Oracle服务状态

  • 执行docker ps查看容器运行状态,确保状态为Up;若容器已退出,执行docker logs 24e6894e0c58查看启动报错日志
  • 进入容器验证Oracle服务状态:
    docker exec 24e6894e0c58 sqlplus / as sysdba
    
    在SQLPlus中执行:
    select status from v$instance;
    
    确认输出为OPEN

二、核对SQL Developer连接参数

Oracle Free容器的默认连接配置需注意:

  • 主机名:填localhost(Colima默认端口映射到本地),若Colima用自定义网络,可通过colima ls获取Colima实例IP填入
  • 端口:1521(已做端口映射)
  • 服务名/SID:默认服务名为FREEPDB1,SID为FREE,优先使用服务名连接
  • 用户名:test(通过createAppUser创建的用户)
  • 密码:tespass(注意命令中拼写,避免输入错误)

三、检查网络连通性与端口映射

  • 确认Colima架构为x86_64:执行colima status查看架构信息,若不符则重启Colima:colima stop && colima start --arch x86_64 --memory 6(增加内存分配,满足Oracle启动需求)
  • 检查本地1521端口占用:执行lsof -i :1521,若被其他程序占用,修改容器启动命令为docker run -d -p 1522:1521 -e ORACLE_PASSWORD=tespass gvenzl/oracle-free,并在SQL Developer中使用1522端口连接
  • 测试本地到容器的连通性:执行nc -zv localhost 1521,若不通则重启Colima重试

四、验证App用户创建有效性

  • 进入容器PDB的SQLPlus:
    docker exec -it 24e6894e0c58 sqlplus sys/tespass@FREEPDB1 as sysdba
    
  • 查询用户是否存在:
    select username from dba_users where username='TEST';
    
  • 若用户不存在,重新执行创建命令并指定PDB:
    docker exec 24e6894e0c58 createAppUser test tespass --pdb FREEPDB1
    

五、其他排查方向

  • 确认SQL Developer版本适配M1芯片,或用JDBC连接字符串测试:jdbc:oracle:thin:@localhost:1521/FREEPDB1,用户名test,密码tespass
  • Oracle Free容器启动需初始化时间,若刚启动容器,等待5-10分钟后再尝试连接

内容的提问来源于stack exchange,提问作者Catarina Nogueira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 13:42:08