命令未找到 - bash:sqlplus:

4

我正在尝试在 Oracle 数据库 Docker 容器中(适用于 Windows 10)使用 sqlplus。

给出的命令:

"docker run -d -p 8080:8080 -p 1521:1521 --name OracleDB store/oracle/database/enterprise:12.2.0.1"
"docker start OracleDB"
"docker exec -it OracleDB bash"
"sqlplus / as sysdba"

现在我收到了错误信息:

"bash: sqlplus: command not found"

Image01

image02


你的 ORACLE_HOME 目录是什么? - Derviş Kayımbaşıoğlu
[oracle@fdbf97e3a5fe /]$ lsORCL boot etc lib media opt root sbin sys u01 u03 usr bin dev home lib64 mnt proc run srv tmp u02 u04 var[oracle@fdbf97e3a5fe /]$ - Qendrim Krasniqi
这不是我所要求的...在继续下一步之前,您需要设置ORACLE_HOME目录。我知道您的问题是什么,但如果不知道您的ORACLE_HOME目录,我无法帮助您。 - Derviş Kayımbaşıoğlu
1
/u01/app/oracle/product/12.2.0/dbhome_1 - Qendrim Krasniqi
5个回答

8

尝试使用以下方法:

"docker run -d -p 8080:8080 -p 1521:1521 --name OracleDB store/oracle/database/enterprise:12.2.0.1"
"docker start OracleDB"
"docker exec -it OracleDB bash"
"/u01/app/oracle/product/12.2.0/dbhome_1/bin/sqlplus / as sysdba"

3

虽然根据@dervis的回答可以启动SQL Plus,但这给我带来了一些问题,例如ORA-12547: TNS:lost contactConnected to an idle instance.

对我有用的是更新PATH环境变量,如下所示:

PATH=$ORACLE_HOME/bin:$PATH
export PATH

参见:https://dba.stackexchange.com/questions/112702/bash-sqlplus-command-not-found 后来我按照惯例成功启动了SQL Plus:
source /home/oracle/.bashrc; sqlplus /nolog

0
docker exec -it <container-name> bash -l -c "source /home/oracle/.bashrc; sqlplus /nolog"

这对我来说很有效。

0

尝试

docker exec -it <container-name> bash -l -c "source /home/oracle/.bashrc; sqlplus /nolog"

虽然这个链接可能回答了问题,但最好在此处包含答案的基本部分并提供参考链接。如果链接页面更改,仅有链接的答案可能会失效。-【来自审查】 - Florin C.

0
尝试连接到容器:
docker exec -u oracle -it OracleDB bash

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接