DBMS_ERRLOG 包提供一种方法给指定表创建对应的错误日志表。 创建错误日志表的方法有两种,一是通过 DBMS_ERRLOG 包中的 CREATE_ERROR_LOG 来创建,二是通过 SQL 语法手动创建。因为使用 DBMS_ERRLOG 包创建错误日志表简单易行,建议用户使用方法一。DM DPC 环境下不支持 DBMS_ERRLOG 包。
dbms_errlog会在参照表t5的基础上新建立一个表,并增加5个字段,记录DML错误日志。
下面创建记录DML错误信息的记录表,通过DBMS_ERRLOG包来进行创建,而这个包目前只包括这一个过程: procedure create_error_log(dml_table_name varchar2, err_log_table_name varchar2 default NULL, err_log_table_owner varchar2 default NULL, err_log_table_space varchar2 default NULL, skip_unsupported boolea...
SQL> EXEC DBMS_ERRLOG.CREATE_ERROR_LOG('T1','ERR_T1','NREI'); PL/SQL procedure successfully completed 可以看到Oracle创建的错误记录表包括错误号码ORA_ERR_NUMBER$,错误信息ORA_ERR_MESG$,记录的ROWID信息ORA_ERR_ROWID$,错误操作类型ORA_ERR_OPTYP$,错误标签ORA_ERR_TAG$,以及表中对应的列。 下面利...
SQL> EXEC DBMS_ERRLOG.CREATE_ERROR_LOG('T1','ERR_T1','NREI'); PL/SQL procedure successfully completed SQL> alter table T1 add c clob; Table altered SQL> alter table ERR_T1 add c clob; Table altered 执行插入语句: SQL> INSERT INTO T1 VALUES('21','21','TEST') LOG ERRORS INTO ERR...