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对比 做一致性恢复(如果需要的化) 启动这个实例 进行对外提供服务