当前位置:  数据库>oracle

Oracle 11g sql plus 错误记录功能

    来源: 互联网  发布时间:2017-05-18

    本文导语: Oracle 11g以前,可以通过show errors命令查看执行pl/sql语句时发生的错误,但不能记录这些错误,现在,可以通过sql plus命令set errorlogging on,将sql或者pl/sql语句导致的所以错误写入名为sperrorlog的表中。具体见如下测试: C:>sqlplus /nolo...

Oracle 11g以前,可以通过show errors命令查看执行pl/sql语句时发生的错误,但不能记录这些错误,现在,可以通过sql plus命令set errorlogging on,将sql或者pl/sql语句导致的所以错误写入名为sperrorlog的表中。具体见如下测试:

C:>sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on 星期六 3月 16 08:51:43 2013

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

SQL> conn scott/tiger

已连接。

--检查错误日志记录功能是否开启

SQL> show errorlogging

errorlogging is OFF

SQL> set errorlogging on;

SQL> show errorlogging

errorlogging is ON TABLE SCOTT.SPERRORLOG

--建表及insert操作测试

SQL> create table t(id number,name varchar2(2O)

2  ;

create table t(id number,name varchar2(2O)

*

第 1 行出现错误:

ORA-00907: 缺失右括号

SQL> create table t(id number,name varchar2(2O));

create table t(id number,name varchar2(2O))

*

第 1 行出现错误:

ORA-00907: 缺失右括号

SQL> create table t(id number,name varchar2(20));

表已创建。

SQL> alter table t add constraint pk_t primary key (id);

表已更改。

SQL> insert into t values(1,'heloong');

已创建 1 行。

SQL> commit;

提交完成。

SQL> insert into t values(1,'heloong');

insert into t values(1,'heloong')

*

第 1 行出现错误:

ORA-00001: 违反唯一约束条件 (SCOTT.PK_T)

SQL> insert into t values(2,'heloong');

已创建 1 行。

SQL> commit;

提交完成。

SQL> set linesize 200

SQL> desc sperrorlog;

名称

是否为空? 类型

-------------------------------------------------------------------------------

---------------------------------- -------- ------------------------------------

----------------------------------------

USERNAME                    --用户名

VARCHAR2(256)

TIMESTAMP                    --错误时间

TIMESTAMP(6)

SCRIPT.                            --脚本名(如果有的话)

VARCHAR2(1024)

IDENTIFIER                    --用户定义的标识

VARCHAR2(256)

MESSAGE                        --错误信息

CLOB

STATEMENT                  --导致错误的语句

CLOB

SQL> select username,statement,message from sperrorlog;

USERNAME

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

----------------------------------------

STATEMENT

MESSAGE

--------------------------------------------------------------------------------

-------------------------------------------------------------------------------

-

SCOTT

create table t(id number,name varchar2(2O)

ORA-00907: 缺失右括号

SCOTT

create table t(id number,name varchar2(2O))

ORA-00907: 缺失右括号

SCOTT

insert into t values(1,"heloong")

ORA-00001: 违反唯一约束条件 (SCOTT.PK_T)

如上查询结果,所有错误信息都记录到表sperrorlog,此功能对于oracle的批处理脚本很有用,可以记录整个过程的错误信息,而不用滚动屏幕进行查找,或者专门进行额外的日志记录。


    
 
 

您可能感兴趣的文章:

  • 安装Oracle加载数据库错误areasQueries的解决
  • 我在安装oracle的时候出现了这个错误,请懂行人赐教~~附图!~~
  • 记录Linux下一次oracle启动错误
  • shell如何获取oracle错误码 在线等
  • Linux系统下安装Oracle X11错误解决办法
  • 求助前辈们:solaris 10 x86 安装oracle 10g 错误
  • 有 ORACLE 错误码文档吗? 谢谢大家!
  • Eclipse连接Oracle数据库的ORA-00604 ORA-12705错误
  • ORACLE安装时/tmp/orainstRoot.sh 执行发生错误
  • 关于提高Oracle数据库性能的四个错误认识
  • C++使用OCCI连Oracle10g的错误
  • Linux上管理本机Oracle的时候出现找不到ServiceName的错误
  • Oracle的sqlcode对应的错误信息sqlerrm
  • 连接Oracle817数据库的错误提示
  • Oracle AS关键字 提示错误
  • rh9上装oracle817犯了个低级错误,如何挽回?
  • oracle错误迷惑
  • FC6下安装Oracle9i错误,请高手指教 在线等 解决即结贴
  • Oracle10201 RAC升级到10204后导出数据时报EXP-00056错误
  • 在tomcat下连接oracle8i的javabean出现如下错误,急!
  • 请问在红旗Linux多功能服务器版上(不是数据库服务器版)能否正常安装使用Oracle?红旗Linux数据库服务器版要比红旗Linux多功能服务器版贵
  • MySQL实现类似Oracle中的decode()函数的功能
  • Oracle SQL中实现indexOf和lastIndexOf功能的思路及代码
  • oracle的plsql里有没有位操作的功能
  • 怎么写一个Shell来执行这样的功能,访问Oracle数据库,然后执行一个SQL脚本,生成一个文件。急!
  • Oracle数据库中分区功能详解
  • Oracle11g备份和恢复功能的提高
  • 细化解析Oracle 10g STATSPACK的新功能
  • Oracle数据库后台进程的功能分析
  • Oracle 11G闪回数据归档新功能详述
  • Oracle备份功能比较
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 从jsp想oracle插入记录的顺序问题
  • 紧急求救:为什么oracle只能选择一定数据的记录
  • ejb的bmp向oracle表插入图片记录的问题!
  • 请问怎么用jsp语句删除oracle中的一条记录?
  • 给200分:oracle的jdbc有BUG??为何在servlet中记录数不能超过120条?
  • 关于JDBC访问Oracle返回数据集的记录限制的问题
  • Oracle 如何快速查找和删除重复记录
  • Oracle 当前用户下所有表的记录总数
  • Oracle中用Rowid查找和删除重复记录
  • 如何确定Oracle数据库表重复的记录
  • shell向oracle插记录 小问题送分了,谢谢
  • 利用ASP来实现Oracle数据记录的分页显示
  • Oracle数据库设置任务计划备份一周的备份记录
  • Linux(Oracle系统在上面)系统无缘无故死机 , 可能是由于应用程序引起 , 可是由于重新启动查不到相关信息 , 不知道在哪里有记录系统CPU Lo
  • MySQL数据迁移到Oracle记录
  • Oracle中取固定记录数详细步骤
  • Oracle基本操作全记录
  • SQL查询前10条记录(SqlServer/mysql/oracle)的语法分析
  • 在oracle下要在同一事务下插入多条记录,该怎么做??最好要有原代码
  • oracle快速删除重复的记录
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,