您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
三六零分类信息网 > 抚州分类信息网,免费分类信息发布

Oracle 11g sql plus 错误记录功能

2025/3/31 6:45:11发布13次查看
oracle 11g以前,可以通过show errors命令查看执行pl/sql语句时发生的错误,但不能记录这些错误,现在,可以通过sql plus命令set
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的批处理脚本很有用,可以记录整个过程的错误信息,而不用滚动屏幕进行查找,或者专门进行额外的日志记录。
抚州分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录