oracle 重做日志
原创转载请注明出处
重做日志:记录数据库数据的变化(DDL,DML)
重做日志组:由一个或者多个完全一样的重做日志文件组成,如果一个日志组有多个日志文件,后台进程LGWR会把事务变化写到同一个日志组的多个文件中。
每个数据库最少包括2个日志组,日志组可以循环使用。
重做日志成员:日志组的每个文件都称为日志成员。
工作原理:当用户执行DDL或者DML操作的时候,Oracle进程会把操作记录(重做记录)写到重做日志高速缓冲区中,最后有后台进程LGWR写到重做日志中。
LGWR在以下情况会进行写入操作
提交事务
每隔3秒(默认)
重做日志缓冲区1/3写满
DBWR进程将脏数据写到数据文件之前
增加日志:为了提高安全性和性能数据库管理员应该增加重做日志。
T-SQL:查询
SQL> select thread#,instance,groups from v$thread;
THREAD# INSTANCE GROUPS
---------- -------------------------------------------------------------------------------- ----------
1 orcl 3
SQL> select * from v$logfile;
GROUP# STATUS TYPE MEMBER IS_
---------- ------- ------- ---------------------------------------- ---
3 ONLINE /home/oracle_11/app/oradata/orcl/redo03. NO
log
2 ONLINE /home/oracle_11/app/oradata/orcl/redo02. NO
log
1 ONLINE /home/oracle_11/app/oradata/orcl/redo01. NO
log
1 INVALID ONLINE /home/oracle_11/app/oradata/orcl/redoC1. NO
log
GROUP# STATUS TYPE MEMBER IS_
---------- ------- ------- ---------------------------------------- ---
SQL> select group#,sequence#,members,status from v$log;
GROUP# SEQUENCE# MEMBERS STATUS
---------- ---------- ---------- ----------------
1 16 2 INACTIVE
2 17 1 INACTIVE
3 18 1 CURRENT
切换日志:alter system switch logfile;
添加日志组:ALTER DATABASE ADD LOGFILE '/home/oracle_11/app/oradata/orcl/redo04.log'
size 20M --(会自动创建一个日志组)
ALTER DATABASE ADD LOGFILE group 4 '/home/oracle_11/app/oradata/orcl/redo04.log' SIZE 20M
添加日志成员:ALTER DATABASE ADD LOGFILE member '/home/oracle_11/app/oradata/orcl/redoB1.log' to GROUP 1, '/home/oracle_11/app/oradata/orcl/redoB2.log' TO GROUP 2;
删除日志组成员: ALTER DATABASE DROP LOGFILE member '/home/oracle_11/app/oradata/orcl/redoB2.log' --(不能删除当前日志组的成员 不然会出错)
删除日志组:ALTER DATABASE DROP LOGFILE GROUP 2 --(不能删除当前日志组的成员 不然会出错)
移动日志:host cp /home/oracle_11/app/oradata/orcl/redoB1.log /home/oracle_11/app/oradata/orcl/redoC1.log
ALTER DATABASE RENAME FILE '/home/oracle_11/app/oradata/orcl/redoB1.log' TO '/home/oracle_11/app/oradata/orcl/redoC1.log'
host rm /home/oracle_11/app/oradata/orcl/redoB1.log;
oracle 重做日志的更多相关文章
- Oracle重做日志恢复数据模拟实验
一 系统环境: 1.操作系统:oracle Linux 5.6 2.数据库: Oracle 11g 二 Oracle 重做日志的作用: [模拟介质恢复] 1. 关闭数据库归档模式: [oracle@t ...
- Oracle重做日志文件
一.联机重做日志的规划管理 1.联机重做日志 记录了数据的所有变化(DML,DDL或管理员对数据所作的结构性更改等) 提供恢复机制(对于意外删除或宕机利用日志文件实现数据恢复) 可以被分组管理 11 ...
- oracle重做日志文件硬盘坏掉解决方法
rman target/ list backup; list backup summary; 删除数据库数据文件夹下的log日志,例如/u01/app/oracle/oradata/ORCL下的所有后 ...
- 初识oracle重做日志文件
转自 http://blog.csdn.net/indexman/article/details/7746948 以下易容翻译自oracle dba官方文档,不足之处还望指出. 管理重做日志文件 学习 ...
- Oracle重做日志REDO
什么是重做? 重做日志包含所有数据产生的历史改变记录. 重做日志目的是保证数据的安全,如果数据因特殊原因没有写到磁盘上,可以通过重做日志来恢复. 重做日志文件通常用于 恢复(实例恢复和介质恢复) 日志 ...
- ORACLE重做日志小结
1.Redo log特点 重做日志以磁盘I/O为主,将数据库操作记录到日志文件.(磁盘I\O性能有可能成为瓶颈) 每个实例只有一个活动的LGWR(log writer)进程,至少有两个日志组(logf ...
- Oracle重做日志和日志挖掘
重做日志-Redo log 首先给出参考资料: 1.Oracle官网-Managing the Redo Log 为什么需要redo log 内存中数据修改后,不必立即更新到磁盘---效率 由日志完成 ...
- 修改oracle重做日志文件大小
创建3个新的日志组 SQL> ALTER DATABASE ADD LOGFILE GROUP 4 ('/u01/app/oracle/oradata/orcl/redo06.log') SIZ ...
- ORACLE - 管理重做日志文件
ORACLE重做日志文件用于在数据库崩溃等情况下用于恢复数据,默认情况下为三个文件redo01.log/redo02.log/redo03.log,文件组循环使用,在录入与更新操作比较多的应用中,日志 ...
随机推荐
- Linux下MySQL的数据文件存放在哪里的
mysql> show variables like '%dir%';+-----------------------------------------+------------------- ...
- [转] 更新Flash CS6发布设置的目标播放器版本
目前Aodbe发布的最新版的Flash CS6,都不支持将Flash Player 11作为目标播放器版本发布.这个问题很容易解决,但涉及到的东西却比较多,我在这里将一一讲解.首先来个Setp by ...
- ubantu在登录界面一致循环的问题
1.进入非图形化界面:在登录界面同时按下ctrl+alt+f1(有的需要同时按下ctrl+alt+f1+fn) 2.:输入你的账户名回车 *注意;这里是帐户名,而不是密码 3.:输入你的密码回 ...
- 【转】 Pro Android学习笔记(七十):HTTP服务(4):SOAP/JSON/XML、异常
目录(?)[-] SOAP JSON和XMLPullParser Exception处理 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件,转载须注明出处:http://blog. ...
- Code:目录
ylbtech-Code:目录 1.返回顶部 1. https://github.com/ 2.返回顶部 1. https://gitee.com 2. 3.返回顶部 4.返回顶部 5.返 ...
- linux日常管理-screen
假如一个任务要执行好几天,为了防止中途中断的情况, 在让后台运行的命令后面加一个 nohup会生成一个 .nohup.out文件,会搜集在运行过程中所产生的日志. 比直接后台运行任务的好处是,万一断电 ...
- 判断页面是在pc端打开还是在移动端打开
在项目开发中会遇到在不同的设备中打开页面是不同的,比如: 我在手机中打开一个网站和pc打开一个网站,页面是不同的 具体实施如下 //判断打开网站的终端 var ua = window.navigato ...
- Java探索之旅(12)——equals方法及其覆盖
1.Object中的equals方法 java中的的基本数据类型:byte,short,char,int,long,float,double,boolean.==比较的是值. ❶作用:对于复合类型来说 ...
- JDBC操作MySQL(crud)
这两天复习了一下JDBC操作MySQL,把crud操作的例子记一下, 类库链接(mysql-connector-java-5.1.37-bin.jar):http://files.cnblogs.co ...
- macOS 安装 Docker
系统要求 Docker for Mac 要求系统最低为 macOS 10.10.3 Yosemite,或者 2010 年以后的 Mac 机型,准确说是带 Intel MMU 虚拟化的,最低 4GB 内 ...