返回顶部
首页 > 资讯 > 数据库 >CONTROL_FILE_RECORD_KEEP_TIME和MAXLOGHISTORY参数详解
  • 402
分享到

CONTROL_FILE_RECORD_KEEP_TIME和MAXLOGHISTORY参数详解

2024-04-02 19:04:59 402人浏览 八月长安
摘要

开始前我们先看看官方文档对CONTROL_FILE_RECORD_KEEP_TIME和MAXLOGHISTORY说明 CONTROL_FILE_RECORD_KEEP_TIME

开始前我们先看看官方文档对CONTROL_FILE_RECORD_KEEP_TIME和MAXLOGHISTORY说明

CONTROL_FILE_RECORD_KEEP_TIME

Why is the MAXLOGHISTORY Parameter Ignored When Creating a Controlfile? (文档 ID 217718.1)

fix:

When a controlfile is created, it is not obvious how the MAXLOGHISTORY

parameter relates to the number of records created in the Log History section.

For example, creating a controlfile with MAXLOGHISTORY parameter set to 100 may result in the controlfile being created with 227 records in the Log History section. This is an expected behaviour.

When controlfile is created, each section of it is sized initially and space allocated accordingly. The space for each section is in terms of oracle blocks and not records. The size of a single record in each of the controlfile section is fixed. In case of log history records, the size is 36 bytes. So, 100 records (MAXLOGHISTORY) would need 3600 bytes. Depending on the size of the Oracle block size - the controlfile block size is the same as DB_BLOCK_SIZE parameter, a certain number of blocks wold be allocated to the log history record section.

For example, if the DB_BLOCK_SIZE is 8192, then one block will be sufficient

and accordingly will be allocated. In one block, we can have 8192/36 ~ 227 records. If the DB_BLOCK_SIZE parameter was 2048, then 2 blocks would have been needed but only 113 records would have been created.

 


查看v$log_history:

select count(1) from v$log_history

COUNT(1)

126    --和V$CONTROLFILE_RECORD_SECTION.RECORDS_USED 数量一致


查看创建数据库DBCA开始的alert.log:

Thu Nov 23 15:07:06 2017

QMNC started with pid=22, OS id=14684

Completed: CREATE DATABASE "lenovo"

MAXINSTANCES 8

MAXLOGHISTORY 1  --这里LOG HISTORY RECORD为1,我理解是虽然是1但还是要分配一个CONTROLFILE BLOCK存放,既然分配了一个BLOCK就可以全部使用292条RECORD

MAXLOGFILES 16

MAXLOGMEMBERS 3

MAXDATAFILES 1000

DATAFILE '/data/lenovo/system01.dbf' SIZE 700M REUSE AUTOEXTEND ON NEXT  10240K MAXSIZE UNLIMITED

EXTENT MANAGEMENT LOCAL

……


目前,基本可以理解dbca建库后默认分配1个CONTROLFILE BLOCK存放292条LOG HISTORY RECORD。但后续发现业务增加后V$CONTROLFILE_RECORD_SECTION.RECORDS_TOTAL增加是为什么呢?


查到MOS另一篇文档:Master Note: Overview of Database ControlFiles (文档 ID 1493674.1) 提到:
Http://blog.itpub.net/25583515/viewspace-2150930/

  • You want to change the parameters from the CREATE DATABASE or CREATE CONTROLFILE commands: MAXLOGFILES, MAXLOGMEMBERS, MAXLOGHISTORY, and MAXINSTANCES, when the compatibility is earlier than 10.2.0. If compatibility is 10.2.0 or later, you do not have to create new control files when you make such a change; the control files automatically expand, if necessary, to accommodate the new configuration infORMation.


至此,個人理解:

CONTROL FILE中类似MAXLOGHISTORY参数再10.2之后版本意义已经不大,record保留完全通过control_file_record_keep_time控制

control_file_record_keep_time:是一個guarantee值,意思是說重用部分最起碼可以被保留7天,而不是到了7天就一定被覆蓋。
使用用大致分為三種情況:
1. 在controlfile空間有富餘時,不會重用覆蓋7天前的record
2. 在controlfile空間不足時,但沒有7天前可重用覆蓋的record,就會自動擴展controlfile空間,以滿足新record需要的空間
3. 在controlfile空間不足時,會重用覆蓋7天前的record,并不會自動擴展controlfile空間

如果你想確保備份一定可以保留15天,就設置control_file_record_keep_time=16 這樣才是保險的。

参考:

https://docs.oracle.com/cd/E11882_01/server.112/e40402/initparams036.htm#CHDDBCDB

https://docs.oracle.com/cd/E11882_01/server.112/e40402/dynviews_1088.htm#REFRN30044

https://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_5003.htm#sqlRF01203

https://docs.oracle.com/cd/E11882_01/server.112/e10839/appg_db_lmts.htm#UNXAR015

http://blog.itpub.net/25583515/viewspace-2150930/




您可能感兴趣的文档:

--结束END--

本文标题: CONTROL_FILE_RECORD_KEEP_TIME和MAXLOGHISTORY参数详解

