在 Ubuntu 下使用 Oracle(无论是 Oracle Database 还是 Oracle 客户端 / 驱动)出错,排查思路是先看错误、再看环境、后看配置。下面我按常见场景给你一套“通用排错流程”。
请先明确是哪一种:
不同场景,处理方式差别很大。
请尽量提供以下之一:
ORA-xxxxx)lsb_release -a)例如:
ORA-12162: TNS:net service name is incorrectly specified
原因:没有设置 ORACLE_SID 或 TNS 配置错误
解决:
export ORACLE_SID=orcl
export ORACLE_HOME=/u01/app/oracle/product/19c/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
检查:
tnsping orcl
常见于 Instant Client:
error while loading shared libraries: libclntsh.so
解决:
sudo apt install libaio1 libaio-dev
并配置:
export LD_LIBRARY_PATH=/opt/oracle/instantclient_21_1:$LD_LIBRARY_PATH
监听器没启动:
lsnrctl status
lsnrctl start
常见问题:
oracle检查:
id oracle
free -h
日志位置:
$ORACLE_BASE/diag/rdbms/*/trace/alert*.log
Python(cx_Oracle)
pip install cx_Oracle
需要 Instant Client:
export LD_LIBRARY_PATH=/opt/oracle/instantclient
Java(JDBC)
ojdbc8.jar你可以直接告诉我:
我可以直接帮你精准定位并给命令级解决方案。