“Linux 下 Oracle 报错”这个范围很大,不同错误原因和解决办法完全不同。下面我先给你 一套通用的排查思路,再列出 Linux + Oracle 常见报错及解决方法,你可以对照使用;如果你能贴出具体报错信息,我可以直接帮你定位。
# 如果是 sqlplus 报错
sqlplus / as sysdba
# 如果是启动报错
tail -n 100 $ORACLE_BASE/diag/rdbms/*/*/trace/alert_*.log
echo $ORACLE_HOME
echo $ORACLE_SID
echo $PATH
df -h # 磁盘空间
free -h # 内存
lsnrctl status
原因:实例没起 / ORACLE_SID 不对
解决:
export ORACLE_SID=orcl
sqlplus / as sysdba
startup
原因:监听没启动
解决:
lsnrctl start
lsnrctl status
原因:Linux 共享内存或内存不足
解决:
# 修改 /etc/sysctl.conf
kernel.shmmax = 4294967296
kernel.shmmni = 4096
kernel.shmall = 1048576
sysctl -p
原因:/dev/shm 太小
解决:
mount -o remount,size=2G /dev/shm
或修改 /etc/fstab 永久生效
原因:环境变量没配
解决:
export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
原因:未设置 ORACLE_SID
export ORACLE_SID=orcl
id oracle
# oracle 必须在 oinstall / dba 组
请你补充以下信息,我可以精确帮你解决:
只要你贴报错,我可以直接给一步步命令级别的解答。