Oracle联机日志管理logfile
工具/原料
centos7
oracle11g、secureCRT
方法/步骤
1、联机日志管理logfile联机日志文件介绍日志文件在oracle数据库中分为重做日志文件和归档日志文件两种。重做日志文件是oracle数据库正常运行不可缺少的文件。重做日志文件主要记录了数据库的操作过程。用于备份和还原数据库,以达到数据库的最新状态。
2、联机日志组介绍由一个或多个相同的联机日志文件组成一个联机重做日志组至少两个日志组,第组缬方焱蜱一个成员叵萤茆暴(建议每组两个成员,分散放开到不同的磁盘),由LGWR后台进程同时将日志内容写入到一个组的所有成员。同一组下的成员是镜像关系(也就是内容相同)LGWR的触发条件:在事务提交的时候(COMMIT)RedoLogBuffer三分之一满RedoLogBuffer多于一兆的变化记录在DBWn写入数据文件之前
3、联机日志成员介绍飒劐土懿重做日志组内的每一个联机日志文件称为一个成员。一个组内的每一个成员具有相同的日志序列号,且成员的大小相同。每次日志切换时,oracle服棣蚺幌盗务器分配一个新的LSN号给即将写入日志的日志文件组,LSN号用于唯一区分每一个联机日志组和归档日志。处于归档模式的联机日志,LSN号在归档时也被写入到归档日志之中。
4、查看日志文件位置1.查看日志组的相关信息,从下图中可以看出日志组分为三组,组序列为918990。归档方式有no有yes状态为current为正在使用的组。其它两个线是在当前组写满后进行切换用的。日志的切换有一个顺序,优先切换到sequence#中数字最小的组。BYTES代表组中的成员是50M一个。
5、2.查看组中成员的信息。从下图中可以看出,日志文件一共有三组,每组中有一个成员。
6、3.日志擢爻充种的切换,从下图中可以看出在日志进行切换后,发现每一组日志的状态已经更改,第二组日志的状态更改为了正寄噢剪飕在使用状态。第一组日志状态变为了active,它的意思是每一组日志文件没有写满现在处于活动状态。但是这里要注意一个问题,如果数据量特别大或者有特别多的脏数据,那么在没有写满的日志文件为active时再进行切换的话速度会很满。所以尽量不要出现太多的active状态。
7、管理日志组及日志成员1.添加一个日志组并在添加组的时候指定一个成员和指定组成员的大小。从下图中可以看出,向日志中添加了一个组4并指定有一个成员状态是未启用。
8、2.向已经存在的日志组中添加成员,从下图中可以看出,已经向日志组4中成功添加了一个成员。上图中已经设置组中成员默认大小为500M。这里查看大小发现组4中的两个成员都为500M。
9、3.删除组成员先向组3中增加一个成员用来演示删除组成员,删除后可以看到组成员已经成功删除。
10、在删除组成员的时候,如果当前组是current状态,一定不要删除。还有活动active中的组成员也不要删除。否则会导致数据库日志不统一,数据库崩溃。而且组成员中至少要保留一个成员。
11、4.删除组删除组的时候要满足当前日志组不能删,活动的日志组不能删,没有归档的日志组不能删条件,不然会导致数据库崩溃。示例:删除组3