当前位置: 首页 > 工具软件 > Contents > 使用案例 >

V$LOGMNR_CONTENTS字段含义

蒋奕
2023-12-01

V$LOGMNR_CONTENTS简介

V$LOGMNR_CONTENTS包含日志历史记录信息。要查询此视图,您必须具有LOGMINING特权。
当SELECT是针对已执行的声明V$LOGMNR_CONTENTS来看,归档重做日志文件是按顺序读取。来自重做日志文件的翻译后的记录在V$LOGMNR_CONTENTS视图中作为行返回。这将继续进行,直到满足启动(EndTime或endScn)中指定的过滤条件或达到存档日志文件的末尾为止。

V$LOGMNR_CONTENTS字段意义

字段数据类型描述
SCNNUMBER进行数据库更改时的系统更改号(SCN)
START_SCNNUMBER包含此更改的事务开始时的系统更改号(SCN);仅当COMMITTED_DATA_ONLY在DBMS_LOGMNR.START_LOGMNR() 调用中选择了该选项时才有意义,否则为NULL。如果查询在不包含事务开始的时间/ SCN范围内运行,则此列也可能为NULL。
COMMIT_SCNNUMBER事务提交时的系统更改号(SCN);仅COMMITTED_DATA_ONLY在DBMS_LOGMNR.START_LOGMNR()调用 中选择了选项时才有意义
TIMESTAMPDATE更改数据库的时间戳记
START_TIMESTAMPDATE包含此更改的事务开始的时间戳;仅当COMMITTED_DATA_ONLY在DBMS_LOGMNR.START_LOGMNR() 调用中选择了该选项时才有意义,否则为NULL。如果查询在不包含事务开始的时间/ SCN范围内运行,则此列也可能为NULL。
COMMIT_TIMESTAMPDATE事务提交的时间戳;仅COMMITTED_DATA_ONLY在DBMS_LOGMNR.START_LOGMNR()调用 中选择了选项时才有意义
XIDUSNNUMBER产生更改的交易的交易ID撤消段号
XIDSLTNUMBER产生更改的交易的交易ID插槽号
XIDSQNNUMBER产生变更的交易的交易ID序号
XIDRAW(8)交易标识符的原始表示
PXIDUSNNUMBER父交易ID撤消并行交易的段号
PXIDSLTNUMBER并行事务的父事务ID插槽号
PXIDSQNNUMBER并行事务的父事务ID序列号
PXIDRAW(8)父交易标识符的原始表示
TX_NAMEVARCHAR2(256)进行更改的交易的名称;仅在交易是命名交易时才有意义
OPERATIONVARCHAR2(32)进行更改的用户级SQL操作:
  • 内部-更改是由数据库启动的内部操作引起的
  • INSERT-更改是由插入语句引起的
  • DELETE-更改是由delete语句引起的
  • UPDATE-更改是由更新语句引起的
  • DDL-更改是由DDL语句引起的
  • START-更改是由交易开始引起的
  • COMMIT-更改是由事务提交引起的
  • SEL_LOB_LOCATOR-操作是SELECT返回LOB定位器的语句
  • LOB_WRITE-更改是由于调用 DBMS_LOB.WRITE
  • LOB_TRIM-更改是由于调用 DBMS_LOB.TRIM
  • SELECT_FOR_UPDATE-操作是一条SELECT FOR UPDATE语句
  • LOB_ERASE-更改是由于调用了 DBMS_LOB.ERASE
  • MISSING_SCN-LogMiner在重做记录中出现间隙。这很可能是因为并非所有重做日志都已向LogMiner注册。
  • ROLLBACK-更改是由于事务的完全回滚造成的
  • XML DOC BEGIN-对XMLType列或表进行更改的开始
  • XML DOC WRITE-XML文档的数据
  • XML DOC END-XML文档的数据结尾
  • 不受支持-更改是由LogMiner当前不支持的操作引起的(例如,对嵌套表的更改)
