这篇文章给大家分享的是有关Oracle如何维护online redo log的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
维护在线redo log
Oracle Database - Enterprise Edition - Version 11.2.0.4 to 11.2.0.4
1. 首先查看当前redo log的大小:
[oracle@oracle ~]$ sqlplus / as sysdba
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
SQL> select group#, bytes, status from v$log;
GROUP# BYTES STATUS
---------- ---------- ----------------
1 52428800 CURRENT
2 52428800 INACTIVE
3 52428800 INACTIVE
当前redo log 是50M,现在扩展到100M
2. 查看所有的在线日子组成员
SQL> select group#, member from v$logfile;
GROUP# MEMBER
---------- --------------------------------------------------
3 /oracle/oradata/orcl/redo03.log
2 /oracle/oradata/orcl/redo02.log
1 /oracle/oradata/orcl/redo01.log
3. 新增加group# 4/5/6大小为100M的redolog
SQL> alter database add logfile group 4
'/oracle/oradata/orcl/log4PROD.dbf' size 100M;
SQL> alter database add logfile group 5
'/oracle/oradata/orcl/log5PROD.dbf' size 100M;
SQL> alter database add logfile group 6
'/oracle/oradata/orcl/log6PROD.dbf' size 100M;
4. 查询当前所有redo log的状态:
SQL> select group#, status from v$log;
GROUP# STATUS
---------- ----------------
1 CURRENT
2 INACTIVE
3 INACTIVE
4 UNUSED
5 UNUSED
6 UNUSED
当前redolog状态,group 1是当前的在线日志组,group2、3为inactive,我们要删除的是50M的group 1、2、3
group 1 是当前在线日志组,不可以删除,目前可以删除inactive的group 2、3
SQL> alter database drop logfile group 2;
Database altered.
SQL> alter database drop logfile group 3;
Database altered.
5. 多次switch log切换日志,直至group 1为inactive状态,:
SQL> alter system checkpoint;
System altered.
SQL> alter system switch logfile;
System altered.
SQL> select group#, status from v$log;
GROUP# STATUS
---------- ----------------
1 INACTIVE
4 UNUSED
5 UNUSED
6 UNUSED
SQL> alter database drop logfile group 1;
Database altered.
注:如果checkpoint,还是不能切换到inactive,那就做几次全局checkpoint
SQL> alter system checkpoint global;
System altered
6.再次查看在线日志所有状态:
SQL> select group#, bytes, status from v$log;
GROUP# BYTES STATUS
---------- ---------- ----------------
4 104857600 INACTIVE
5 104857600 CURRENT
6 104857600 UNUSED
9. 操作系统层面删除旧的redolog
[oracle@oracle orcl]$rm /oracle/oradata/orcl/redo01.log
[oracle@oracle orcl]$rm /oracle/oradata/orcl/redo02.log
[oracle@oracle orcl]$rm /oracle/oradata/orcl/redo03.log
10.删除redo log 最好做一次数据库的备份,维护reodlog的时候最好在业务低峰的时候操作
感谢各位的阅读!关于“Oracle如何维护online redo log”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。