【SQL*Plus】11g版本对 SQL*Plus错误日志的记录功能——errorlogging参数

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Oracle 11g中的errorlogging参数增强了错误信息的记录功能,可以做到错误信息“落地”的功能。1.Oracle版本信息sys@11gR2> select * from v$version;BANNER---------------------...
Oracle 11g中的errorlogging参数增强了错误信息的记录功能,可以做到错误信息“落地”的功能。

1.Oracle版本信息
sys@11gR2> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE    11.2.0.1.0      Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production

2.SQL*Plus中errorlogging参数的默认值
sec@11gR2> show errorlogging
errorlogging is OFF

3.修改errorlogging选项为ON开启错误日志记录功能
sec@11gR2> set errorlogging on
sec@11gR2> show errorlogging
errorlogging is ON TABLE SEC.SPERRORLOG

注意再次提示的内容,“set errorlogging on”命令将自动在当前用户下创建表SPERRORLOG,用于记录错误信息。

sec@11gR2> desc SPERRORLOG
 Name          Null?    Type
 ------------- -------- -------------------
 USERNAME               VARCHAR2(256)
 TIMESTAMP              TIMESTAMP(6)
 SCRIPT                 VARCHAR2(1024)
 IDENTIFIER             VARCHAR2(256)
 MESSAGE                CLOB
 STATEMENT              CLOB

每个字段的定义描述如下:
 USERNAME  -- 用户名
 TIMESTAMP -- 错误发生的时间
 SCRIPT    -- 脚本名称
 IDENTIFIER-- 标识符
 MESSAGE   -- 记录类似ORA、PLA或SP2错误信息
 STATEMENT -- 错误信息描述

4.模拟SQL*Plus中的错误
sec@11gR2> show secooler
SP2-0158: unknown SHOW option "secooler"
sec@11gR2> help secooler
SP2-0172: No HELP matching this topic was found.
sec@11gR2> seeeeelect from tab;
SP2-0734: unknown command beginning "seeeeelect..." - rest of line ignored.
sec@11gR2> create table t as as select * from user_objects;
create table t as as select * from user_objects
                  *
ERROR at line 1:
ORA-00928: missing SELECT keyword

sec@11gR2>

5.通过查询SPERRORLOG表获得所有错误信息
sec@11gR2> col USERNAME for a8
sec@11gR2> col TIMESTAMP for a14
sec@11gR2> col MESSAGE for a20
sec@11gR2> col STATEMENT for a20
sec@11gR2> select USERNAME,TIMESTAMP,MESSAGE,STATEMENT from SPERRORLOG;

USERNAME TIMESTAMP      MESSAGE              STATEMENT
-------- -------------- -------------------- --------------------
SEC      06-MAY-10 03.5 SP2-0158: unknown SH show secooler
         1.49.000000 PM OW option "secooler"

SEC      06-MAY-10 03.5 SP2-0172: No HELP ma help secooler
         1.51.000000 PM tching this topic wa
                        s found.

SEC      06-MAY-10 03.5 SP2-0734: unknown co seeeeelect from tab;
         1.54.000000 PM mmand beginning "see
                        eeelect..." - rest o
                        f line ignored.

SEC      06-MAY-10 03.5 ORA-00928: missing S create table t as as
         1.55.000000 PM ELECT keyword         select * from user_
                                             objects

可见,曾经发生的错误信息一览无余。

6.使用commit命令可以永久记录这些报错信息
若想将报错信息永久的保留下来,只需要在session中输入commit命令便可。

7.Oracle 11gR2官方文档中参考信息
http://download.oracle.com/docs/cd/B28359_01/server.111/b31189/ch12040.htm#SQPUG160

8.小结
通过参数errorlogging的设置,可以非常便捷的开启错误信息记录功能。当在SQL*Plus中调试脚本或SQL语句时,该功能起到非常重要的作用。
另外,通过这个错误记录功能,也可以建立一个误操作自检库,以便自省吾身。

Good luck.

secooler
10.05.06

-- The End --

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
目录
相关文章
|
3月前
|
SQL
SQL如何在CTE中使用Order By的功能
SQL Server如何在CTE中使用Order By的功能
|
7月前
|
存储 SQL Oracle
|
7月前
|
SQL 分布式计算 资源调度
Dataphin功能Tips系列(48)-如何根据Hive SQL/Spark SQL的任务优先级指定YARN资源队列
如何根据Hive SQL/Spark SQL的任务优先级指定YARN资源队列
215 4
|
7月前
|
运维 监控 虚拟化
除了实时性能监控,Hyper-V还支持日志记录和警报功能你知道吗?
Hyper-V不仅支持实时性能监控,还具备强大的日志记录和警报功能。通过事件查看器可访问详细的日志文件,涵盖虚拟机管理、配置及Hypervisor事件,帮助故障排查和性能分析。警报功能支持预定义和自定义规则,可通过多种方式通知管理员,确保及时响应问题,保障虚拟化环境的稳定运行。
|
7月前
|
SQL 数据库
【YashanDB知识库】应用绑定参数的慢查询,慢日志抓取不到
【YashanDB知识库】应用绑定参数的慢查询,慢日志抓取不到
|
10月前
|
监控 安全 Linux
启用Linux防火墙日志记录和分析功能
为iptables启用日志记录对于监控进出流量至关重要
291 1
|
10月前
|
SQL 存储 缓存
MySQL进阶突击系列(02)一条更新SQL执行过程 | 讲透undoLog、redoLog、binLog日志三宝
本文详细介绍了MySQL中update SQL执行过程涉及的undoLog、redoLog和binLog三种日志的作用及其工作原理,包括它们如何确保数据的一致性和完整性,以及在事务提交过程中各自的角色。同时,文章还探讨了这些日志在故障恢复中的重要性,强调了合理配置相关参数对于提高系统稳定性的必要性。
|
11月前
|
Oracle 关系型数据库 数据库
【赵渝强老师】Oracle的参数文件与告警日志文件
本文介绍了Oracle数据库的参数文件和告警日志文件。参数文件分为初始化参数文件(PFile)和服务器端参数文件(SPFile),在数据库启动时读取并分配资源。告警日志文件记录了数据库的重要活动、错误和警告信息,帮助诊断问题。文中还提供了相关视频讲解和示例代码。
237 1
|
11月前
|
SQL 关系型数据库 MySQL
SQL中,可以使用 `ORDER BY` 子句来实现排序功能
【10月更文挑战第26天】SQL中,可以使用 `ORDER BY` 子句来实现排序功能
913 6