oracle之——控制文件、数据文件和日志文件的迁移(一)

*说明: 举例主要以oracle11g为例,其次将oracle12PDB数据文件的迁移单独列出来,因为oracle其他文件的迁移与oracle11g类似。*

oracle几类文件简单说明

1.控制文件

介绍:记录了数据库的状态信息,如重做日志文件与数据文件的名字和位置,归档重做日志的历史等,大小不会超过64M的二进制文件,文件后缀.ctl
作用:控制文件在数据库启动的mount阶段读取(oracle数据库启动经过:nomount->mount->open),并且二者是一对一的关系,并且控制文件只有数据库服务可以修改,其他任何用户都无法修改。

2.数据文件

介绍:逻辑上一个数据库由一个或多个表空间组成,一个表空间又由一个或多个操作系统文件组成,把这些操作系统文件称为数据文件。

3.日志文件

日志文件可分为两类,以下分别介绍:

  1. 重做日志文件
      背景:引入重做日志的目的是,数据恢复。在数据库运行过程中,用户更改的数据会暂时存放在数据库高速缓存区,为的是提高数据库的速度,避免频繁读写磁盘文件,所以等到数据库告诉缓存区中的数据达到一定的量或者满足条件时,DBWR进程(oracle内置进程)才会将变化了的数据提交到数据库,也就是将变化了的数据写到数据文件中。但是!如果在DBWR进程写变化到数据文件之前发生了宕机,那么数据库告诉缓存区的数据就全部丢失,当数据库重新启动后无法恢复这部分更改的数据,显然是不合适的,重做日志就可以解决这个问题!
      重做日志就是把用户变换了的数据先保存起来,其中LGWR进程负责吧用户更改的数据优先写到重做日志文件中,即日志写优先。
      了解重做日志也需要理解它和重做日志组的关系,如下图:
    在这里插入图片描述

说明:
1.oracle规定没每个数据库实例至少有俩个重做日志组,每个重做日志组至少有一个重做日志文件。
2.重做日志组中有多个日志成员时,每个重做日志成员的内容相同,oracle会同步同一个重做日志组中的每个成员。
3.当一个重做日志组写满时,就会自动进行日志切换,切换到它可以找到的其他重做日志组。

  1. 归档日志文件
      归档日志文件,直观的讲就是重做日志的备份,并且在数据库运行在归档模式下才会使用。作用是数据库发送截至故障时使用归档日志实现用户数据的完全恢复。
      上面1)讲到LGWR经常讲日志缓存区的数据写入重做日志,当前重做日志组写满后,会自动切换到新的日志组,在使用新的重做日志组之前ARCH进程会将当前写满的日志数据写入归档日志,注意ARCH进程只在归档时才会启动。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值