Oracle的存储的三大物理文件

本文详细介绍了Oracle数据库的联机重做日志,包括重做线程、日志内容、写入方式、活动与非活动状态、日志切换以及规划策略。此外,还讨论了如何规划和管理联机重做日志,如多路复用、日志成员大小和数量的确定,以及如何进行日志文件的操作,如创建、重定位、重命名和取消。
摘要由CSDN通过智能技术生成

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

一、控制文件(Control File):保存有关数据库的结构信息!

    控制文件是一个小型的二进制文件,可以记录数据库的物理结构。包括:

    * 数据库名称
    * 数据文件和日志文件的名称和位置
    * 数据库创建的时标
    * 当前日志的序号
    * 检验点信息

    一般Oracle数据库创建时都会创建至少两个或两个以上的控制文件。

二、控制文件的标准

    1、控制文件的文件名

    由control_files参数来指定控制文件名。
    若没有指定该参数,则生成默认文件名,默认文件名在各个操作系统中各不相同

    2、控制文件的复用

    一般不同的控制文件都存放在不同的磁盘,当某个磁盘损坏时可以通过在其他磁盘上的控制文件进行复用,不需要任何的介质恢复。

    * 找到control_files参数列出所有文件名,将相应内容写入所有控制文件
    * control_files中列出的第一个文件是Oracle数据库运行期间唯一可以读取的文件
    * 数据库运行期间,任何控制文件变为不可用,则实例不能继续运行

    3、备份控制文件

    进行以下数据库物理结构改变之后,需要备份控制文件

    * 添加、取消或重命名数据文件
    * 添加或撤销表空间,或更改表空间读写状态
    * 添加或取消重做日志文件

    4、控制文件大小管理

    MAXDATAFILES、MAXLOGFILES、MAXLOGMEMBERS、MAXLOGHISTORY、MAXINSTANCES参数控制


三、创建控制文件

    1、创建初始化控制文件

    control_files = (/u01/oracle/prod/control01.ctl,
                     /u02/oracle/prod/control02.ctl,
                     /u03/oracle/prod/control03.ctl)

    注:若已经存在与指定名同名的文件,则在create database语句中指定controlfile reuse子句。而且新控制文件与原先控制文件的size必须相同。

    2、创建额外副本、重命名和重定位控制文件

    ① 关闭数据库
    ② 在操作系统中复制、修改原控制文件
    ③ 修改control_files,添加或修改新的控制文件名
    ④ 重新启动数据库

    3、创建新的控制文件

    以下情况可能会需要重新创建新的控制文件:

    * 数据库所有控制文件都收到永久性损坏,且无任何备份
    * 希望修改数据库参数的永久性设置,例如:SID、MAXDATAFILES、MAXLOGFILES、MAXLOGMEMBERS、MAXLOGHISTORY、MAXINSTANCES等参数

    4、创建语句示例

    create controlfile
    set databse april
    LOGFILE GROUP 1 ('/export/home/oracle/oradata/april/redo01_01.log',
                     '/export/home/oracle/oradata/april/redo01_02.log'),
            GROUP 2 ('/export/home/oracle/oradata/april/redo02_01.log',
                     '/export/home/oracle/oradata/april/redo02_02.log'),
            GROUP 3 ('/export/home/oracle/oradata/april/redo03_01.log',
                     '/export/home/oracle/oradata/april/redo03_02.log')
    noresetlogs
    datafile '/export/home/oracle/oradata/april/system01.dbf' size 3M,
             '/export/home/oracle/oradata/april/rbs01.dbf' SIZE 5M,
             '/export/home/oracle/oradata/april/users01.dbf' SIZE 5M,
             '/export/home/oracle/oradata/april/temp01.dbf' SIZE 5M
    MAXLOGFILES 50
    MAXLOGMEMBERS 3
    MAXDATAFILES 200
    MAXINSTANCES 6
    ARCHIVELOG;

    注:create controlfile 语句可能会损坏数据文件和联机重做日志文件,省略文件名会引起文件中数据的丢失,或失去访问完整数据库的能力,所以在使用这条语句时需要特别小心。

    5、创建步骤(严格遵守)

    ① 制作包括数据库所有数据文件和联机重做日志文件的列表,可以使用以下SQL列出清单
        select member from v$logfile; --日志文件
       select name from v$datafile; -- 数据文件

       select value from v$parameter where name = 'control_files' ; -- 控制文件

    ② 关闭数据库(immediate、abort)
    ③ 备份数据库的所有数据文件和联机重做日志文件
    ④ 启动一个新的实例,但不要装载和打开数据库(nomount)
    ⑤ 使用create controlfile语句创建一个新的控制文件
        注:若重命名数据库,或联机重做日志文件丢失,可使用resetlogs子句
    ⑥ 在离线存储设备上存储新的控制

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值