在 Ubuntu 上遇到 Oracle 报错,原因很多,处理方式取决于具体报错信息和使用方式(是 Oracle 数据库本身、还是客户端/驱动连接)。下面我先给你一个通用排查思路,你再看是哪一类。
报错示例:
error while loading shared libraries: libclntsh.so
解决:
sudo apt update
sudo apt install libaio1 libaio-dev
如果是 22.04+:
sudo apt install libaio1
报错:
ORACLE_HOME is not set
sqlplus: command not found
解决(示例):
export ORACLE_HOME=/opt/oracle/instantclient_21_1
export PATH=$ORACLE_HOME:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME
可写入:
~/.bashrc
报错:
ORA-12541: TNS:no listener
解决:
lsnrctl start
查看状态:
lsnrctl status
报错:
ORA-01034: ORACLE not available
解决:
sqlplus / as sysdba
startup
报错:
ORA-12705: Cannot access NLS data files
解决:
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
⚠️ Oracle 官方数据库不支持 Ubuntu
✅ 推荐方案:
docker run -d -p 1521:1521 gvenzl/oracle-xe
或
请把下面信息发我:
lsb_release -a)我可以直接给你一步一步的命令解法。