网站首页 > 技术文章 正文
概述
一般我们一开始在创建数据库的时候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
status 有几个值分别是:
- unused(还没有使用过);
- current(正在使用);
- active(Log isactive but is not the current log. It is needed for crash recovery)
- inactive(Log is nolonger needed for instance recovery),
查看日志文件
select * from v$logfile ;
实验--调整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;
2、切换当前日志到新的日志组
alter system switch logfile; 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;
查看日志组的状态看一下哪个是当前组,哪个是inactive状态的。删除掉inactive的那个组。如果状态为current和active 在删除的时候会报错。有时刚切换日志组,之前的进程还在占用状态,会导致之前的日志组状态还是active,可以重启数据库或设置检查点来修改状态。
4、操作系统下删除原日志组1、2、3中的文件
注意:每一步删除drop操作,都需要手工删除操作系统中的实体文件。
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中的文件
9、备份当前的最新的控制文件
//trace 备份控制文件 SQL> alter database backup controlfile to trace as '/home/oracle/ctl';
这里以理解为主,如果大家对DBA方面有兴趣的话这个是必须掌握的,建议大家自己测试一下走一遍流程,也就十几分钟~
后面会分享更多DBA方面的内容,感兴趣的朋友可以关注一下~
猜你喜欢
- 2024-11-05 Graylog日志管理 glog日志库
- 2024-11-05 如何定义日志消息的级别?详解日志的5个级别
- 2024-11-05 Metadata(Ordered) Journaling日志文件系统
- 2024-11-05 PostgreSQL WAL日志详解 poster是什么意思中文
- 2024-11-05 运行`sh startup.sh -m standalone`命令后,如何查看启动日志?
- 2024-11-05 ORACLE DG 日志传输的停止与恢复 oracle 12c crsd日志
- 2024-11-05 Oracle 参数 ENABLE_DDL_LOGGING oracle 参数调优
- 2024-11-05 linux定时自动清理日志文件 linux定时自动清理日志文件怎么删除
- 2024-11-05 如何确定重做日志组的个数 日志记录重做和回滚
- 2024-11-05 老王,怎么完整SQL的显示日志 sql 日志查询
你 发表评论:
欢迎- 620℃几个Oracle空值处理函数 oracle处理null值的函数
- 612℃Oracle分析函数之Lag和Lead()使用
- 601℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 597℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 593℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 585℃【数据统计分析】详解Oracle分组函数之CUBE
- 574℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 563℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)