我正在尝试在 Oracle 数据库 docker 容器中使用 sqlplus(对于
Windows 10
)。
给出的命令:
"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"
试试这个:
"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"
虽然使用@dervis回答可以启动SQL Plus,但它在我这边引入了更多问题,例如
ORA-12547: TNS:lost contact
或Connected 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
尝试连接到容器:
docker exec -u oracle -it OracleDB bash
尝试
docker exec -it <container-name> bash -l -c "source /home/oracle/.bashrc; sqlplus /nolog"
docker exec -it bash -l -c“源/home/oracle/.bashrc; sqlplus /nolog” 这对我有用:)