本文链接: https://lsjlt.com/news/46251.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • CONTROL_FILE_RECORD_KEEP_TIME和MAXLOGHISTORY参数详解
    开始前我们先看看官方文档对CONTROL_FILE_RECORD_KEEP_TIME和MAXLOGHISTORY说明 CONTROL_FILE_RECORD_KEEP_TIME ...
    99+
    2024-04-02
  • oracle参数open_cursors和session_cached_cursor详解!
    SQL> show parameter open_cursors --每个session(会话)最多能同时打开多少个cursor(游标) NAME ...
    99+
    2024-04-02
  • C++ 函数的默认参数和可变参数详解
    c++++ 默认参数允许为函数参数设置默认值,而在可变参数中,可以为函数提供任意数量的参数。具体而言:默认参数:允许在函数声明时为参数指定默认值,在调用时如果没有提供值则使用默认值。可变...
    99+
    2024-04-19
    编程 c++
  • Redis 主从配置和参数详解
    安装redis下载redis wget http://download.redis.io/releases/redis-3.0.7.tar.gz解压redis tar -xvf ...
    99+
    2024-04-02
  • OGG参数详解
    一直以来对oracle goldengate许多参数比较疑惑,正好在MOS看到这个文章,转载到BLOG,以备参考 Objective: This paper provides samp...
    99+
    2024-04-02
  • Java中的隐式参数和显示参数实例详解
            在学习Java的过程中,我们会遇到许多的问题。下面我们就来看看什么是隐式参数和显示参数。     &nb...
    99+
    2023-05-31
    java 隐式参数 显示参数
  • python selenium参数详解和实现案例
    无头模式添加,可以让selenium模拟登录,进入到后台运行这里以登录打开公司内网下载数据为例,因为涉及私密问题,所以有些地方我们进行覆盖,还请谅解先不添加无头模式,进行登录,并且下...
    99+
    2024-04-02
  • numpy的sum函数的axis和keepdim参数详解
    一.axis axis就是指定轴。 三维数组可看作元素是二维数组的一维数组,二维数组可看作元素是一维数组的一维数组 。(这么理解就舒服了!) 例: axis=2就是三维数组对最里面...
    99+
    2024-04-02
  • Scala隐式转换和隐式参数详解
    目录Scala隐式转换和隐式参数隐式转换隐式参数隐式类隐式转换和隐式参数的导入总结Scala隐式转换和隐式参数 隐式转换 隐式转换是指在Scala编译器进行类型匹配时,如果找不到合适...
    99+
    2023-05-14
    Scala隐式转换和隐式参数 Scala隐式转换 Scala隐式参数
  • My.cnf数据库参数详解
    /etc/my.cnf文件为mysql的配置文件,内容详解如下: [mysqld]   //服务器端配置 datadir=/data/mysql   //数据目录&n...
    99+
    2024-04-02
  • Mysql explain 各参数详解
    id序号 select_type simple:即简单select 查询,不包含union及子查询; primary:最外层的 select 查询; union:表示此查询是 union 的第二或随后的查...
    99+
    2016-04-15
    Mysql explain 各参数详解
  • Python tkinter padx参数详解
    目录1.padx运行总结1.padx 表示在x轴方向上的边距 一般用法是padx=10,表示距离左右两边组件的长度都为10 还可以...
    99+
    2024-04-02
  • Window.open()方法参数详解
    window.open()方法是JavaScript中的一个方法,用于打开一个新的浏览器窗口或者标签页。它接受多个参数来控制打开的窗...
    99+
    2023-09-01
    Window.open()
  • dataloader各项参数详解
    在学习某一神经网络框架时,数据流总是能帮助大家更好地理解整个模型的运行逻辑/顺序,而其中Dataloader的作用在某些时候更是至关重要的。 笔者将自己的学习到的关于dataloader的创建,作...
    99+
    2023-10-20
    pytorch 深度学习 python
  • Assert.assertEquals()方法参数详解
    junit.framework包下的Assert提供了多个断言方法. 主用于比较测试传递进去的两个参数. Assert.assertEquals();及其重载方法: 1. ...
    99+
    2024-04-02
  • 解密AJAX参数:详解常见参数及其功能
    AJAX参数大揭秘:详解常用参数及其作用,需要具体代码示例 在现代Web开发中,AJAX(Asynchronous JavaScript and XML)已经成为了不可或缺的一部分。它通过JavaScript和XML(现在通常是...
    99+
    2024-01-26
    作用 常用
  • python中函数的参数详解
    目录一、参数的定义1、函数的参数在哪里定义2、带参数的函数调用:二、参数分类1、根据实参进行分类1.1、位置参数(未命名参数)1.2、关键字参数(命名参数)2、根据形参进行分类2.1...
    99+
    2024-04-02
  • OpenCV中findContours函数参数详解
    注: 这篇文章用的OpenCV版本是2.4.10, 3以上的OpenCV版本相关函数可能有改动 Opencv中通过使用findContours函数,简单几个的步骤就可以检测出物体的轮...
    99+
    2022-11-13
    OpenCV findContours函数 OpenCV findContours
  • Golang形参要求详解:参数类型、参数个数及顺序
    Golang形参要求详解:参数类型、参数个数及顺序 在Golang中,函数的形参定义非常灵活,可以传递不同类型的参数及不固定数量的参数。形参主要包括参数类型、参数个数及参数顺序,下面将...
    99+
    2024-03-03
    参数个数 参数顺序 编译错误
  • C语言形参和实参的区别详解
    目录形参和实参的定义形参和实参的作用形参和实参的传递方式传值调用指针调用形参和实参的默认值总结C语言是一种高级编程语言,其最重要的特点之一是它允许程序员使用函数来组织代码。函数是一组...
    99+
    2023-05-20
    C语言 形参 实参
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作