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

Oracle 12.x Docker容器启动卡在untarDB.log问题求助

Oracle 12.x Docker容器启动卡在untarDB.log的解决方法

问题描述

启动Oracle 12.1.0.2/12.2.0.1版本Docker容器时,初始化流程卡在log file is : /home/oracle/setup/log/untarDB.log,无法完成数据库创建;但相同操作步骤可正常启动Oracle 19.3.0.0容器。

操作步骤:

  • 登录Oracle镜像仓库:docker login container-registry.oracle.com/database/enterprise:12.2.0.1
  • 拉取镜像:docker pull container-registry.oracle.com/database/enterprise:12.2.0.1
  • 启动容器命令:
docker run -d --name DockerOra122 -p 1521:1521 -p 5500:5500  -e ORACLE_CHARACTERSET=AL32UTF8   -e ORACLE_SID=GENAL32UTF8 -e ORACLE_PDB=GENAL32UTF8PDB -e ORACLE_PWD=password123 container-registry.oracle.com/database/enterprise:12.2.0.1

容器日志输出:

2023-01-09 06:50:56 Setup Oracle Database
2023-01-09 06:50:56 Oracle Database 12.2.0.1 Setup
2023-01-09 06:50:56 Mon Jan 9 05:50:56 UTC 2023
2023-01-09 06:50:56 
2023-01-09 06:50:56 Check parameters ......
2023-01-09 06:50:56 log file is : /home/oracle/setup/log/paramChk.log
2023-01-09 06:50:56 paramChk.sh is done at 0 sec
2023-01-09 06:50:56 
2023-01-09 06:50:56 untar DB bits ......
2023-01-09 06:50:56 log file is : /home/oracle/setup/log/untarDB.log

排查步骤

  1. 进入运行中的容器(即使卡住,容器通常仍处于运行状态):
docker exec -it DockerOra122 bash
  1. 查看解压日志的具体错误信息:
cat /home/oracle/setup/log/untarDB.log

解决方案

1. 增加容器内存分配

Oracle 12.x初始化阶段需要足够内存,默认容器内存限制可能不足。启动时指定内存参数:

docker run -d --name DockerOra122 -p 1521:1521 -p 5500:5500 \
  -m 4g --memory-swap 8g \
  -e ORACLE_CHARACTERSET=AL32UTF8 \
  -e ORACLE_SID=GENAL32UTF8 \
  -e ORACLE_PDB=GENAL32UTF8PDB \
  -e ORACLE_PWD=password123 \
  container-registry.oracle.com/database/enterprise:12.2.0.1

建议至少分配4GB内存,内存交换设置为8GB,保证初始化资源充足。

2. 修复文件权限问题

如果untarDB.log提示权限错误,执行以下操作:

  • 进入容器后切换到oracle用户:
su - oracle
  • 手动执行解压脚本:
cd /home/oracle/setup && ./untarDB.sh
  • 若提示权限不足,修复脚本和日志目录权限:
chmod +x /home/oracle/setup/*.sh
chmod 775 /home/oracle/setup/log

3. 挂载本地目录规避权限冲突

将Oracle数据目录挂载到本地,确保目录权限正确:

mkdir -p /local/oradata
chmod 777 /local/oradata

docker run -d --name DockerOra122 -p 1521:1521 -p 5500:5500 \
  -v /local/oradata:/opt/oracle/oradata \
  -e ORACLE_CHARACTERSET=AL32UTF8 \
  -e ORACLE_SID=GENAL32UTF8 \
  -e ORACLE_PDB=GENAL32UTF8PDB \
  -e ORACLE_PWD=password123 \
  container-registry.oracle.com/database/enterprise:12.2.0.1

4. 重新拉取镜像(排除镜像损坏)

若镜像拉取过程中出现损坏,重新拉取:

docker rmi container-registry.oracle.com/database/enterprise:12.2.0.1
docker pull container-registry.oracle.com/database/enterprise:12.2.0.1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 07:55:41