oracle DML错误日志(笔记)
DML错误日志是oracle10gR2引入的一个类似于SQL*Loader的错误日志功能。它的基本原理是把任何可能导致语句失败的记录转移,放到一张错误日志表中。
具体使用如下:
1、使用DBMS_ERRLOG.CREATE_ERROR_LOG来创建错误日志表
--原表my_test表结构
desc my_test
Name Type Nullable Default Comments
------ ------------ -------- ------- --------
SID NUMBER
NAME VARCHAR2(20) Y
GENDER INTEGER Y
AGE NUMBER Y
HOBBY VARCHAR2(20) Y --执行下面的语句,生成错误日志表
execute dbms_errlog.create_error_log('my_test','my_test_bad'); PL/SQL procedure successfully completed. --生成的错误日志表my_test_bad结构
desc my_test_bad
Name Type Nullable Default Comments
--------------- -------------- -------- ------- --------
ORA_ERR_NUMBER$ NUMBER Y
ORA_ERR_MESG$ VARCHAR2(2000) Y
ORA_ERR_ROWID$ UROWID(4000) Y
ORA_ERR_OPTYP$ VARCHAR2(2) Y
ORA_ERR_TAG$ VARCHAR2(2000) Y
SID VARCHAR2(4000) Y
NAME VARCHAR2(4000) Y
GENDER VARCHAR2(4000) Y
AGE VARCHAR2(4000) Y
HOBBY VARCHAR2(4000) Y
其中ORA_ERR_TAG$这个字段可以存放用户自定义的数据
2、在insert语句中使用my_test_bad错误日志表
insert into my_test
(sid,name,gender,age,hobby)
values (12,'joy',2,'age','book,football,run')
log errors into my_test_bad; insert into my_test
(sid,name,gender,age,hobby)
values (12,'joy',2,'age','book,football,run')
log errors into my_test_bad ORA-01722: 无效数字 SQL> select * from my_test_bad;--(结果不规范,用图展示)

update,delete,merge语句都可以在后面声明错误日志,方法相同。如:
update my_test
set age = 'yyy'
where sid = 12
log errors into my_test_bad;
注意事项:log errors子句不引起隐式提交,也就是说,即使回滚了失误,错误信息还是会保存在错误日志表中。
oracle DML错误日志(笔记)的更多相关文章
- DBMS_ERRLOG记录DML错误日志(二)
上一篇简单介绍了DML记录语句的限制,虽然所有的例子都是利用INSERT语句,但是LOG ERRORS语句并没有这个限制,UPDATE.DELETE和MERGE都可以使用这个语句.下面要说的就是这篇的 ...
- DBMS_ERRLOG记录DML错误日志(一)
当一个DML运行的时候,如果遇到了错误,则这条语句会整个回滚,就好像没有执行过.不过对于一个大的DML而言,如果个别数据错误而导致整个语句的回滚,会浪费很多的资源和运行时间,从10g开始Oracle支 ...
- 确认oracle数据库错误日志文件位置
在命令行里面输入: show parameter background_dump_dest 执行之后会显示一个目录,这个目录就是错误日志目录 在这目录下回有alert*.log 类似这样的文件,这个 ...
- Linux 查询oracle错误日志&警告日志
1 通过命令查看错误日志目录:show parameter background_dump_dest /usr/oracle/app/diag/rdbms/orcl/orcl/trace 2 根据 ...
- Oracle归档日志所在目录时间不对&&Oracle集群日志时间显示错误
Oracle归档日志所在目录时间不对&&Oracle集群日志时间显示错误 前言 这个问题在18年的时候遇到了,基本不注意并且集群或者数据库运行正常是很难注意到的. 忘记当时怎么发现的了 ...
- PHP 错误与异常 笔记与总结(7)将错误日志以邮件方式发送
当系统发生了很严重的问题,需要立刻发送给管理员.可以通过 error_log() 将错误以邮件形式发送到邮箱. 在 php.ini 中设置: sendmail_from = 472323087@qq. ...
- PHP 错误与异常 笔记与总结(6)将错误日志保存在系统日志中
[将错误记录到系统日志中] 在 php.ini 中将 error_log 设置为: error_log = syslog 或者在运行时使用 ini_set() 函数设置. [例1] <?php ...
- PHP 错误与异常 笔记与总结(5)配置文件中与错误日志相关的选项 && 将错误记录到指定的文件中
[记录错误(生产环境)] php.ini: ① 开启 / 关闭 错误日志功能 log_errors = On ② 设置 log_errors 的最大字节数 log_errors_max_len = 其 ...
- PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [7] APP 错误日志接口
APP 上线以后可能遇到的问题: ① APP 强退 ② 数据加载失败 ③ APP 潜在问题 错误日志需要记录的内容 数据表 error_log 字段: id app_id:app 类别 id did: ...
随机推荐
- 浅谈如何使用代码为MP3文件写入ID3Tags
作者:郑童宇 GitHub:https://github.com/CrazyZty 1.前言 做了三年左右的Android开发,一直没写过博客,最近正好打算换工作,算是闲一些,就将以前开发所遇到的一些 ...
- linux取某个字段排重
排重统计 cat a.txt | awk -F ';' '{print $2}' | sort -u | wc -l
- Could not find action or result
[WARN ] 2013-11-21 14:08:16 :Could not find action or resultThere is no Action mapped for namespace ...
- git大百科
1,命令: git忽略提交文件:git rm --cache .idea/workspace.xml 因为你已经把他加到tracked file里了 用 git rm --cached java/.i ...
- 阅读jQuery源码的18个惊喜
注释:本文使用$.fn.method指代调用一系列选中的元素的方法.例如,$.fn.addClass,指代$('div').addClass(‘blue’) 或 $('a.active’).addCl ...
- spring整合freemarker 自定义标签
1.自定义标签实现 TemplateDirectiveModel 接口 2.spring 配置,注意标红的两行 <bean id="freemarkerConfig" cla ...
- Java学生管理系统项目案例
这是一个不错的Java学生管理系统项目案例,希望能够帮到大家的学习吧. 分代码如下 package com.student.util; import java.sql.Connection; impo ...
- 爱拼图游戏android源码完整版
这个是一款爱拼图游戏源码完整版,该游戏源码比较完整的,可以支持音乐的播放在游戏的玩的过程中,还可以控制系统的声音等,可以支持多种图片的选择来进行玩的,还可以根据自己的爱好选择不同的难度来的,级别分为: ...
- CentOS安装中文输入法
yum install "@Chinese Support" System->Preferences->Input Method,勾选"Enable inpu ...
- Ubuntu工具:vi编辑器
Vi简介 Vi是“Visual interface”的简称,它在Linux上的地位就仿佛Edit程序在DOS上一样.它可以执行输出.删除.查找.替换.块操作等众多文本操作,而且用户可以根据自己的需要对 ...