在 Ubuntu 上查看 Oracle 日志,主要取决于你安装的是 Oracle Database(单机/服务端) 还是 Oracle 客户端,以及你关心的日志类型(报警日志、监听日志、归档日志、trace 等)。
下面按常见场景说明。
这是最重要的 Oracle 日志。
sqlplus / as sysdba
SQL> show parameter background_dump_dest;
或(11g 以后推荐):
SQL> SELECT value FROM v$diag_info WHERE name = 'Diag Alert';
通常在:
$ORACLE_BASE/diag/rdbms/<db_name>/<instance_name>/trace/alert_<instance_name>.log
示例:
cat $ORACLE_BASE/diag/rdbms/orcl/orcl/trace/alert_orcl.log
实时查看:
tail -f $ORACLE_BASE/diag/rdbms/orcl/orcl/trace/alert_orcl.log
路径同上:
$ORACLE_BASE/diag/rdbms/<db>/<inst>/trace/
查看最近异常 trace:
ls -lt $ORACLE_BASE/diag/rdbms/*/*/trace/*.trc | head
lsnrctl status
或:
lsnrctl show log_file
通常路径:
$ORACLE_BASE/diag/tnslsnr/<主机名>/listener/trace/listener.log
tail -f $ORACLE_BASE/diag/tnslsnr/ubuntu/listener/trace/listener.log
Oracle 11g+ 支持 ADRCI:
adrci
常用命令:
show alert
show log
show trace
如果是 客户端问题:
$ORACLE_HOME/network/log/sqlnet.log
开启详细日志(sqlnet.ora):
DIAG_ADR_ENABLED=OFF
TRACE_LEVEL_CLIENT=16
ps -ef | grep ora_
journalctl -xe
dmesg | tail
# 报警日志
tail -f $ORACLE_BASE/diag/rdbms/*/*/trace/alert_*.log
# 监听日志
tail -f $ORACLE_BASE/diag/tnslsnr/*/listener/trace/listener.log
如果你能告诉我:
我可以给你更精确的日志查看方式。