【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 --

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
2月前
|
SQL 关系型数据库 MySQL
【MySQL】根据binlog日志获取回滚sql的一个开发思路
【MySQL】根据binlog日志获取回滚sql的一个开发思路
|
21天前
|
存储 SQL 关系型数据库
【MySQL调优】如何进行MySQL调优?从参数、数据建模、索引、SQL语句等方向,三万字详细解读MySQL的性能优化方案(2024版)
MySQL调优主要分为三个步骤:监控报警、排查慢SQL、MySQL调优。 排查慢SQL:开启慢查询日志 、找出最慢的几条SQL、分析查询计划 。 MySQL调优: 基础优化:缓存优化、硬件优化、参数优化、定期清理垃圾、使用合适的存储引擎、读写分离、分库分表; 表设计优化:数据类型优化、冷热数据分表等。 索引优化:考虑索引失效的11个场景、遵循索引设计原则、连接查询优化、排序优化、深分页查询优化、覆盖索引、索引下推、用普通索引等。 SQL优化。
168 15
【MySQL调优】如何进行MySQL调优?从参数、数据建模、索引、SQL语句等方向,三万字详细解读MySQL的性能优化方案(2024版)
|
28天前
|
SQL 运维 程序员
一个功能丰富的SQL审核查询平台
一个功能丰富的SQL审核查询平台
|
2月前
|
SQL 流计算
Flink SQL 在快手实践问题之Window TVF改进窗口聚合功能如何解决
Flink SQL 在快手实践问题之Window TVF改进窗口聚合功能如何解决
18 1
|
2月前
|
SQL 存储 OLAP
OneSQL OLAP实践问题之Flink SQL Gateway的功能如何解决
OneSQL OLAP实践问题之Flink SQL Gateway的功能如何解决
31 1
|
2月前
|
SQL Java 关系型数据库
SpringBoot 系列之 MyBatis输出SQL日志
这篇文章介绍了如何在SpringBoot项目中通过MyBatis配置输出SQL日志,具体方法是在`application.yml`或`application.properties`中设置MyBatis的日志实现为`org.apache.ibatis.logging.stdout.StdOutImpl`来直接在控制台打印SQL日志。
SpringBoot 系列之 MyBatis输出SQL日志
|
1月前
|
SQL 安全 数据库
基于SQL Server事务日志的数据库恢复技术及实战代码详解
基于事务日志的数据库恢复技术是SQL Server中一个非常强大的功能,它能够帮助数据库管理员在数据丢失或损坏的情况下,有效地恢复数据。通过定期备份数据库和事务日志,并在需要时按照正确的步骤恢复,可以最大限度地减少数据丢失的风险。需要注意的是,恢复数据是一个需要谨慎操作的过程,建议在执行恢复操作之前,详细了解相关的操作步骤和注意事项,以确保数据的安全和完整。
59 0
|
2月前
|
数据库 Java 监控
Struts 2 日志管理化身神秘魔法师,洞察应用运行乾坤,演绎奇幻篇章!
【8月更文挑战第31天】在软件开发中,了解应用运行状况至关重要。日志管理作为 Struts 2 应用的关键组件,记录着每个动作和决策,如同监控摄像头,帮助我们迅速定位问题、分析性能和使用情况,为优化提供依据。Struts 2 支持多种日志框架(如 Log4j、Logback),便于配置日志级别、格式和输出位置。通过在 Action 类中添加日志记录,我们能在开发过程中获取详细信息,及时发现并解决问题。合理配置日志不仅有助于调试,还能分析用户行为,提升应用性能和稳定性。
38 0
|
2月前
|
SQL 数据处理 数据库
SQL正则表达式应用:文本数据处理的强大工具——深入探讨数据验证、模式搜索、字符替换等核心功能及性能优化和兼容性问题
【8月更文挑战第31天】SQL正则表达式是数据库管理和应用开发中处理文本数据的强大工具,支持数据验证、模式搜索和字符替换等功能。本文通过问答形式介绍了其基本概念、使用方法及注意事项,帮助读者掌握这一重要技能,提升文本数据处理效率。尽管功能强大,但在不同数据库系统中可能存在兼容性问题,需谨慎使用以优化性能。
35 0
|
2月前
|
SQL 安全 测试技术
【数据守护者必备】SQL数据备份与恢复策略全解析:从全量到日志备份,手把手教你确保企业信息万无一失的实战技巧!
【8月更文挑战第31天】数据库是企业核心业务数据的基石,为防止硬件故障、软件错误或人为失误导致的数据丢失,制定可靠的备份与恢复策略至关重要。本文通过一个在线购物平台的案例,详细介绍了使用 SQL Server 进行全量备份、差异备份及事务日志备份的方法,并演示了如何利用 SQL Server Agent 实现自动化备份任务。此外,还提供了数据恢复的具体步骤和测试建议,确保数据安全与业务连续性。
50 0
下一篇
无影云桌面