修改Redo LogFile大小
						
				
		
		
				
						
						
				 
		
				
						
						
				 
		
				
						
								    最近在把DATABASE切换到ARCHIVELOG模式之后,发现Oracle默认的是非自动归档,即LOG_ARCHIVE_START = FALSE,
						
						
								可能是
						
						
								因为当前测试的数据库是手工创建的,所以有些启动参数和用DBCA创建的不太一致。
						
				
		
		
				
				 
		
				
						    另外自己创建的重做日志文件也都比较小,只有3个2M的文件,直接执行一个脚本就把所有重做日志写满了,又没有设置自动归档,所以整个系统都hang住了,都在等待日志归档,clear了也不行,就只能增加logfile了。
				
		
		
				
						
						
				 
		
				
						    alter.log日志信息:
				
		
		
				
						
						
				 
		
				
						    Mon Dec 15 14:38:08 2008
    Thread 1 advanced to log sequence 155
      Current log# 2 seq# 155 mem# 0: D:\ORACLE\ORADATA\KAKA\REDO02.LOG
    Thread 1 advanced to log sequence 156
      Current log# 3 seq# 156 mem# 0: D:\ORACLE\ORADATA\KAKA\REDO03.LOG
    Thread 1 cannot allocate new log, sequence 157
    All online logs needed archiving
      Current log# 3 seq# 156 mem# 0: D:\ORACLE\ORADATA\KAKA\REDO03.LOG
				
		
		
				
						
						
				 
		
				
						
						
				 
		
				
						    LogFile不能像DataFile那样直接通过alter database datafile ... resize 来重置大小,所以比较麻烦。
				
		
		
				
						
						
				 
		
				
						
								    在网上查了一下,找到N多年前biti老大给的方法,步骤应该很清楚了,前提是要用ARCHIVELOG模式,否则删除旧日志后无备份信息。
				
		
		
				
						
						
				 
		
				
						
						
				 
		
				
				 
		
				方法:加入新的大的日志文件,然后删掉旧的小的日志文件
假设现有3个日志组,每个组内有1个成员,每个成员的大小为1MB,现在想把此3个日志组的成员大小都改为10MB 
1、创建2个新的日志组
		
		
				
				alter database add logfile group 4 ('D:\ORACLE\ORADATA\ORADB\REDO04_1.LOG') size 1024k;
alter database add logfile group 5 ('D:\ORACLE\ORADATA\ORADB\REDO05_1.LOG') size 1024k;
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、操作系统下删除原日志组1、2、3中的文件
		
		
				
				5、重建日志组1、2、3
		
		
				
				alter database add logfile group 1 ('D:\ORACLE\ORADATA\ORADB\REDO01_1.LOG') size 10M;
alter database add logfile group 2 ('D:\ORACLE\ORADATA\ORADB\REDO02_1.LOG') size 10M;
alter database add logfile group 3 ('D:\ORACLE\ORADATA\ORADB\REDO03_1.LOG') size 10M;
6、切换日志组
		
		
				
				alter system switch logfile;
alter system switch logfile;
alter system switch logfile;
7、删除中间过渡用的日志组4、5
		
		
				
				alter database drop logfile group 4;
alter database drop logfile group 5;
8、到操作系统下删除原日志组4、5中的文件
		
		
				
				
				9、备份当前的最新的控制文件
		
		
				
				
						SQL> alter database backup controlfile to trace resetlogs;