SQL*Plus本身不直接生成日志文件,但可通过SPOOL命令将执行过程中的命令、结果及错误信息保存到指定文件,便于后续查看。
SPOOL 文件路径(如SPOOL /home/oracle/sqlplus_output.log),后续所有操作(包括SQL命令、提示信息、错误)都会写入该文件。SPOOL开启后,输入需要执行的SQL命令(如SELECT * FROM employees;)。SPOOL OFF,结束日志写入并关闭文件。cat(快速查看)、less(分页查看)或tail -f(实时监控新增内容)命令查看日志文件,例如less /home/oracle/sqlplus_output.log。SQLPlus操作依赖Oracle数据库,若需排查SQLPlus执行中的问题(如连接失败、SQL语法错误),需查看Oracle的诊断日志,这些日志记录了数据库运行状态、错误信息及会话追踪细节。
SHOW PARAMETER diag_dest,返回的VALUE即为alert日志所在目录(如/u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log)。tail -f /u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log实时监控日志更新。USER_DUMP_DEST参数定位路径。
SHOW PARAMETER user_dump_dest,返回的目录包含用户会话的trace文件(如orcl_ora_12345.trc)。LOG_ARCHIVE_DEST参数查询。
SHOW PARAMETER log_archive_dest,返回归档日志存储位置(如/u01/app/oracle/archivelog)。tail -f /path/to/alert_orcl.log(实时查看alert日志新增内容)。grep "ORA-" /path/to/alert_orcl.log(筛选出所有ORA-开头的错误信息)。YYYY-MM-DD HH24:MI:SS),可使用awk提取特定时间段内容,例如awk '/2025-11-09 10:00:00/,/2025-11-09 11:00:00/' /path/to/alert_orcl.log。/u01/app/oracle/diag/rdbms/orcl/orcl/trace)及文件对当前用户(如oracle)有读权限,避免无法访问。logrotate工具自定义轮转策略(如按大小或天数压缩旧日志),避免日志文件过大占用磁盘空间。