`
javasalatu
  • 浏览: 756814 次
  • 性别: Icon_minigender_2
  • 来自: 北京
博客专栏
96df99eb-e89d-3228-9c8e-967fc745ec52
程序员的自我经营之道
浏览量:7821
文章分类
社区版块
存档分类
最新评论

oracle 重建联机日志

 
阅读更多

本文参考http://hi.baidu.com/yjxandy/blog/item/6f26ea1723bf1805c83d6d4a.html

经本人实际验证成功。


一个重做日志组可以包括一个或多个日志成员,这多个成员应该放再不同的磁盘上,作为磁盘日志镜像,同一组的成员的内容是一样的,目的是防止某个磁盘失败造成联机日志的全部丢失。如果没有多个磁盘,没有必要为重做日志组建立多个日志成员。

联机日志的特点是:当一组都写满时开始归档,使用下一日志组,当日志组都写满又轮回到第一日志组时,如果第一日志组归档完毕就覆盖它,若没有就只能使用日志缓冲区等待归档完毕之后才能使用它。

如果归档很慢而且日志文件很大时你可以提前强制归档:


ALTER SYSTEM SWITCH LOGFILE;
归档日志用于rman恢复,如果不做rman恢复,不需要保存日志,可以直接删除。
启动或关闭归档
启动数据库到mount状态
startup mount
如果要启用归档模式,此处使用
〉alter database archivelog 命令
如果需要停止归档模式,此处使用:
〉alter database noarchivelog 命令。

为避免频繁切换日志文件,可以增加日志文件大小,默认为1M
1. 进入sqlplus
2. ALTER DATABASE ADD LOGFILE GROUP 4 ('/oracle/dbs/log1c.rdo') SIZE 10m;
也可以不指定路径:alter database add logfile group 4 size 30m;
3. 路径你自己指定(/oracle/dbs/redo4a.log', '/oracle/dbs/redo5a.rdo)
4.查看 select * from v$log; 察看日志组状态
Select * from v$logfile; 察看日志组成员文件

设置联机重做日志的大小,使得至少大约15分钟切换一次,这个值开始可能很难估计。

如何修改在线重做日志文件大小
方法
加入新的大的日志文件,然后删掉旧的小的日志文件
假设现有三个日志组,每个组内有一个成员,每个成员的大小为1MB,现在想把此三个日志组的成员大小都改为10MB
1、创建2个新的日志组
SQL> alter database add logfile group 4('/oracle/oradata/orcl/redo04.rdo') size 10m;
SQL> alter database add logfile group 5('/oracle/oradata/orcl/redo05.rdo') size 10m;
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中的文件
rm /oracle/oradata/orcl/redo01.rdo
rm /oracle/oradata/orcl/redo01.rdo
rm /oracle/oradata/orcl/redo01.rdo
5、重建日志组1、2、3
alter database add logfile group 1('/oracle/oradata/orcl/redo01.rdo') size 10m;
alter database add logfile group 2('/oracle/oradata/orcl/redo02.rdo') size 10m;
alter database add logfile group 3('/oracle/oradata/orcl/redo03.rdo') size 10m;
6、切换日志组
alter system switch logfile;
alter system switch logfile;
alter system switch logfile;
7、删除中间过渡用的日志组4
alter database drop logfile group 4;
alter database drop logfile group 5;
错误:
SQL> alter database drop logfile group 4;
alter database drop logfile group 4
*
ERROR at line 1:
ORA-01624: log 4needed for crash recovery of instance orcl (thread 1)
ORA-00312: online log 4thread 1: '/oracle/oradata/orcl/redo04.rdo'
解决:
先查看要删除的日志组的状态: select * from v$log
当日志组状态为active,或current状态时不能删除日志组,需切换日志。
8、到操作系统下删除原日志组4中的文件
9、备份当前的最新的控制文件
SQL> connect internal
SQL> alter database backup controlfile to trace resetlogs

分享到:
评论

相关推荐

    基于Oracle的日志分析器.pdf

    Oracle的联机重做日志(Online Redo Log)是其核心的日志机制,包含一组文件,记录了事务的每一个改变。每个数据库至少需要两个重做日志组,每个组内至少有两个成员,形成镜像,以确保高可用性和数据安全性。当一个...

    Oracle的错误集合

    对于非当前联机日志的损坏,可以通过`ALTER DATABASE CLEAR LOGFILE GROUP`命令来重建。如果日志文件已归档,需使用`UNARCHIVED`关键字,即`ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP`。但在处理当前联机日志...

    oracle遇到的问题汇总[参照].pdf

    **背景**:在Oracle数据库运行过程中,联机日志文件可能出现丢失或损坏的情况,这会影响到数据库的正常工作。 **分类及处理方法**: 1. **非当前联机日志文件丢失或损坏**: - **识别问题**:启动数据库时出现ORA...

    断电后,oracle数据库启动不了

    4. 联机redo日志丢失:如果联机redo日志丢失,Oracle无法完成日志切换,数据库可能无法启动。在这种情况下,需要从备份中恢复丢失的日志,或者在数据库关闭状态下复制备份的redo日志文件。 5. 参数文件问题:参数...

    Oracle数据库启动和关闭方式

    一、Oracle数据库几种启动方式  1、startup nomount ...  执行“nomount”,然后打开控制文件,确认数据文件和联机日志文件的位置,但此时不对数据文件和日志文件进行校验检查。  3、startup open

    Oracle9i第13章数据库恢复.ppt

    前滚阶段,Oracle会应用必要的归档和联机日志文件,重新执行已提交但尚未记录在当前数据库状态中的事务。这一阶段确保所有已完成的操作都被应用。而后滚阶段,则是撤销在系统崩溃时未完成事务所做的数据库更改,利用...

    oracle备份与恢复

    1. 冷备份:在数据库关闭时进行,备份所有数据文件、控制文件、联机日志文件和初始化参数文件。这种方式简单可靠,但会导致数据库服务中断。 2. 热备份:在数据库运行且启用归档模式下进行,能够备份数据文件和控制...

    Oracle9i DBA Fundamentals II中文版

    此外,RMAN还支持联机日志的归档,这对于实现不同级别的恢复目标至关重要。 在Oracle9i中,理解归档模式和非归档模式的区别也非常重要。归档模式下,每次事务提交都会生成一个新的归档日志,这使得能够进行时间点...

    Oracle恢复流程图

    在Oracle中,恢复流程通常涉及多个步骤,包括启动、检查数据库状态、恢复数据文件和日志文件,以及重新组织数据库结构。以下是对Oracle恢复流程图的详细解释: 1. **Startup Mount**: 在Oracle数据库恢复开始时,...

    原创Oracle 物理删除数据文件恢复 危机演练

    通过`RECOVER DATAFILE`命令,配合归档日志和联机redo日志,重做丢失的数据。 5. **手动恢复**:在没有备份和闪回选项的情况下,可能需要依赖操作系统层面的文件恢复工具,或者在其他数据库实例上执行导入导出操作...

    Oracle期末试题

    Oracle数据库中至少需要两个联机重做日志文件组,这样在一组日志文件写满后,可以切换到另一组继续记录,保证系统的连续运行。 - **答案**: B (2) 3. **Oracle实例的组成部分** - **知识点**: Oracle实例的构成 ...

    oracle恢复手册

    - 对于非当前联机日志的损坏,可以使用`ALTER DATABASE CLEAR LOGFILE GROUP`命令重建。 - 如果是当前联机日志损坏,处理方式取决于是否有未提交的事务。在归档模式下,如果日志中无未提交事务,可直接重建;如果...

    Oracle数据库管理员技术指南

    4.19 将联机重做日志和归档重做日志文件 分开 4.20 如何加速实例的恢复 4.21 回顾 第5章 使用热备用数据库 5.1 什么是失败切换 5.2 热备用数据库 5.2.1 热备用数据库的优点 5.2.2 热备用数据库的缺点 5.2.3...

    oracle恢复原理

    实例恢复必须在联机数据文件上进行,并使用联机重做日志,这个过程在数据库下次启动时自动执行,无需用户干预。 介质失败涉及数据库文件的丢失,这需要更复杂的恢复步骤,可能需要使用归档重做日志。Oracle的恢复...

    Oracle 8i备份与恢复

    - **联机重做日志**:管理联机重做日志,确保有足够的日志文件,并定期切换以支持备份。 - **归档重做日志**:管理归档重做日志,确保日志文件安全保存,以便在需要时进行恢复。 **2.2 管理控制文件** 控制文件是...

Global site tag (gtag.js) - Google Analytics