此视图中的OPERATION和OPERATION_CODE列可用于顶级用户操作,例如DML和DDL。这些列中未记录的值是LogMiner或RDBMS的内部值,并不反映用户操作。
OPERATION_CODENUMBER操作码编号:
  • 0 = INTERNAL
  • 1 = INSERT
  • 2 = DELETE
  • 3 = UPDATE
  • 5 = DDL
  • 6 = START
  • 7 = COMMIT
  • 9= SELECT_LOB_LOCATOR
  • 10 = LOB_WRITE
  • 11 = LOB_TRIM
  • 25 = SELECT_FOR_UPDATE
  • 28 = LOB_ERASE
  • 34 = MISSING_SCN
  • 36 = ROLLBACK
  • 255 = UNSUPPORTED
ROLLBACKNUMBER1 =是否由于关联事务的部分或全部回滚而生成了重做记录
0 =否则
SEG_OWNERVARCHAR2(386)修改后的数据段的所有者
SEG_NAMEVARCHAR2(256)修改后的数据段的名称
TABLE_NAMEVARCHAR2(386)修改后的表的名称(如果重做与表修改有关)
SEG_TYPENUMBER修改后的数据段的类型:
  • 0-未知
  • 1-索引
  • 2-桌子
  • 19-表分区
  • 20-索引分区
  • 34-表格替代
  • 所有其他值-不支持
SEG_TYPE_NAMEVARCHAR2(32)段类型名称:
  • 未知
  • 指数
  • 表分区
  • 索引分区
  • 表格取代
  • 不支持
TABLE_SPACEVARCHAR2(92)包含修改后的数据段的表空间的名称。对于OPERATION列值为DDL的行,不会填充此列。这是因为DDL可能在多个表空间上运行。
ROW_IDVARCHAR2(18)更改所修改的行的行ID(仅在更改与DML有关时才有意义)。如果重做记录未与DML关联,则为NULL。
USERNAMEVARCHAR2(384)执行交易的用户名
OS_USERNAMEVARCHAR2(4000)操作系统用户名
MACHINE_NAMEVARCHAR2(4000)用户从中连接到数据库的机器
AUDIT_SESSIONIDNUMBER与进行更改的用户会话关联的审核会话ID
SESSION#NUMBER进行更改的会话的会话号
SERIAL#NUMBER进行更改的会话的序列号
SESSION_INFOVARCHAR2(4000)有关执行事务的数据库会话的信息。包含进程信息,用户从中登录的计算机名称,等等。可能的SESSION_INFO列可能包含以下内容:
  • login_username =人力资源
  • client_info =
  • OS_用户名= jkundu
  • Machine_name =尼尔万
  • OS_terminal = pts / 31
  • OS_program_name = sqlplus @ nirvan(TNS V1-V3)
THREAD#NUMBER对数据库进行更改的线程数
SEQUENCE#NUMBER事务中SQL语句的序列号。如果您在未设置COMMITED_DATA_ONLY选项的情况下进行挖掘,则此值为1。
RBASQNNUMBER与更改相关的重做记录的重做块地址(RBA)相关的序列号
RBABLKNUMBER日志文件中的RBA块号
RBABYTENUMBER块内的RBA字节偏移
UBAFILNUMBER撤消块地址(UBA)文件号,用于标识包含撤消块的文件
UBABLKNUMBER撤消块的UBA块号
UBARECNUMBER撤消块中的UBA记录索引
UBASQNNUMBERUBA撤销块序列号
ABS_FILE#NUMBER事务更改的块的数据块绝对文件号
REL_FILE#NUMBER数据块相对文件号。文件号是相对于对象表空间的。
DATA_BLK#NUMBER文件中的数据块号
DATA_OBJ #NUMBER标识对象的数据块对象编号
DATA_OBJV#NUMBER修改表的版本号
DATA_OBJD#NUMBER标识表空间内对象的数据块数据对象编号
SQL_REDOVARCHAR2(4000)重构的SQL语句,等效于进行更改的原始SQL语句。在执行数据库之前,请参考Oracle Database UtilitiesSQL_REDO。LogMiner不会为临时表生成SQL重做。在这种情况下,此列将包含字符串 “/* No SQL_REDO for temporary tables */”。
SQL_UNDOVARCHAR2(4000)重构的SQL语句,可用于撤消进行更改的原始语句的影响。DDL语句没有对应的SQL_UNDO。在执行数据库之前,请参考Oracle Database UtilitiesSQL_UNDO。LogMiner不会为临时表生成SQL撤消。在这种情况下,此列将包含字符串"/* No SQL_UNDO for temporary tables */"。
RS_IDVARCHAR2(32)记录集ID。元组(RS_ID,SSN)一起唯一地标识逻辑行更改。这通常意味着一行V$LOGMNR_CONTENTS,但如果重做或撤消的单个SQL语句太大而无法容纳在相应列SQL_UNDO或中,则可能会超过一行SQL_REDO。RS_ID唯一标识生成行的重做记录。
SSNNUMBERSQL序列号。与结合使用RS_ID,可以唯一地标识逻辑行更改,从V$LOGMNR_CONTENTS视图中显示为一个或多个行。
CSFNUMBER连续SQL标志。可能的值为:
  • 0-表示SQL_REDO并SQL_UNDO包含在同一行中
  • 1-表示SQL_REDO或SQL_UNDO大于4000字节大小,并在视图返回的下一行中继续
