在 Debian 上运行 sqlplus 报错,常见原因和对应处理方法如下。你可以先贴出具体报错信息,不过我先把最常见的几类情况和解决方式列出来。
报错示例
sqlplus: command not found
没有安装 Oracle 客户端,或环境变量未配置。
sudo apt update
sudo apt install -y libaio1 unzip wget
下载并解压:
wget https://download.oracle.com/otn_software/linux/instantclient/instantclient-basiclite-linuxx64.zip
unzip instantclient-basiclite-linuxx64.zip
配置环境变量(如 ~/.bashrc):
export ORACLE_HOME=~/instantclient_21_xyz
export PATH=$ORACLE_HOME:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
source ~/.bashrc
报错示例
error while loading shared libraries: libaio.so.1
sudo apt install libaio1
如果是 64 位系统但装了 32 位 client:
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install libaio1:i386
报错示例
ORA-12162: TNS:net service name is incorrectly specified
ORACLE_SID 或 TNS_ADMIN 没配置。
export ORACLE_SID=orcl
export TNS_ADMIN=$ORACLE_HOME/network/admin
或用完整连接串:
sqlplus user/pass@//host:1521/service_name
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
chmod +x $ORACLE_HOME/sqlplus
which sqlplus
echo $ORACLE_HOME
echo $LD_LIBRARY_PATH
ldd $(which sqlplus)
如果你能贴出完整报错内容,我可以直接帮你定位是哪一类问题。