Oracle增大redo log file的方法
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/A
SQL> 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;
總結
以上是生活随笔為你收集整理的Oracle增大redo log file的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 有关 Oracle redo log
- 下一篇: oracle 启动监听报错TNS-125