今天在看《剑破冰山》这本书,有一个logfile switch 等待的问题,书上提到有两种解决问题方法,1.增加dbw进程数2.增大日志文件大小,对于第一种方法只需要更改一下参数这里不进行介绍,我主要介绍日志的一些操作及原则,当然了这些信息主要对参照网上的信息和自己的一些实际操作。1.增大日志文件大小,我是通过新创建大的日志组然后进行切换实现的a.创建新的日志组alter database add logfile group 4 ("/u01/Oracle/product/10.0.2/oradata/ORCL/redo41.log") size 100m;alter database add logfile group 5 ("/u01/oracle/product/10.0.2/oradata/ORCL/redo51.log") size 100m;alter database add logfile group 6 ("/u01/oracle/product/10.0.2/oradata/ORCL/redo61.log") size 100m;2.切换日志到新建的日志组alter system switch logfile;3.查看日志状态select * from v$log;注意:只有status为inactive并且archived 为YES时方可删除日志组(这个的意思为该重做日志己经归档,否则会报ora-01624)4.删除日志组alter database drop logfile group 1;5.操作系统级别删除数据文件(我的系统是RedHat5)rm -rf redo01.log6.增加日志成员(最好把成员放到不同的磁盘上做到多功,避免一个组的日志文件全部损坏数据库宕机)alter database add logfile member "/u01/oracle/product/10.0.2/oradata/ORCL/redo42.log" to group 4;alter database add logfile member "/u01/oracle/product/10.0.2/oradata/ORCL/redo52.log" to group 5;alter database add logfile member "/u01/oracle/product/10.0.2/oradata/ORCL/redo42.log" to group 3;7.删除日志组成员alter database drop logfile member "/u01/oracle/product/10.0.2/oradata/ORCL/redo42.log";下面介绍关于日志一些原则:
原则:删除前必须遵守如下原则,每个实例必须至少有两个日志组;当一个组处于ACTIVE或者CURRENT的状态时不可删除;删除日志组的操作只对数据库进行更改,操作系统的文件尚未删除;当删除时适用DROP LOGFILE GROUP N语句时,此时GROUP N内的所有成员都将被删除。ALTER DATABASE DROP LOGFILE GROUP N;删除日志成员的原则:当你删除一个是该组中最后一个成员的时候,你不能删除此成员;当组的转台处于current的状态时,不能删除组成员;在归档模式下,必须得归档之后才能删除;删除日志组成员的操作只对数据库进行更改,操作系统的文件尚未删除ALTER DATABASE DROP LOGFILE MEMBER "/LOCATION_DUST/REDO0N_N.LOG";db2 delete 大表不写日志方法DB2与Oracle数据库的区别与联系相关资讯 Oracle教程
- Oracle中纯数字的varchar2类型和 (07/29/2015 07:20:43)
- Oracle教程:Oracle中查看DBLink密 (07/29/2015 07:16:55)
- [Oracle] SQL*Loader 详细使用教程 (08/11/2013 21:30:36)
| - Oracle教程:Oracle中kill死锁进程 (07/29/2015 07:18:28)
- Oracle教程:ORA-25153 临时表空间 (07/29/2015 07:13:37)
- Oracle教程之管理安全和资源 (04/08/2013 11:39:32)
|
本文评论 查看全部评论 (0)