参数CONTROL_FILE_RECORD_KEEP_TIME和MAXLOGHISOTRY

Love The Way You Lie 2022-05-15 06:29 100阅读 0赞

—\**************************************************

参数 CONTROL_FILE_RECORD_KEEP_TIME 和MAXLOGHISOTRY

—\**************************************************

参数 control_file_record_keep_time 是一 个 位于控制文件中比 较 重要的 参数 之一。 它决 定了控制文件里可重 复 使用的 记录 所能保存的

最小天 数 。 当 一 条 新的 记录 需要添加到可重用 记录 的空 间时 , 并 且最老的 记录 在可重用 记录 空 间 中 还没 有老化,即 实际 保留的天 数 未超 过这

个参数规 定的天 数 , 则 控制文件中可重用 记录 部分的空 间将 被自 动扩 展,此 时 控制文件尺寸 将会变 大。

一、control_file_record_keep_time 定 义 信息

1 . 参数 的描述信息

Property Description


Parameter type Integer

Default value 7 (days) 缺省

Modifiable ALTER SYSTEM 使用ALTER SYSTEM 修改

Range of values 0 to 365 (days) 的范 围从 0-365

Basic No


2 . 官方定 义

CONTROL_FILE_RECORD_KEEP_TIME specifies the minimum number of days before a reusable record in the control file

can be reused. In the event a new record needs to be added to a reusable section and the oldest record has not

aged enough, the record section expands. If this parameter is set to 0 , then reusable sections never expand ,

and records are reused as needed.

Note:

This parameter applies only to records in the control file that are circularly reusable (such as archive log

records and various backup records ). It does not apply to records such as datafile , tablespace , and redo

thread records , which are never reused unless the corresponding object is dropped from the tablespace.

3 . 可重用的模 块

ARCHIVED LOG BACKUP CORRUPTION

BACKUP DATAFILE BACKUP PIECE

BACKUP REDO LOG BACKUP SET

COPY CORRUPTION DATAFILE COPY

DELETED OBJECT LOGHISTORY

OFFLINE RANGE

二、MAXLOGHISOTRY

这个参数 ,咋一看,貌似眼熟的不得了。 没错 ,在 创 建控制文件的 时 候被使用。

没 印象? 参 考 这 里: Oracle 控制文件( CONTROLFILE )

从 字面上的意思 来 分析即可知, 该参数 用于控制日志 历 史 记录 。即 归档 日志的 记录数应 在控制文件 设 定 MAXLOGHISOTRY 参数 的范 围

之 内 ,或者 说 v$log_history 视图 里所有 归档 日志文件 总数 必 须 小于等于 MAXLOGHISOTRY 的 设 定 值 。

一旦 归档 日志超 过这个 最大 数 目,且 参数 control_file_record_keep_time 设 定的 值 在 备份 的保留策略之外,即可以被重用或老化

, 则从头 覆盖以前的 归档 志文件 项 。也即是 v$log_history 里的相 应记录会 被 清 除。

事 实 上, 当 在初始化控制文件的 时 候, 设 定 MAXLOGHISOTRY 的 值来决 定 为 保存 归档 日志 记录 信息分配多大的空 间 。 该值设 定之后,

其分配的空 间将 不再 动态扩 展。我 们 知道 RMAN 备份 恢 复 ,日志 归档时 的信息都 将 存 储 在控制文件或恢 复 目 录 之中。 既 然已分配存 储 空 间

不能自 动扩 展,那新的 归档 信息 该 如何追加呢?即由 参数 control_file_record_keep_time 中保留 时间来 确定是否 将过时 的信息 给 覆盖。

注:v$log_history 在Oracle 8 i 后由v$archived_log 代替。 并 且 maxloghistory 不限制能 够插 入到 v$archived_log 中的 记录数 。

SQL > select * from v$version;

BANNER


Oracle Database 10 g Enterprise Edition Release 10.2 .0.4.0 - 64 bi

PL / SQL Release 10.2 .0.4.0 - Production

CORE 10.2 .0.4.0 Production

TNS for Solaris: Version 10.2 .0.4.0 - Production

NLSRTL Version 10.2 .0.4.0 - Production

看几 最大的 MAX 置的

SQL > select TYPE ,RECORDS_TOTAL from v$controlfile_record_section

2 where type in ( ‘REDO LOG’ , ‘DATAFILE’ , ‘CKPT PROG%’ , ‘REDO THREAD’ , ‘ARCHIVED LOG’ );

TYPE RECORDS_TOTAL


REDO THREAD 8 —> MAXINSTANCES

