Oracle 我用Logminer数据挖掘查询 redo log 分析数据v$logmnr_contents,clob长度大于4000,就查不到该clob字段修改日志。blob和clob字段超过4000归档日志里查不到,这种字段日志记录在哪里呢?或者是有什么归档日志参数没设置好?
时间: 2024-02-26 10:56:58 浏览: 39
当CLOB和BLOB的长度大于4000时,Oracle将它们分割成多个子块进行存储。这些子块是分散存储在多个归档日志文件中的。默认情况下,LogMiner只会查找当前在线日志和当前归档日志中的数据。如果你想要查找旧的归档日志中的数据,你需要将归档日志设置为“可用于查询”。可以使用以下命令将所有归档日志设置为可用于查询:
```
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_N = ENABLE;
```
其中,N是你的归档日志目标的序号。如果你设置了多个归档日志目标,则需要分别对它们进行设置。然后,你需要重新启动LogMiner,以便它可以查找新的可用于查询的归档日志。
相关问题
java 获取oracle redolog
要获取 Oracle 数据库的 Redo Log,可以使用以下步骤:
1. 连接到 Oracle 数据库:可以使用 JDBC API 中的 Oracle 驱动程序连接到 Oracle 数据库。
2. 查询 V$LOG 视图:V$LOG 视图包含了当前所有的 Redo Log 文件信息,可以使用 SQL 语句查询该视图获取 Redo Log 文件的相关信息。
3. 查询 V$LOG_HISTORY 视图:V$LOG_HISTORY 视图包含了所有 Redo Log 文件的历史信息,可以使用 SQL 语句查询该视图获取 Redo Log 文件的历史信息。
4. 解析 Redo Log 文件:可以使用 Oracle 提供的 LogMiner 工具解析 Redo Log 文件,得到其中的 SQL 语句和数据变更信息。
需要注意的是,获取 Redo Log 文件需要具备相应的权限,且需要谨慎操作,避免对数据库造成影响。
用plsql 查询表数据,但是表没有时间字段,怎么查询昨天的新增数据
如果表没有时间字段,那么查询昨天的新增数据是比较困难的。不过,你可以通过以下两种方式来实现:
1. 利用数据库日志:如果你的数据库开启了日志功能,那么你可以通过查询数据库日志来找出昨天新增的数据。具体方法可以参考 Oracle 官方文档中的 "LogMiner" 工具。
2. 利用系统时间:如果你知道昨天的日期,你可以使用系统时间函数来查询昨天新增的数据。例如:
```sql
SELECT *
FROM your_table
WHERE trunc(create_time) = trunc(sysdate-1)
```
这里的 `create_time` 是你表中的时间字段,`trunc()` 函数可以取出日期部分,`sysdate-1` 可以得到昨天的日期。