Oracle Redo Log File调整大小
2014-10-15 11:39
369 查看
redo log 一般设置让日志转换时间为10-20分钟,转换太频繁会影响性能。如果AWR report中log file switch (checkpoint in complete) 比较大,说明redo log之间的切换过于频繁。可以通过增加redo log size来降低切换的频率。
但如果redo log size 过大,可能带来数据库恢复时丢失数据的风险,所以要折中选择redo logsize, Oracle 11g默认大小为50M。
查看当前日志文件组的状态:
2) 切换当前日志到新添加的日志组
4)物理磁盘上删除旧日志组文件
5) 重建日志组
7) 物理磁盘上删除新加的日志组
8) 备份当前最新的控制文件
在集群数据库中,实例恢复的过程与单节点是一样的,都是通过存储在联机重做日志中的日志信息自动进行实例恢复。不同的是,在集群环境中,所有节点的重做日志都必须可被其他所有节点访问。当由于这个节点的突然崩溃事故而进行实例恢复时,其他仍然完好的节点数据库实例就可以对其联机重做日志进行访问,执行实例恢复。即便崩溃的实例无法再行启动,其重做日志仍可访问,其日志数据仍可被其他实例使用,进行已提交事务的前滚和未提交事务的回滚,从而实现集群角度的崩溃恢复。
由于每个节点都需要有自己的私有日志组,所以在集群数据库节点上,每个实例都会有一个独立的日志线程号,这个线程号由参数THREAD确定,不会改变。在下面例中,服务器参数文件中的thread参数定义了节点一(racdb1)实例的线程号为1,而节点而节点二(racdb2)实例的线程号为2。
节点一:
下面来给线程2的实例添加一个组,组号为5,采用ASM自动存储方式,因此无需指定文件名和大小:
查询新创建的日志组,组5属于实例二,有两个组成员。而组6属于实例一,有两个组成员,都由ASM方式存储,采用OMF(Oracle 管理的文件)方式命名:
使用alter system checkpoint;
切换日志组,inactive状态可以删除
创建日志组
alter database add logfile thread 1 group 1 size 200M;
alter database add logfile thread 1 group 2 size 200M;
alter database add logfile thread 1 group 3 size 200M;
alter database add logfile thread 2 group 4 size 200M;
alter database add logfile thread 2 group 5 size 200M;
alter database add logfile thread 2 group 6 size 200M;
但如果redo log size 过大,可能带来数据库恢复时丢失数据的风险,所以要折中选择redo logsize, Oracle 11g默认大小为50M。
查看当前日志文件组的状态:
SQL> select group#,thread#,bytes/1024/1024,status from v$log; GROUP# THREAD# BYTES/1024/1024 STATUS ---------- ---------- --------------- ---------------- 1 1 50 CURRENT 2 1 50 INACTIVE 3 1 50 INACTIVE
1 单实例环境
1) 创建新的日志组alter database add logfile group 4 ('D:\ORACLE\ORADATA\ORCL\REDO04.LOG') size 50M; alter database add logfile group 5 ('D:\ORACLE\ORADATA\ORCL\REDO05.LOG') size 50M;
2) 切换当前日志到新添加的日志组
alter system switch logfile; alter system switch logfile;3) 删除旧的日志组
alter database drop logfile group 1; alter database drop logfile group 2; alter database drop logfile group 3;
4)物理磁盘上删除旧日志组文件
5) 重建日志组
alter database add logfile group 1 ('D:\ORACLE\ORADATA\ORCL\REDO01.LOG') size 200M; alter database add logfile group 2 ('D:\ORACLE\ORADATA\ORCL\REDO02.LOG') size 200M; alter database add logfile group 3 ('D:\ORACLE\ORADATA\ORCL\REDO03.LOG') size 200M;6) 切换日志组
alter system switch logfile; alter system switch logfile;
alter system switch logfile;
7) 物理磁盘上删除新加的日志组
8) 备份当前最新的控制文件
alter database backup controlfile totrace resetlogs
2 RAC环境
在集群环境中,每个节点上的数据库实例都需要自己的重做日志组。例如,如果集群数据库拥有三个节点和实例,每个实例至少有两个重做日志组,则整个集群至少需要6个联机重做日志组。一般而言,两个日志组是最低限量,可以给每个实例更多的组。一则提高效率,二则提高恢复性。但无论多少组,所有日志文件存放于共享存储介质上,并可以被其他实例访问。在集群数据库中,实例恢复的过程与单节点是一样的,都是通过存储在联机重做日志中的日志信息自动进行实例恢复。不同的是,在集群环境中,所有节点的重做日志都必须可被其他所有节点访问。当由于这个节点的突然崩溃事故而进行实例恢复时,其他仍然完好的节点数据库实例就可以对其联机重做日志进行访问,执行实例恢复。即便崩溃的实例无法再行启动,其重做日志仍可访问,其日志数据仍可被其他实例使用,进行已提交事务的前滚和未提交事务的回滚,从而实现集群角度的崩溃恢复。
由于每个节点都需要有自己的私有日志组,所以在集群数据库节点上,每个实例都会有一个独立的日志线程号,这个线程号由参数THREAD确定,不会改变。在下面例中,服务器参数文件中的thread参数定义了节点一(racdb1)实例的线程号为1,而节点而节点二(racdb2)实例的线程号为2。
节点一:
$sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Wed Oct 15 07:14:26 2014 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options SQL> show parameter thread NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ parallel_threads_per_cpu integer 2 thread integer 1节点二:
$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Wed Oct 15 07:14:57 2014 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options SQL> show parameter thread NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ parallel_threads_per_cpu integer 2 thread integer 2因此,当给数据库集群创建重做日志是,管理员需要指定这个新的日志组被分配给哪个线程(服务于哪个RAC实例)。
下面来给线程2的实例添加一个组,组号为5,采用ASM自动存储方式,因此无需指定文件名和大小:
SQL>alter database add logfile thread 2 group 5; Database altered.下面来给线程1的实例添加一个组,组号为6,采用ASM自动存储方式,因此无需指定文件名和大小。
SQL>alter database add logfile thread 1 group 6; Database altered.
查询新创建的日志组,组5属于实例二,有两个组成员。而组6属于实例一,有两个组成员,都由ASM方式存储,采用OMF(Oracle 管理的文件)方式命名:
SQL> select group#,member from v$logfile where group# in (3,4); GROUP# MEMBER ---------- -------------------------------------------------- 3 +DATA/racdb/onlinelog/group_3.265.860917879 3 +FRA/racdb/onlinelog/group_3.259.860917895 4 +DATA/racdb/onlinelog/group_4.266.860918121 4 +FRA/racdb/onlinelog/group_4.260.860918145
使用alter system checkpoint;
切换日志组,inactive状态可以删除
创建日志组
alter database add logfile thread 1 group 1 size 200M;
alter database add logfile thread 1 group 2 size 200M;
alter database add logfile thread 1 group 3 size 200M;
alter database add logfile thread 2 group 4 size 200M;
alter database add logfile thread 2 group 5 size 200M;
alter database add logfile thread 2 group 6 size 200M;
相关文章推荐
- Oracle 调整重做日志(redo)大小
- 如何调整Oracle Redo Logfile日志文件的大小?
- oracle rac下调节redo log file 文件大小
- oracle rac下调节redo log file 文件大小
- Oracle 11g调整redo日志大小、组数和每组成员数
- Oracle 调整SGA、PGA大小
- 如何查看oracle SGA各组件大小,以及调整db_cache,shared_pool,PGA大小
- Oracle调整表空间大小——ORA-03297: 文件包含在请求的 RESIZE 值以外使用的数据
- Oracle如何调整SGA的大小
- 如何确定 redo log file 大小
- 调整Redo Logs大小
- Oracle调整SGA大小
- Oracle redo log 调整
- oracle 在线修改online redo logfiles size 大小
- 调整联机重做日志大小(change redo log size)
- 【Oracle Log file 恢复】 已归档、非当前的 Redo LogFile 损坏
- Oracle如何调整SGA和PGA的大小
- 修改oracle redo log的大小
- oracle基础:redo log file
- 深入讲解调整Oracle SGA大小的解决方法