在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命令)。