Docker中的Oracle无法启动sqlplus(Error 6 initializing SQL*Plus,You may need to set ORACLE_HOME 错误解决)

本文介绍了在Docker环境下遇到Oracle SQL*Plus初始化错误6的问题,通过重新登录Oracle用户并启动sqlplus成功解决问题。问题根源是由于初次登录Oracle容器时,oracle用户的.bash_profile文件缺失,导致环境变量未设置。重新登录后,该文件自动生成,从而能正常启动sqlplus。
部署运行你感兴趣的模型镜像

错误复现

进入docker的oracle容器

docker exec -it oracle11g bash

启动sqlplus

sqlplus /nolog

此时报错

Error 6 initializing SQL*Plus
SP2-0667: Message file sp1<lang>.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory

解决

在oracle容器中,重新登陆oracle用户。

su - oracle

重新启动sqlplus,成功~

[oracle@6b0b62f5771d ~]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Fri Jan 7 14:41:24 2022

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

SQL> 

思考

我们进入oracle容器时,发现默认是以oracle用户登陆的,但是查看发现,其不存在.bash_profile文件。

[oracle@6b0b62f5771d /]$ cat .bash_profile
cat: .bash_profile: No such file or directory

使用oracle用户重新登陆,即su - oracle,再次查看,发现已经存在了.bash_profile文件。

[oracle@6b0b62f5771d /]$ cat .bash_profile
cat: .bash_profile: No such file or directory
[oracle@6b0b62f5771d /]$ su - oracle
Password: 
[oracle@6b0b62f5771d ~]$ cat .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
	. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
ORACLE_BASE=/home/oracle/app/oracle;export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_2;export ORACLE_HOME
ORACLE_SID=helowin;export ORACLE_SID
ORACLE_TERM=xterm;export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
export CLASSPATH

正是因为文件不存在,oracle找不到环境变量,也就无法启动sqlplus。

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值