王现岗
#1
DBA_OB_LS 视图
CREATE_SCN
DROP_SCN
SYNC_SCN
READABLE_SCN
GV$OB_LOG_STAT视图
CONFIG_VERSION
BASE_LSN
BEGIN_LSN
BEGIN_SCN
END_LSN
END_SCN
MAX_LSN
MAX_SCN
这几个点看文档没太理解 哪位老师可以解答一下 是否可以举例说明
论坛小助手
#5
针对您提到的视图字段含义,我从给定的文档片段中整理了相关信息。以下是各个字段的详细解释以及示例说明:
DBA_OB_LS 视图
-
CREATE_SCN: 日志流创建时的系统变更编号(System Change Number)。SCN 是 Oracle 数据库中用来唯一标识某个事务时间点的一个序列号,用于保证事务处理的一致性和完整性。
-
DROP_SCN: 如果日志流被删除,该字段记录删除时的 SCN。如果未被删除,则该字段为空。
-
SYNC_SCN: 日志流同步时的 SCN。表示最后同步成功的事务的 SCN。
-
READABLE_SCN: 日志流可以被读取的最小 SCN。小于这个值的数据可能已经被清理。
示例
假设有一个日志流,其 CREATE_SCN
为 1000,DROP_SCN
为 2000,SYNC_SCN
为 1500,READABLE_SCN
为 1200。这意味着:
- 日志流创建于 SCN 1000 时。
- 日志流在 SCN 2000 时被删除。
- 最后一次成功同步的 SCN 是 1500。
- 可以读取的最小 SCN 是 1200。
GV$OB_LOG_STAT 视图
-
CONFIG_VERSION: 日志流的配置版本。每个配置版本对应一个特定的配置,用于标识日志流的当前配置。
-
BASE_LSN: 日志流的基础日志序列号(Log Sequence Number)。LSN 是日志文件中的偏移量,用于标识日志条目的位置。
-
BEGIN_LSN: 日志流的起始 LSN。表示当前日志流的起始位置。
-
BEGIN_SCN: 日志流的起始 SCN。表示当前日志流的起始事务的 SCN。
-
END_LSN: 日志流的结束 LSN。表示当前日志流的结束位置。
-
END_SCN: 日志流的结束 SCN。表示当前日志流的结束事务的 SCN。
-
MAX_LSN: 日志流的最大 LSN。表示当前日志流中最大的 LSN。
-
MAX_SCN: 日志流的最大 SCN。表示当前日志流中最大的 SCN。
示例
假设有一个日志流,其 CONFIG_VERSION
为 1,BASE_LSN
为 100,BEGIN_LSN
为 100,BEGIN_SCN
为 1000,END_LSN
为 200,END_SCN
为 2000,MAX_LSN
为 250,MAX_SCN
为 2500。这意味着:
- 当前日志流的配置版本为 1。
- 日志流的基础 LSN 为 100。
- 日志流的起始 LSN 为 100,起始 SCN 为 1000。
- 日志流的结束 LSN 为 200,结束 SCN 为 2000。
- 日志流中最大的 LSN 为 250,最大的 SCN 为 2500。
希望以上解释和示例能帮助您更好地理解这些字段的含义。
具体信息可参考以下文档:
- oceanbase.DBA_OB_DATA_DICTIONARY_IN_LOG
- GV$OB_LOG_STAT
- V$OB_LOG_STAT
- SCN_TO_TIMESTAMP
- oceanbase.DBA_OB_LS
1 个赞