[20120106]11G sqlplus set errorloging on.txt

lfree發表於2012-01-06
在Oracle 11g版本的SQL*Plus中提供了一個非常有特色的選項errorlogging。當開啟該選項之後,會話級別的錯誤都會寫入到指定表中,是spool選項的有益補充。spool選項會將所有的輸出資訊都寫入到指定檔案檔案中,這樣會造成檔案內容過於臃腫和繁雜。在使用errorlogging選項後,我們將只關注那些與報錯有關的資訊,可以認為該選項是spool選項的精華抽取。

例子:
create table t  (id number constraint pk_t primary key) ;
insert into t(id) values (1);
commit;

SQL> set  errorlogging on
SQL> show errorlogging
errorlogging is ON TABLE SCOTT.SPERRORLOG

SQL> desc sperrorlog
Name        Null?    Type
----------- -------- --------------
USERNAME             VARCHAR2(256)
TIMESTAMP            TIMESTAMP(6)
SCRIPT               VARCHAR2(1024)
IDENTIFIER           VARCHAR2(256)
MESSAGE              CLOB
STATEMENT            CLOB

SQL> insert into t(id) values (1);
insert into t(id) values (1)
*
ERROR at line 1:
ORA-00001: unique constraint (SCOTT.PK_T) violated

SQL> select timestamp,statement,message from sperrorlog;
TIMESTAMP            STATEMENT                                          MESSAGE
-------------------  -------------------------------------------------- --------------------------------------------------
2012-01-06 15:30:47. insert into t(id) values (1)                        ORA-00001: unique constraint (SCOTT.PK_T) violated
000000

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-714528/,如需轉載,請註明出處,否則將追究法律責任。

相關文章