Oracle Redo Log 文件扩容

发布时间:2026/7/15 14:04:20
Oracle Redo Log 文件扩容 某数据库有3个Log Group每个Group中的Redo Log文件大小为200MB需要扩大到1GB。也就是最终需要变成如下SQLselectbytesfromv$log;BYTES----------107374182410737418241073741824实际上没有所谓的扩容命令。只需把老的Log Group删除然后添加新Log Group并指定大小为1GB。假设status为current的为Log Group 1我们可以先重建Log Group 2和3-- 操作必须在CDB$ROOT中进行connect/assysdbaALTERDATABASEDROPLOGFILEGROUP3;ALTERDATABASEADDLOGFILEGROUP3(DATAC1)SIZE1G;ALTERDATABASEDROPLOGFILEGROUP2;ALTERDATABASEADDLOGFILEGROUP2(DATAC1)SIZE1G; 删除LOGFILE GROUP还需要用rm或类似命令删除之前的redo log文件。然后做Log SwicthALTERSYSTEM SWITCH LOGFILE;ALTERSYSTEMCHECKPOINT;ALTERDATABASEDROPLOGFILEGROUP1;ALTERDATABASEADDLOGFILEGROUP1(DATAC1)SIZE1G;如果不switch logfile则会报如下错SQLALTERDATABASEDROPLOGFILEGROUP1;ALTERDATABASEDROPLOGFILEGROUP*ERROR at line1: ORA-01623: log1iscurrentlogforinstance orcl(thread1)-cannotdropORA-00312: online log1thread1:RECO/DB0410_NRT12N/ONLINELOG/group_1.551.1136542627如果不做checkpoint则可能报如下错SYSorclALTERDATABASEDROPLOGFILEGROUP1;ALTERDATABASEDROPLOGFILEGROUP1*ERROR at line1: ORA-01624: log1neededforcrash recoveryofinstance orcl(thread1)ORA-00312: online log1thread1:DATAC1/ORCL/ONLINELOG/group_1.551.11365426272023年5月22日下午6点又做了一次从1G改为2GSYSorclselectgroup#, bytes, status from v$log;GROUP# BYTES STATUS---------- ---------- ----------------11073741824CURRENT21073741824INACTIVE31073741824INACTIVEALTERDATABASEDROPLOGFILEGROUP3;ALTERDATABASEADDLOGFILEGROUP3(DATAC1)SIZE2G;ALTERDATABASEDROPLOGFILEGROUP2;ALTERDATABASEADDLOGFILEGROUP2(DATAC1)SIZE2G;SYSorclselectgroup#, bytes, status from v$log;GROUP# BYTES STATUS---------- ---------- ----------------11073741824CURRENT22147483648UNUSED32147483648UNUSED SYSorclALTERSYSTEM SWITCH LOGFILE;System altered.SYSorclselectgroup#, bytes, status from v$log;GROUP# BYTES STATUS---------- ---------- ----------------11073741824ACTIVE22147483648CURRENT32147483648UNUSED SYSorclALTERDATABASEDROPLOGFILEGROUP1;ALTERDATABASEDROPLOGFILEGROUP1*ERROR at line1: ORA-01624: log1neededforcrash recoveryofinstance orcl(thread1)ORA-00312: online log1thread1:DATAC1/ORCL/ONLINELOG/group_1.551.1137263455SYSorclALTERSYSTEMCHECKPOINT;System altered.SYSorclALTERDATABASEDROPLOGFILEGROUP1;Databasealtered.SYSorclALTERDATABASEADDLOGFILEGROUP1(DATAC1)SIZE2G;Databasealtered.SYSorclselectgroup#, bytes, status from v$log;GROUP# BYTES STATUS---------- ---------- ----------------12147483648UNUSED22147483648CURRENT32147483648UNUSED