视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Oracle重建联机日志
2020-11-09 11:52:44 责编:小采
文档

一个重做日志组可以包括一个或多个日志成员,这多个成员应该放再不同的磁盘上,作为磁盘日志镜像,同一组的成员的内容是一样的,

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

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

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

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

下载本文
显示全文
专题