oracle基础~ 日志种类与后台进程

1 系统报警日志 alert.log
2 跟踪日志(用户和进程) trace.log
3 重做日志
  1 在线重做日志
     1 redo日志组 一个日志组有N个成员,一共有M个日志组,且M个日志组只有一个日志组处于活跃状态
     2 每组内的日志文件的内容完全相同,且保存在不同的位置,用于磁盘日志镜像,以做多次备份提高安全性
  2 归档重做日志
   1 当一个日志组写满后,处于归档模式下,会触发归档日志生成操作,当这一组归档日志都生成完成后,才会进行下一组edo日志组的写入或者原本的覆盖
  3 视图 V$LOG 和  V$LOGFILE
  4 rman交互界面
    0 查看是否属于归档模式 archive log list;
    1 删除归档日志文件
       list archivelog all
       delete archivelog from time 'sysdate-7';
       delete expired archivelog all
   2 管理归档日志空间
     1  select * from v$flash_recovery_area_usage; 查看占比(不一定准确)
     2 alter system set db_recovery_file_dest_size=20G scope=both;; 扩容闪回区大小,因为归档日志文件在这里
  3  设置多个归档日志路径
       Alter system set  log_archive_dest_1='location=+ARCH optional'
       Alter system set  log_archive_dest_2='location=/backup/arch/  optional'
      show parameter  log_archive  查看是否生效
      典型的就是log_archive_dest_1设置为本地备份,log_archive_dest_2设置为dg的归档传输
 5 归档日志都能做什么
  1 能够进行增量备份(我们可以理解称为mysql的binlog意义),这样利用RMAN全量的物理备份和RMAN增量的归档日志备份 实现精确到时间点的恢复
  2 能够进行DG和ADG的搭建,归档日志这里类似于mysql的binlog,传输并且进行应用(块的改变)
  3 表空间可以脱机:可以备份部分数据库,比如重要的表空间。
后台进程
1 dbwr进程 脏块进行刷盘操作
  1 触发条件
     1当有数据写入缓冲区,发现空间不够,就会触发,按照lru规则写入数据文件(分散写)
     2执行检查点(ckpt进程)
  2 刷脏线程数量
     db_writer_processed,
2 lgwr进程 重做日志进行刷盘操作
  1 触发条件
    1 每3秒一次
    2 事务条件(含ddl)
    3 重做日志缓冲区写满1/3或者缓冲区达到1mb的日志
3 ckpt检查点进程 数据一致性(ckpt点)进程
   1 当dbwr进程写脏块到数据文件时,必须要对控制文件和数据文件进行更新, 目的是为了加快宕
    机后的一致性恢复
   2 触发条件
    1 重做日志切换
    2 系统收到alter system checkpoint;命令
    3 将表空间置为offline脱机/read only 只读/backup 备份状态
  3 主要工作
   1 更新控制文件,并修改数据文件的头信息,记录当前检查点的位置
   2 向dbwr进程发布将脏块写入到数据文件的任务,保证数据库的一致性,
  4 smon 系统监控 system
  5 pmon 进程监控 process 
  6 arch 归档进程
oracle 三种启动方式以级区别
1 startup nomount
    1 根据init,ora配置文件启动全局SGA 最后还会启动后台守护进程和服务进程,并且获取控制文件位置
init.ora里面设置了全局SGA配置,控制文件位置和oracle_sid
2 startup mount
   1 打开控制文件,确认数据文件和联机日志文件的位置 
3 startup open
  1 打开所有数据和日志文件 进行SCAN对比 做一致性恢复(如果需要的化)  启动这个实例 进行对外提供服务  

原文地址:https://www.cnblogs.com/danhuangpai/p/14440127.html