INFOVARCHAR2(64)有关行的参考消息。例如,字符串“ USER DDL”指示SQL_REDO列中返回的DDL语句是用户执行的顶级DDL,字符串“ INTERNAL DDL”指示 SQL_REDO列中返回的DDL语句由RDBMS内部执行。
STATUSNUMBER值0表示SQL_REDO和SQL_UNDO列中所示的重构的SQL语句是有效的可执行SQL语句。否则,重构的SQL语句将无法执行。这可能是因为没有提供数据字典给LogMiner进行分析,或者是因为提供的数据字典没有要开采的对象的定义。值5表示此行是对XMLType列或表所做的更改的一部分,并且必须在应用XML XML文件之前对其进行汇编。
REDO_VALUENUMBER用作DBMS_LOGMNR.MINE_VALUE()和DBMS_LOGMNR.COLUMN_PRESENT()功能的 输入
UNDO_VALUENUMBER用作DBMS_LOGMNR.MINE_VALUE()和DBMS_LOGMNR.COLUMN_PRESENT()功能的 输入
SAFE_RESUME_SCNNUMBER保留以备将来使用
CSCNNUMBER不推荐使用此列,而推荐使用该COMMIT_SCN列
OBJECT_IDRAW(16)DML到XMLType表的对象标识符。对于非类型表的更改,此列为NULL。
EDITION_NAMEVARCHAR2(384)标识执行DDL语句的版本
CLIENT_IDVARCHAR2(64)执行该操作的会话中的客户端标识符(如果有)。
SRC_CON_NAMEVARCHAR2(384)包含可插拔数据库(PDB)名称。仅当使用当前LogMiner词典进行挖掘时,此信息才可用。
SRC_CON_IDNUMBER包含PDB ID(DBA_PDBS视图中的PDB_ID列)。该信息仅在当前LogMiner词典中可用。
SRC_CON_UIDNUMBER包含PDB UID(DBA_PDBS视图中的CON_UID列)。无论有没有当前的LogMiner词典,此信息都将可用。
SRC_CON_DBIDNUMBER包含PDB标识符(DBA_PDBS视图中的DBID列)。仅当使用当前LogMiner词典进行挖掘时,此信息才可用。
SRC_CON_GUIDRAW(16)包含与PDB关联的GUID(DBA_PDBS视图中的GUID列)。仅当使用当前LogMiner词典进行挖掘时,此信息才可用。
CON_IDNUMBER数据所属的容器的ID。可能的值包括:
  • 0:此值用于包含与整个CDB有关的数据的行。此值还用于非CDB中的行。
  • 1:此值用于包含仅与根相关的数据的行

附:英文版链接 : https://docs.oracle.com/en/database/oracle/oracle-database/18/refrn/V-LOGMNR_CONTENTS.html#GUID-B9196942-07BF-4935-B603-FA875064F5C3

 类似资料: