在CentOS系统中,SQL*Plus本身不直接生成持久化日志文件,但可通过SPOOL
命令将交互式会话的输出(包括执行的SQL语句、结果及错误信息)保存到指定文件中,便于后续查看。
操作步骤:
sqlplus /nolog
进入SQL*Plus无登录模式;CONNECT username/password@database_service_name
命令连接数据库(替换为实际用户名、密码和服务名);SET SERVEROUTPUT ON
;SPOOL /path/to/sqlplus_output.log
(例如/home/user/sqlplus_session.log
);SELECT * FROM employees;
);SPOOL OFF
,随后输入EXIT
退出SQL*Plus。/path/to/sqlplus_output.log
文件中,可通过cat
、less
或vim
命令查看(如cat /home/user/sqlplus_session.log
)。若需查看SQL*Plus操作引发的数据库错误或系统日志(如连接失败、权限问题、SQL执行错误),需通过Oracle数据库的日志文件定位,主要包括以下几类:
作用:记录数据库启动/关闭、关键错误(如ORA-00600内部错误)、归档操作等重要事件,是排查数据库问题的首要日志。
查看步骤:
sqlplus / as sysdba
以SYSDBA权限连接数据库;SHOW PARAMETER BACKGROUND_DUMP_DEST;
(结果中的VALUE
字段即为路径,如/u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log
);tail -f /path/to/alert_orcl.log
实时查看最新日志,或cat /path/to/alert_orcl.log
查看完整内容。作用:记录特定会话的详细执行过程(如SQL执行计划、绑定变量值、锁等待),用于深度性能分析或错误定位。
查看步骤:
SHOW PARAMETER USER_DUMP_DEST;
获取跟踪日志目录(如/u01/app/oracle/diag/rdbms/orcl/orcl/trace
);orcl_ora_<PID>.trc
(<PID>
为进程ID),可通过ls -lt
按时间排序查找最新文件;tkprof
工具格式化跟踪文件(如tkprof orcl_ora_12345.trc formatted_trace.txt
),提升可读性。作用:记录数据库操作审计信息(如用户登录、敏感表访问、权限变更),需开启审计功能才会生成。
查看步骤:
SHOW PARAMETER AUDIT_FILE_DEST;
获取审计日志路径(如/u01/app/oracle/admin/orcl/adump
);audit_<timestamp>_<ORACLE_SID>.log
,使用cat
或less
命令查看内容。SPOOL
日志仅保存当前会话的输出,关闭会话后需手动保存文件;oracle
用户或root
用户权限)及磁盘空间(使用df -h
命令)。