REDO LOG 32 —> MAXLOGFILES

DATAFILE 968 —> MAXDATAFILES

ARCHIVED LOG 83536 —> MAXLOGHISTORY

ARCHIVED LOG 的明 信息

SQL > select * from v$controlfile_record_section where type like ‘%ARCHIVED LOG%’ ;

TYPE RECORD_SIZE RECORDS_TOTAL RECORDS_USED FIRST_INDEX LAST_INDEX LAST_RECID


ARCHIVED LOG 584 83536 83536 52748 52747 679267

从 上面的 查询 中可以看到 为 MAXLOGHISTORY 分配的空 间 大小以及 记录总数 ,已是使用的 记录总数 。

视图 v$archived_log 中 记录 的 归档 日志 数

SQL > select count (*) from v$archived_log;

COUNT (*)


83536

SQL > select min (FIRST_TIME), min (COMPLETION_TIME), max (FIRST_TIME), max (COMPLETION_TIME) from

2 v$archived_log;

MIN (FIRST_TIME) MIN (COMPLETION_TIME MAX (FIRST_TIME) MAX (COMPLETION_TIME


2011 - 04 - 24 12 : 59 : 01 2011 - 04 - 24 13 : 02 : 00 2011 - 06 - 05 23 : 00 : 49 2011 - 06 - 06 03 : 19 : 21

在使用RMAN 备份 且 备份 信息 没 有使用恢 复 目 录 的情 况 下,即使用控制文件 来 存 储 恢 复 信息。那 么 control_file_record_keep_time

中 设 定的 值应当轻 量 级 得大于 应 用所需 备份 保留的 时间 ( 基于 时间 的保留 参数 ) 。

假定使用控制文件保存 备份 恢 复 信息,每周 进 行一次全 备 ,且 备份 保留恢 复 窗口 为 7 天, 则 建 议将 control_file_record_keep_time

设 置 为 10 或14 。

三、 Log History 超出MAXLOGHISTORY 的情形

有些情 况 下, Log History 超出MAXLOGHISTORY 的情形,什 么 ? Log History 超出MAXLOGHISTORY ?那不是 会 自 动扩 展 吗 ?是的,正常

情 况 下 应当扩 展控制文件。 Log History 大于MAXLOGHISTORY 而 没 有自 动 控制 扩 展的情形是存在的。 产 生 该 情 况则 是空 间 分配所引起的。

假定有下面的情形, 创 建控制文件 时 指定 MAXLOGHISTORY 的 值为 100 ,而Log History 中 则 保留了 227 条记录 。 Why ?

在 创 建控制文件 时 , 会为 每 个 部分分配相 应 的大小和空 间 。而每 个 部分的空 间 分配根据 Oracle 的 块 而不是依据 当时设 定的 记录数 。

在控制文件中, log history 的 单条记录 大小通常是固定的, 为 36 字 节 。因此, 100 个记录 ( MAXLOGHISTORY )需要3600 个 字 节 。控制文

件 块 的大小 与数 据 块 的大小一 样 ,同 样 有 db_block_size 控制。因此特定 数 目的 块将为 Log History 部分分配。例如,如果

DB_BLOCK_SIZE 为 8192 ,那 么 一 个块 就足 够 了。在 这个块 中,我 们 有 8192/ 36 ,大 约 227 个记录 。如果 DB_BLOCK_SIZE 为 2048 ,那 么将 分

配2 个 快,但是只 创 建 113 个记录 。

四、 快捷参考

有 关 性能 优 化 请参 考

Oracle 硬解析 与软 解析

共享池的 调 整 与优 化 (Shared pool Tuning)

Buffer cache 的 调 整 与优 化 (一)

Oracle 表 缓 存 (caching table)的使用

有 关 ORACLE 体系 结构请参 考

Oracle 表空 间与数 据文件

Oracle 密 码 文件

Oracle 参数 文件

Oracle 联 机重做日志文件 (ONLINE LOG FILE)

Oracle 控制文件(CONTROLFILE)

Oracle 归档 日志

Oracle 回 滚 (ROLLBACK)和撤 销 (UNDO)

Oracle 数 据 库实 例 启动关闭过 程

Oracle 10g SGA 的自 动 化管理

Oracle 实 例和 Oracle数 据 库 (Oracle体系 结构 )

有 关闪 回特性 请参 考

Oracle 闪 回特性 (FLASHBACK DATABASE)

Oracle 闪 回特性 (FLASHBACK DROP & RECYCLEBIN)

Oracle 闪 回特性 (Flashback Query、Flashback Table)

Oracle 闪 回特性 (Flashback Version、Flashback Transaction)

有 关 基于用 户 管理的 备份 和 备份 恢 复 的 概 念 请参 考

Oracle 冷 备份

Oracle 热备份

Oracle 备份 恢 复概 念

Oracle 实 例恢 复

Oracle 基于用 户 管理恢 复 的 处 理 ( 详细 描述了介 质 恢 复 及其 处 理 )

SYSTEM 表空 间 管理及 备份 恢 复

SYSAUX表空 间 管理及恢 复

有 关 RMAN 的 备份 恢 复与 管理 请参 考

RMAN 概 述及其体系 结构

RMAN 配置、 监 控 与 管理

RMAN 备份详 解

RMAN 还 原 与 恢 复

RMAN catalog 的 创 建和使用

基于catalog 创 建 RMAN存 储 脚本

基于catalog 的RMAN 备份与 恢 复

使用 RMAN迁移文件系统数据库到 ASM

RMAN 备份 路 径 困惑 (使用plus archivelog 时 )

有 关 ORACLE 故障 请参 考

ORA-32004 的 错误处 理

ORA-01658 错误

CRS-0215 错误处 理

ORA-00119,ORA-00132 错误处 理

又一例SPFILE 设 置 错误导 致 数 据 库 无法 启动

对参数 FAST_START_MTTR_TARGET = 0 的 误 解及 设 定

SPFILE 错误导 致 数 据 库 无法 启动 (ORA-01565)

有 关 ASM 请参 考

创 建 ASM 实 例及 ASM 数 据 库

ASM 磁 盘 、目 录 的管理

使用 ASMCMD 工具管理ASM 目 录 及文件

有 关 SQL/PLSQL 请参 考

SQLPlus 常用命令

替代 变 量 与 SQL*Plus环 境 设 置

使用Uniread 实现 SQLplus翻 页 功能

SQL 基 础 —>SELECT 查询

SQL 基 础 —> NEW_VALUE 的使用

SQL 基 础 —> 集合 算 (UNION 与 UNION ALL)

SQL 基 础 —> 常用函

SQL 基 础 —> 视图 (CREATE VIEW)

SQL 基 础 —> 建和管理表

SQL 基 础 —> 多表 查询

SQL 基 础 —> 过滤 和排序

SQL 基 础 —> 查询

SQL 基 础 —> 组与

SQL 基 础 —> 次化 查询 (START BY … CONNECT BY PRIOR)

SQL 基 础 —> ROLLUP 与 CUBE 算符 实现数 汇总

PL/SQL —>

PL/SQL —> 理 (Exception)

PL/SQL —> 言基

PL/SQL —> 流程控制

PL/SQL —> PL/SQL 记录

PL/SQL —> 包的 管理

PL/SQL —> 式游 标 (SQL%FOUND)

PL/SQL —> 包重 、初始化

PL/SQL —> DBMS_DDL 包的使用

PL/SQL —> DML 触发

PL/SQL —> INSTEAD OF 触发

PL/SQL —> 储过

PL/SQL —>

PL/SQL —> 动态 SQL

PL/SQL —> 动态 SQL 的常 见错误

有 关 ORACLE 其 它 特性

Oracle 常用目 录结构 (10g)

使用OEM,SQL*Plus,iSQL*Plus 管理Oracle 实 例

日志 记录 模式 (LOGGING 、FORCE LOGGING 、NOLOGGING)

表段、索引段上的LOGGING 与 NOLOGGING

Oralce OMF 功能 详 解

Oracle 用 户 、 对 象 权 限、系 统权 限

Oracle 角色、配置文件

Oracle 分 区 表

Oracle 外部表

使用外部表管理Oracle 告警日志(ALAERT_$SID.LOG)

簇表及簇表管理(Index clustered tables)

数 据 泵 EXPDP 导 出工具的使用

数 据 泵 IMPDP 导 入工具的使用

导 入 导 出 Oracle 分 区 表 数 据

SQL*Loader使用方法

启 用用 户进 程跟踪

配置非默 认 端口的 动态 服 务 注 册

配置ORACLE 客 户 端 连 接到 数 据 库

system sys,sysoper sysdba 的 区别

ORACLE_SID、DB_NAME 、INSTANCE_NAME 、DB_DOMIAN 、GLOBAL_NAME

Oracle 补 丁全集 (Oracle 9i 10g 11g Path)

Oracle 10.2.0.1 升 级 到 10.2.0.4

Oracle 彻 底 kill session

发表评论

表情:
评论列表 (有 0 条评论,100人围观)

还没有评论,来说两句吧...

相关阅读