oracle重启 日志_详解Oracle数据库如何更改redo log大小or增加redo log组

概述

一般我们一开始在创建数据库的时候redo log默认是50M,很明显是不够的,这时候如果不调整就很容易发生checkpoint not complete之类的 报错,所以比较建议大家去调整下redo log的大小,下面先看一下常用命令,然后在演示下怎么调整redo log大小!

常用命令

1、切换日志组

SQL> alter system switch logfile;

2、查看日志组

SQL> select * from v$log;

3、查看日志文件

SQL> select * from v$logfile;

(1)redo log的大小可以影响 DBWR 和 checkpoint ;

(2)arger redo log files provide better performance. Undersized logfiles increase checkpoint activity and reduce performance.

大的log file可以提供更好的性能,小的logfile 会增加checkpoint 和降低性能;

(3) A rough guide is to switch log files at most once every 20 minutes.(推荐日志切换的时间不要超多20分钟).


查看redolog

select * from v$log ;

通过查看 有三组redolog 1/2/3每组两个成员状态都正常大小50m

5de789a35cb4cdea284f8d6f2699a487.png

status 有几个值分别是:

  1. unused(还没有使用过);
  2. current(正在使用);
  3. active(Log isactive but is not the current log. It is needed for crash recovery)
  4. inactive(Log is nolonger needed for instance recovery),

查看日志文件

select * from v$logfile ;
b4ee304859bd4cb4dc7067a76618cae2.png

实验--调整redo log

由于ORACLE并没有提供类似RESIZE的参数来重新调整REDO LOG FILE的大小,因此只能先把这个文件删除了,然后再重建。又由于ORACLE要求最少有两组日志文件在用,所以不能直接删除,必须要创建中间过渡的REDO LOG日志组。

1、创建3个新的日志组

ALTER DATABASE ADD LOGFILE GROUP 4 ('/u01/app/oracle/oradata/orcl/redo04a.log','/u01/app/oracle/oradata/orcl/redo04b.log') SIZE 80M;ALTER DATABASE ADD LOGFILE GROUP 5 ('/u01/app/oracle/oradata/orcl/redo05a.log','/u01/app/oracle/oradata/orcl/redo05b.log') SIZE 80M;ALTER DATABASE ADD LOGFILE GROUP 6 ('/u01/app/oracle/oradata/orcl/redo06a.log','/u01/app/oracle/oradata/orcl/redo06b.log') SIZE 80M;
fcbf44d958989329ca5bd5f713259900.png

2、切换当前日志到新的日志组

alter system switch logfile;alter system switch logfile;alter system switch logfile;

3、删除旧的日志组

70b2ba0c6436de2504dab3d49322568e.png
alter database drop logfile group 1;alter database drop logfile group 2;alter database drop logfile group 3;

查看日志组的状态看一下哪个是当前组,哪个是inactive状态的。删除掉inactive的那个组。如果状态为current和active 在删除的时候会报错。有时刚切换日志组,之前的进程还在占用状态,会导致之前的日志组状态还是active,可以重启数据库或设置检查点来修改状态。

4、操作系统下删除原日志组1、2、3中的文件

注意:每一步删除drop操作,都需要手工删除操作系统中的实体文件。

3b41c7b7656471f72ce250f9cac3eb88.png

5、重建日志组1、2、3

ALTER DATABASE ADD LOGFILE GROUP 1 ('/u01/app/oracle/oradata/orcl/redo01a.log','/u01/app/oracle/oradata/orcl/redo01b.log') SIZE 80M;ALTER DATABASE ADD LOGFILE GROUP 2 ('/u01/app/oracle/oradata/orcl/redo02a.log','/u01/app/oracle/oradata/orcl/redo02b.log') SIZE 80M;ALTER DATABASE ADD LOGFILE GROUP 3 ('/u01/app/oracle/oradata/orcl/redo03a.log','/u01/app/oracle/oradata/orcl/redo03b.log') SIZE 80M;

6、切换日志组

alter system switch logfile; alter system switch logfile; alter system switch logfile;

7、删除中间过渡用的日志组4、5、6

alter database drop logfile group 4; alter database drop logfile group 5; alter database drop logfile group 6;

8、到操作系统下删除原日志组4、5、6中的文件

d39726bff4d1930685affe69610775c8.png

9、备份当前的最新的控制文件

//trace 备份控制文件SQL> alter database backup controlfile to trace as '/home/oracle/ctl';

这里以理解为主,如果大家对DBA方面有兴趣的话这个是必须掌握的,建议大家自己测试一下走一遍流程,也就十几分钟~

后面会分享更多DBA方面的内容,感兴趣的朋友可以关注一下~

69d76e0f12f9fb6019032dbe9dccada9.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值