LogMiner

Oracle Ora 错误解决方案合集

我与影子孤独终老i 提交于 2021-02-16 12:28:45
注:本文来源于 《 Oracle学习笔记 --- Oracle ORA错误解决方案 》 ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出最大进程数 () ORA-00021: 会话附属于其它某些进程;无法转换会话 ORA-00022: 无效的会话 ID;访问被拒绝 ORA-00023: 会话引用进程私用内存;无法分离会话 ORA-00024: 单一进程模式下不允许从多个进程注册 ORA-00025: 无法分配 ORA-00026: 丢失或无效的会话 ID ORA-00027: 无法删去当前会话 ORA-00028: 您的会话己被删去 ORA-00029: 会话不是用户会话 ORA-00030: 用户会话 ID 不存在。 ORA-00031: 标记要删去的会话 ORA-00032: 无效的会话移植口令 ORA-00033: 当前的会话具有空的移植口令 ORA-00034: 无法在当前 PL/SQL 会话中 ORA-00035: LICENSE_MAX_USERS 不能小于当前用户数 ORA-00036: 超过递归 SQL () 级的最大值 ORA-00037:

基于logminer 归档模式实现的日志分析

时光怂恿深爱的人放手 提交于 2020-10-14 19:47:19
1、为什么使用归档模式 1)归档模式只要有磁盘,不会丢失数据,哪怕处理再慢也没关系。 2)对性能的消耗最小。 package com.topnet.log.service; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.apache.commons.io.IOUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import com.alibaba.fastjson

数据审计

ぃ、小莉子 提交于 2020-08-05 00:45:50
最近要对oracle的归档日志做分析,所以在网上找了一个 Logminer 看一下源代码 git@github.com:erdemcer/kafka-connect-oracle.git 来源: oschina 链接: https://my.oschina.net/internetafei/blog/4340863

v$logmnr_contents中特殊delete语句解惑

被刻印的时光 ゝ 提交于 2020-08-04 13:35:07
疑惑 :在v$logmnr_contents中,SQL_REDO为DELETE语句,但是SQL_UNDO为null是什么情况呢? 其实这种情况是因为SQL插入失败,数据库内部回滚了这条记录。比较特殊的一种情况,如果以前没有注意过这些细节信息,还真有点懵 。这里模拟构造了一个案例,演示一下这种情况: SQL > INSERT INTO SCOTT.EMP 2 VALUES (7934, 'MILLER' , 'CLERK' , '7782' , SYSDATE, 1200, NULL ,10); INSERT INTO SCOTT.EMP * ERROR at line 1: ORA-00001: unique constraint (SCOTT.PK_EMP) violated 然后我们使用 LogMiner 去挖掘 redo log , 就会发现 redo log 里面生成了两条记录 , 一条 INSERT 、一条 DELETE 记录。 SQL > execute dbms_logmnr.add_logfile( '/u01/oradata/gsp/redo03.log' , dbms_logmnr. new ); PL/ SQL procedure successfully completed. SQL > execute dbms_logmnr.start_logmnr

Oracle 日志模式

血红的双手。 提交于 2020-04-27 17:51:08
-- 日志记录模式(LOGGING 、FORCE LOGGING 、NOLOGGING) -- 三者的含义 LOGGING: -- 当创建一个数据库对象时将记录日志信息到联机重做日志文件,LOGGING实际上是对象的一个属性, -- 用来表示在创建对象时是否记录REDO日志,包括在做DML时是否记录REDO日志。 -- 一般表上不建议使用NOLOGGING,在创建索引或做大量数据导入时,可以使用NOLOGGING 。 FORCE LOGGING: -- 强制记录日志,即对数据库中的所有操作都产生日志信息,并将该信息写入到联机重做日志文件。 NOLOGGING: -- 正好与LOGGING、FORCE LOGGING 相反,尽可能的记录最少日志信息到联机日志文件。 -- FORCE LOGGING可以在数据库级别、表空间级别进行设定、而LOGGING与NOLOGGING可以在数据对象级别设定。 -- 在使用DATA GUARD 时,要求使用强制记录日志模式。注:FORCE LOGGING并不比一般的LOGGING记录的日志多, -- 数据库在FORCE LOGGING状态下,NOLOGGING选项将无效,因为NOLOGGING将破坏DATAGUARD的可恢复性. -- FORCE LOGGING强制数据库在任何状态下必须记录日志。 -- 附加日志 -- 附加日志

oracle 体系结构及内存管理 13_事务

萝らか妹 提交于 2020-03-21 19:45:41
3 月,跳不动了?>>> 1、事务的基本概念 一组DML语句 insert、delete、update需要同时执行成功或失败。 事务结束:COMMIT , ROLLBACK; 辅助事务回滚一半,批量脚本的时候分批设置 SAVEPOINT <savepoint_name> ; ROLLBACK TO [SAVEPOINT] <savepoint_name> ; 2、隐式提交和回滚 DDL:执行DDL前后系统会自动执行commit 退出redhat下都是提交的,windows下exit是提交,X掉为回滚: 异常退出:X掉窗口 正常退出:exit 同一会话死掉后不可能会再生,该会话未提交的事务会被回滚 要求:任何DML都要显示的提交或者回滚 logminer:挖掘出某个事务的所有语句 3、事务的ACID属性 3.1、原子性(Atomicity),事务语句一块执行,事务中包含的所有操作要么都做,要么都不做。 例如:A帐户向B帐户划账1000,则先将A减少1000,再将B增加1000,这两个动作要么都提交,要么都回退,不可能 发生一个有效、一个无效的情况。 3.2、一致性(Consistency),事务处理前后数据满足业务一致性状态。数据必须都满足业务规则约束。 例如:A、B帐户的总金额在转账前和转帐后必须一致,其中的不一致必须是短暂的,在事务提交前才会出现的。 3.3、隔离性