oracle如何重做日志组
1、查询数据库中的重做日志组
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME
1 1 64 52428800 512 1 NO CURRENT 1522229 17-MAY-19 2.8147E+14
2 1 62 52428800 512 1 NO INACTIVE 1502072 16-MAY-19 1515210 17-MAY-19
3 1 63 52428800 512 1 NO INACTIVE 1515210 17-MAY-19 1522229 17-MAY-19
2、具体查看日志文件详情(位置)
SQL> select * from v$logfile;
GROUP# STATUS TYPE MEMBER IS_RECOVERY_DEST_FILE
3 ONLINE /u01/app/oraData/orcl/redo03.log NO
2 ONLINE /u01/app/oraData/orcl/redo02.log NO
1 ONLINE /u01/app/oraData/orcl/redo01.log NO
3、创建重做日志组
SQL> alter database add logfile ('/u01/app/oraData/orcl/hbk01.rdo','/u01/app/oraData/orcl/hbk02.rdo') size 5M;
Database altered.
SQL> select * from v$logfile;
GROUP# STATUS TYPE MEMBER IS_RECOVERY_DEST_FILE
3 ONLINE /u01/app/oraData/orcl/redo03.log NO
2 ONLINE /u01/app/oraData/orcl/redo02.log NO
1 ONLINE /u01/app/oraData/orcl/redo01.log NO
4 ONLINE /u01/app/oraData/orcl/hbk01.rdo NO
4 ONLINE /u01/app/oraData/orcl/hbk02.rdo NO
可以看到多了两个重做日志文件hbk01.rdo,hbk02.rdo,组的编号为4,查询v$log可以知道4号组的status为UNUSED,表示新建状态,未使用。
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME
1 1 64 52428800 512 1 NO CURRENT 1522229 17-MAY-19 2.8147E+14
2 1 62 52428800 512 1 NO INACTIVE 1502072 16-MAY-19 1515210 17-MAY-19
3 1 63 52428800 512 1 NO INACTIVE 1515210 17-MAY-19 1522229 17-MAY-19
4 1 0 5242880 512 2 YES UNUSED 0 0
可以看出我们创建重做日志组的编号默认系统产生
我们也可以知道组编号
SQL> alter database add logfile group 8 ('/u01/app/oraData/orcl/hbk10.rdo') size 5M;
Database altered.
SQL> select * from v$logfile;
GROUP# STATUS TYPE MEMBER IS_RECOVERY_DEST_FILE
4、删除重做日志组
删除重做日志组只是更新了控制文件,被删除的组所拥有的重做日志文件并没有从操作系统中删除,需要手工删除,而且只能删除状态是INAVTIVE的重做日志组,如果想删除当前(CURRENT)的重做日志组,必须手工切换,可以使用alter system switch logfile,而且每个数据库至少需要有两组重做日志组,因为要循环使用。
删除之前先查询下
SQL> select group#,status from v$log;
GROUP# STATUS
1 CURRENT
2 INACTIVE
3 INACTIVE
4 UNUSED
8 UNUSED
像组2和组3都可以删,而组1为当前使用,不能删,除非切换使用日志组。删除之前先记下文件位置,方便手动执行操作系统rm删除命令
alter database drop logfile group 2;
5、删除日志成员
需要注意的是,一个日志组中至少需要保留一个成员,而且只能删除状态不是ONLINE或CURRENT的日志成员。
SQL> select * from v$logfile;无锡正规妇科 http://www.xasgyy.net/
GROUP# STATUS TYPE MEMBER IS_RECOVERY_DEST_FILE
SQL> alter database drop logfile member '/u01/app/oraData/orcl/hbk10.rdo';
alter database drop logfile member '/u01/app/oraData/orcl/hbk10.rdo'
ERROR at line 1:
ORA-00362: member is required to form a valid logfile in group 8
ORA-01517: log member: '/u01/app/oraData/orcl/hbk10.rdo'
SQL> alter database drop logfile member '/u01/app/oraData/orcl/hbk8.rdo';
Database altered.
7、查看重做日志是否归档
SQL> select group#,status,archived from v$log;
GROUP# STATUS ARC
1 INACTIVE NO
2 INACTIVE NO
3 INACTIVE NO
4 INACTIVE NO
8 CURRENT NO
NO表示未归档,YES表示已归档。
因为我的没有开启归档模式,所以都显示NO
SQL> select name,log_mode from v$database;
NAME LOG_MODE
ORCL NOARCHIVELOG
oracle如何重做日志组的更多相关文章
- 【Oracle】恢复重做日志组
我们在Oracle的日常运维中,有可能会遇到重做日志组丢失的情况.下面我将模拟丢失不同状态的日志组,并分别给出解决办法: 重做日志有以下几种状态,如下: - CURRENT:此状态表示正在被 LGW ...
- Oracle RACDB 增加、删除 在线重做日志组
Oracle RACDB 增加.删除 在线重做日志组 select * from v$log;select * from v$logfile ; ----删除日志组:alter database dr ...
- Oracle丢失重做日志的几种场景恢复
实验环境:RHEL6.4 + Oracle 11.2.0.4 一.丢失重做日志组中成员 1.1 故障模拟 1.2 处理方法 1.3 实际处理过程 二.丢失重做日志组 2.1 丢失INACTIVE重做日 ...
- Oracle数据库重做日志及归档日志的工作原理说明
Oracle数据库重做日志及归档日志的工作原理: lgwr进程将redo log buffer中的重做数据写入到redo log中,此时的redo log分组,每当一个redo log group写满 ...
- Oracle 联机重做日志文件(ONLINE LOG FILE)
--========================================= -- Oracle 联机重做日志文件(ONLINE LOG FILE) --================== ...
- oracle redo 重做日志文件
以下易容翻译自oracle dba官方文档,不足之处还望指出. 管理重做日志文件 学习目标:1.解释重做日志文件的目的2.描述重做日志文件的结构3.学会控制日志切换与检查点4.多元化管理重做日志文件5 ...
- 数据库实例: STOREBOOK > 数据文件/退回字段/重做日志组|管理员
ylbtech-Oracle:数据库实例: STOREBOOK > 数据文件/退回字段/重做日志组|管理员 数据文件/退回字段/重做日志组|管理员 1. 数据库实例: STOREBOOK & ...
- ORACLE - 管理重做日志文件
ORACLE重做日志文件用于在数据库崩溃等情况下用于恢复数据,默认情况下为三个文件redo01.log/redo02.log/redo03.log,文件组循环使用,在录入与更新操作比较多的应用中,日志 ...
- 【REDO】删除REDO LOG重做日志组后需要手工删除对应的日志文件(转)
为保证重新创建的日志组成员可以成功创建,我们在删除日志组后需要手工删除对应的日志文件. 1.查看数据库当前REDO LOG日志相关信息1)查看日志组信息sys@ora10g> select * ...
随机推荐
- 我人生中的第一场Java面试
1.说起我的第一次Java面试,我不禁回想起我大学时参加校园招聘的那段日子,那时候我还是本科生,由于不是科班出身,只学过一点点Java皮毛,所以那时候对于找Java工作并没有什么概念,只是以为上过Ja ...
- 51Nod 1095 Anigram单词
熟练使用map即可,不然用vector会超时 #include <iostream> #include <cstring> #include <string> #i ...
- 题解报告:hihoCoder #1050 : 树中的最长路
描述 上回说到,小Ho得到了一棵二叉树玩具,这个玩具是由小球和木棍连接起来的,而在拆拼它的过程中,小Ho发现他不仅仅可以拼凑成一棵二叉树!还可以拼凑成一棵多叉树——好吧,其实就是更为平常的树而已. 但 ...
- magento性能分析插件
两个好用的插件: http://connect20.magentocommerce.com/community/MagnetoDebughttp://connect20.magentocommerce ...
- 18.3.1获得Class对象
package d18_3_1; /** * Java中的java.lang.Class,简单理解就是为每个java对象的类型标识的类, * 虚拟机使用运行时类型信息选择正确的执行方法,用来保存这些运 ...
- Spark-SQL连接Hive
第一步:修个Hive的配置文件hive-site.xml 添加如下属性,取消本地元数据服务: <property> <name>hive.metastore.local< ...
- P1482 Cantor表(升级版)
题目描述 现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的.他是用下面这一张表来证明这一命题的: 1/1 1/2 1/3 1/4 1/5 … 2/1 2/2 2/3 2/4 … ...
- C#: static关键字的作用(转)
C#: static关键字的作用 static意思是静态,可以修饰类.字段.属性.方法 标记为static的就不用创建实例对象调用了,可以通过类名直接点出来 static三种用法: 1.用于变量前 ...
- new几种用法
在 C# 中,new 关键字可用作运算符.修饰符或约束. new 运算符 用于创建对象和调用构造函数. new 修饰符 用于向基类成员隐藏继承成员. new 约束 用于在泛型声明中约束可能用作类型参数 ...
- 014、BOM与DOM对象的应用
Screen屏幕对象 Width:屏幕的宽度 Height:屏幕的高度 availWidth:屏幕的有效宽度(不含任务栏) availHeight:屏幕的有效高度(不含任务栏) colorDepth: ...