Oracle 10g,RAC环境,AIX操作系统,原来系统的redo文件为,每个节点5组,每组1个成员,每组的文件大小为250M。
在系统繁忙时间,因为redo日志切换过于频繁,11秒到35秒左右切换一次,alert会有Can not allocate log, archival required的信息,故考虑增大每组redo file到500M,以缓解日志切换频繁的压力。
1、查看现有的日志使用情况:
select * from v$log
2、不能直接改变原来的redo使用的LV大小,而应该新增LV,分配2个PP(256×2 M):
mklv -y db_redo1_11 -T O -w n -t raw -s n -r n oraclevg 2
3、把改LV的权限给dba组oracle用户
chown oracle.dba /dev/rdb_redo1_11
4、为节点1(thread 1)增加新的redo文件:
ALTER DATABASE ADD LOGFILE THREAD 1 group 11 '/dev/rdb_redo1_11' size 500m;
说明:在RAC环境下,必须指定thread
5、手动切换日志,然后查看日志使用情况
alter system switch logfile;
select * from v$log
6、如果原来要替换的日志组已经为INACTIVE状态,则可以删除:
alter database drop logfile group 1;
7、循环以上步骤,增大其他组redo和另一节点的redo文件。
操作过程如下:
p5a1@/#mklv -y db_redo1_11 -T O -w n -t raw -s n -r n oraclevg 2
db_redo1_11
p5a1@/#ls -l /dev/rdb_redo1_11
crw-rw---- 1 root system 53, 48 Feb 19 09:31 /dev/rdb_redo1_11
p5a1@/#chown oracle.dba /dev/rdb_redo1_11
p5a1@/#ls -l /dev/rdb_redo1_11
crw-rw---- 1 oracle dba 53, 48 Feb 19 09:31 /dev/rdb_redo1_11
p5a1@/#ls -l /dev/rdb_redo1_1
crw-rw---- 1 oracle dba 53, 10 Feb 19 09:11 /dev/rdb_redo1_1
p5a1@/#mklv -y db_redo1_12 -T O -w n -t raw -s n -r n oraclevg 2
db_redo1_12
p5a1@/#chown oracle.dba /dev/rdb_redo1_12
p5a1@/#mklv -y db_redo1_13 -T O -w n -t raw -s n -r n oraclevg 2
db_redo1_13
p5a1@/#chown oracle.dba /dev/rdb_redo1_13
p5a1@/#mklv -y db_redo1_14 -T O -w n -t raw -s n -r n oraclevg 2
db_redo1_14
p5a1@/#chown oracle.dba /dev/rdb_redo1_14
p5a1@/#mklv -y db_redo1_15 -T O -w n -t raw -s n -r n oraclevg 2
db_redo1_15
p5a1@/#chown oracle.dba /dev/rdb_redo1_15
p5a1@/#lsvg -l oraclevg
oraclevg:
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
db_redo1_11 raw 2 2 1 open/syncd N/A
db_redo2_21 raw 2 2 1 closed/syncd N/A
db_redo1_12 raw 2 2 1 open/syncd N/A
db_redo1_13 raw 2 2 1 open/syncd N/A
db_redo1_14 raw 2 2 1 open/syncd N/A
db_redo1_15 raw 2 2 1 open/syncd N/ASQL> ALTER DATABASE ADD LOGFILE THREAD 1 group 11 '/dev/rdb_redo1_11' size 500m;
Database altered.
SQL> alter system switch logfile;
System altered.
SQL> alter database drop logfile group 1;Database altered.
SQL> ALTER DATABASE ADD LOGFILE THREAD 1 group 12 '/dev/rdb_redo1_12' size 500m;
Database altered.
SQL> alter system switch logfile;
System altered.
SQL> alter database drop logfile group 2;
Database altered.
SQL> ALTER DATABASE ADD LOGFILE THREAD 1 group 13 '/dev/rdb_redo1_13' size 500m;
Database altered.
SQL> alter system switch logfile;
System altered.
SQL> alter database drop logfile group 3;
Database altered.
SQL> ALTER DATABASE ADD LOGFILE THREAD 1 group 14 '/dev/rdb_redo1_14' size 500m;
Database altered.
SQL> alter system switch logfile;
System altered.
SQL> alter database drop logfile group 4;
Database altered.
SQL> ALTER DATABASE ADD LOGFILE THREAD 1 group 15 '/dev/rdb_redo1_15' size 500m;
Database altered.
SQL> alter system switch logfile;
System altered.
SQL> alter database drop logfile group 5;
Database altered.
注意:如果在非RAC环境,直接用类似以下命令增加logfile即可,无需指定Thread:
alter database add logfile group 11 '/dev/rdb_redo1_6' size 500m;