最省事的方式是直接使用官方预装镜像Oracle_Database_23ai_Free_Developer.ova,内置完整环境(含数据库、SQL Developer、APEX、Vector Search支持),跳过所有手动配置环节;首次启动后需修正SKIP_VALIDATIONS、SYS密码特殊字符限制及listener绑定0.0.0.0三处配置,配合NAT端口转发即可快速启用。

直接用官方预装镜像最省事
别自己从零装 Oracle 23ai Free —— 官方提供开箱即用的 Oracle_Database_23ai_Free_Developer.ova 镜像,内置完整环境(含数据库、SQL Developer、APEX、Vector Search 支持),跳过所有内核参数调整、用户创建、环境变量配置等易错环节。
你只需要:
- 下载
Oracle_Database_23ai_Free_Developer.ova(地址:Oracle 官网直链) - 确保 VirtualBox 版本 ≥ 7.0(
VirtualBox-7.0.20及以上已验证兼容) - 导入时勾选「重新初始化网络 MAC 地址」,避免与已有虚拟机冲突
- 启动后默认用户名/密码为
oracle/oracle,数据库实例名FREE,监听端口1521
导入后必须改的三件事
镜像虽预装,但首次启动后有三个关键项不满足生产或开发安全要求,必须手动修正:
-
/etc/sysconfig/oracle-free-23ai.conf中的SKIP_VALIDATIONS默认为true,建议改为false(尤其在内存 ≥4GB 的宿主机上),否则可能因资源不足导致 PDB 启动失败 - 首次运行
/etc/init.d/oracle-free-23ai configure时设置的SYS密码,不能含特殊字符如@、$、#—— Oracle 23ai Free 的密码验证器会拒绝,报错ORA-01017: invalid username/password - 默认监听只绑定
127.0.0.1,若需从宿主机连接,必须编辑$ORACLE_HOME/network/admin/listener.ora,将HOST = localhost改为HOST = 0.0.0.0,再执行lsnrctl reload
宿主机连不上数据库?先查这三处
常见连接失败不是因为密码错,而是网络层配置断点:
- VirtualBox 网络模式必须设为「桥接网卡」或「NAT + 端口转发」:在 VM 设置 → 网络 → 网卡1 →「连接方式」选「NAT」→ 点击「端口转发」→ 添加规则:
Name=ORACLE,Protocol=TCP,Host Port=1521,Guest Port=1521 - 宿主机防火墙是否放行
1521端口(Windows Defender Firewall / macOS pf / Linux ufw) - 连接字符串不能用
localhost:宿主机应使用jdbc:oracle:thin:@127.0.0.1:1521:FREE或sqlplus system@//127.0.0.1:1521/FREE,而非@localhost(DNS 解析可能绕回宿主机 loopback)
Docker 方式是替代方案,但不是“更轻”
有人想绕过 VirtualBox 直接用 Docker 跑 container-registry.oracle.com/database/free:latest,注意三点现实约束:
- 该镜像仅支持 Linux 宿主机(Windows/macOS 必须通过 WSL2 或 Docker Desktop 的 Linux backend 运行,且 WSL2 内存分配需 ≥3GB)
- 容器启动后仍需手动执行
oracle-database-free-23ai configure(交互式输密码),无法全自动部署 - Vector Search 所需的嵌入模型(如
all-MiniLM-L6-v2)默认不内置,需额外挂载模型文件并调用DBMS_VECTOR_ADMIN.CREATE_EMBEDDING_MODEL注册,而 VirtualBox 镜像已预置好
真正省时间的路径只有一条:用 .ova 镜像,改完那三处配置,15 分钟内拿到可连、可写、可跑向量搜索的 Oracle 23ai Free 实例。其余方式看似灵活,实则把简单问题复杂化。


















