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

无法在SQLPlus中运行Oracle示例Schema脚本的问题求助

解决Oracle Docker容器中Sample Schema脚本路径引用问题

在Windows环境下通过Docker运行Oracle Express容器,部署Udemy Oracle SQL课程所需的Sample Schema时,执行mksample脚本出现路径引用错误,SQLPlus终端输出如下:

Connected.
SP2-0310: unable to open file "__SUB__CWD__/human_resources/hr_main.sql"
Connected.
SP2-0310: unable to open file "__SUB__CWD__/order_entry/oe_main.sql"
Connected.
SP2-0310: unable to open file "__SUB__CWD__/product_media/pm_main.sql"
Connected.
SP2-0310: unable to open file "__SUB__CWD__/info_exchange/ix_main.sql"
Connected.
SP2-0310: unable to open file "__SUB__CWD__/sales_history/sh_main.sql"
Connected.
SP2-0310: unable to open file "__SUB__CWD__/bus_intelligence/bi_main.sql"
Connected.
not spooling currently
SP2-0310: unable to open file "__SUB__CWD__/mkverify.sql"

文件夹结构说明:

  • 根目录包含mksample.sql和mkverify.sql
  • 根目录下有多个子文件夹:human_resources、order_entry、product_media、info_exchange、sales_history、bus_intelligence,每个子文件夹内对应存放hr_main.sql、oe_main.sql等脚本

解决方案:

  • 替换脚本占位符:打开根目录的mksample.sql,将所有__SUB__CWD__字符串替换为容器内Sample Schema文件夹的绝对路径。例如若你将本地Sample Schema文件夹挂载到容器的/opt/oracle/samples,则替换为该路径。
  • 正确挂载本地文件夹:启动Docker容器时,必须将本地的Sample Schema目录挂载到容器内可访问的路径,示例命令:
docker run -d -p 1521:1521 -v C:\your-local-sample-path:/opt/oracle/samples oracle/database:18.4.0-xe

(将C:\your-local-sample-path替换为你本地Sample Schema文件夹的实际路径)

  • 进入容器指定目录执行脚本:通过docker exec进入容器终端,切换到挂载的目录后再执行脚本:
docker exec -it <容器ID或名称> bash
cd /opt/oracle/samples
sqlplus system/你的密码 @mksample.sql
  • 修复文件权限:确保容器内挂载目录的文件权限允许Oracle用户读取,执行以下命令:
chown -R oracle:oinstall /opt/oracle/samples

内容的提问来源于stack exchange,提问作者Paul D

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 14:43:28