当前位置:  数据库>oracle

Oracle教程:重做日志文件基本维护

    来源: 互联网  发布时间:2017-04-27

    本文导语: 重做日志文件最重要的用途就是用来恢复数据(其实你也可以用来logminer),它记录着system global area(sga)当中的database buffer cache(高速缓存区)的所有变更信息,记录到log buffer;不过在某些特殊情况下比如sqlldr direct等直接写...

重做日志文件最重要的用途就是用来恢复数据(其实你也可以用来logminer),它记录着system global area(sga)当中的database buffer cache(高速缓存区)的所有变更信息,记录到log buffer;不过在某些特殊情况下比如sqlldr direct等直接写入操作例外,这些例外将不会被记录。因此,使用redo log在实例崩溃情况下来恢复尚未写入数据文件的的数据。
针对每个实例,只有一个写进程LGWR;重做日志文件建议至少两个组,每个组至少两个成员文件,同一个组内的成员之间是内容相同的副本拷贝,同组内的成员大小保持一致,当然建议所有的成员大小都一致,为了避免相关的LGWR等待影响数据库性能,一个比较有用的建议是将成员文件在物理磁盘上分散存放。
提到重做日志文件不得不提到重做日志缓存区log buffer,以及一个重要的进程LGWR日志写进程,该进程负责建log buffer的内容写入到redo logfile,具体的触发条件如下:
◆ 当发出commit命令的时候
◆ 当log buffer的空间写满到1/3的时候或者当log buffer的空间写满1MB的记录的时候
◆ 当每3秒钟超时的时候
◆ 当DBWn需要写入数据文件的操作之前的时候
◆ 当切换日志文件的时候
0. 查看日志文件
SELECT group#, sequence#, bytes, members, status  FROM v$log;--组号、序列号、大小、成员数量、状态【UNUSED-从未使用过;CURRENT-当前使用中;ACTIVE-活动的,进行恢复的使用将会被用到;INACTIVE-非活动的;CLEARING_CURRENT-正在清除当前日志文件中已经关闭的线程;CLEARING-类似的,在执行ALTER DATABASE CLEAR LOGFILE之后将被清空为空日志之后将转化为UNUSED】
select * from v$logfile;--状态【INVALID-该文件不可访问;STALE-该文件内容不完全,比如正在添加一个文件成员;DELETED-该文件不再被使用;空白-正在使用】
SELECT groups, current_group#, sequence# FROM v$thread;--组数量、当前组、序列号
1. 查看log buffer
show parameter log_buffer
伴随着重做日志而来的还有一个重要的信息,那就是是否将日志文件进行归档。数据库可以运行在归档模式(archivelog)和非归档模式(noarchivelog)下。
2. 查看归档模式
archive log list;
select log_mode from v$database;
select archiver from v$instance;
3. 归档方式切换
为了简单,这里使用Oracle 10g来演示。
SQL*Plus: Release 10.2.0.5.0 - Production on Tue May 8 15:49:39 2012

Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> archive log list;
Database log mode           No Archive Mode
Automatic archival           Disabled
Archive destination           /u01/oracle/10g/arch
Oldest online log sequence     158
Current log sequence           160
--目前未归档,我们要切换为归档,首先设置归档目录
SQL> alter system set log_archive_dest_1='location=/u01/oracle/10g/arch' scope=spfile;

System altered.
--关闭数据库
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
--启动实例mount状态
SQL> startup mount;    
ORACLE instance started.

Total System Global Area 1610612736 bytes
Fixed Size            2096632 bytes
Variable Size          469762568 bytes
Database Buffers     1124073472 bytes
Redo Buffers           14680064 bytes
Database mounted.
--打开归档模式
SQL> alter database archivelog;

Database altered.
--打开数据库
SQL> alter database open;

Database altered.
--检查归档模式
SQL> archive log list;
Database log mode           Archive Mode
Automatic archival           Enabled
Archive destination           /u01/oracle/10g/arch
Oldest online log sequence     158
Next log sequence to archive   160
Current log sequence           160

--手工切换日志文件
SQL> archive log list;
Database log mode           Archive Mode
Automatic archival           Enabled
Archive destination           /u01/oracle/10g/arch
Oldest online log sequence     159
Next log sequence to archive   161
Current log sequence           161
SQL> alter system switch logfile;

System altered.

SQL> archive log list;
Database log mode           Archive Mode
Automatic archival           Enabled
Archive destination           /u01/oracle/10g/arch
Oldest online log sequence     160
Next log sequence to archive   162
Current log sequence           162

SQL> alter system archive log current;

System altered.

SQL> archive log list;
Database log mode           Archive Mode
Automatic archival           Enabled
Archive destination           /u01/oracle/10g/arch
Oldest online log sequence     161
Next log sequence to archive   163
Current log sequence           163


--切换为非归档模式
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.

Total System Global Area 1610612736 bytes
Fixed Size            2096632 bytes
Variable Size          469762568 bytes
Database Buffers     1124073472 bytes
Redo Buffers           14680064 bytes
Database mounted.
SQL> alter database noarchivelog;

Database altered.

SQL> alter database open;

Database altered.

SQL> archive log list;
Database log mode           No Archive Mode
Automatic archival           Disabled
Archive destination           /u01/oracle/10g/arch
Oldest online log sequence     158
Current log sequence           160




































































































































    
 
 

您可能感兴趣的文章:

  • 有做linux+oracle的维护的麽?
  • ■帮一个朋友维护网站,oracle运行半小时就自动锁死,用top发现是其狂吃内存,直到吃完为止。怎么办啊
  • Oracle密码文件的使用和维护第1/3页
  • Oracle数据库密码文件的使用与维护
  • 如何用不算很熟练的jsp,oracle,javascript,html,css等建设动态网站,要网页打开速度快、易于日常维护更新?
  • Oracle数据库密码文件的使用和维护
  • Oracle DBA数据库日常维护完全手册
  • Oracle管理与维护.配置文件的简要分析
  • 使用Linux的Shell脚本维护Oracle
  • DBA_Oracle Startup / Shutdown启动和关闭过程详解(概念)(对数据库进行各种维护操作)
  • Oracle数据库密码文件的使用和维护
  • Oracle数据库密码文件的使用与维护
  • Oracle数据库索引的维护
  • Linux平台下Oracle 密码文件重建
  • Oracle数据库访问参数文件的顺序
  • Oracle 对数据文件大小的限制
  • Oracle移动数据文件到新分区步骤分析
  • 在jsp文件中怎么设置oracle的路径:很简单的,只是因为我不会;
  • Oracle的spfile参数文件
  • linux下通过对文件读取方式查询oracle的版本信息
  • 求高手指点shell导入.dat文件到ORACLE数据库
  • jsp文件连接oracle失败
  • linux 安装 oracle 运行./runinstall 提示没有这个文件
  • oracle删除文件后数据库启动不了的处理方法
  • 请教:为什么删除不掉?我用超级用户删除某一文件夹rm -R oracle失败。
  • Oracle控制文件多元化处理
  • Oracle数据库逻辑备份的SH文件
  • 利用多个转储文件导出大量Oracle数据
  • 50分的题:如何给oracle减肥?在linux多目录的环境下查找体积最大的单个文件??
  • 用oracle pl/sql 从A unix机器,去读取B unix机器上的一个文件,怎么实现?
  • 读取oracle数据库表写文件慢
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle相关基础知识教程集锦
  • Oracle新手教程 手工创建数据库的全部脚本及说明
  • oracle与mysql的视频教程下载地址分享
  • VMware中linux环境下oracle安装图文教程(二)ORACLE 10.2.05版本的升级补丁安装
  • Oracle教程:浅析监听器安装/配置入门
  • 求ferdora15 上安装oracle11G详细教程
  • redhat 4中安装Oracle 10g图文教程
  • 全套OCP视频(Oracle认证专家)教程之一
  • [Oracle新手教程] 用PL/SQL画直方图
  • 基于Linux平台的Oracle RAC 10g集群教程:删除节点所需要的步骤
  • Oracle 11g2的监听器配置教程
  • ORACLE 10g 安装教程[图文]
  • Oracle教程 误添加数据文件删除方法
  • Oracle 存储过程教程
  • 基于Linux平台的Oracle RAC 10g集群教程:添加节点所需要的步骤
  • [Oracle] Data Guard CPU/PSU补丁安装详细教程
  • VMware中linux环境下oracle安装图文教程(一)
  • DBA 在Linux下安装Oracle Database11g数据库图文教程
  • [Oracle] CPU/PSU补丁安装详细教程
  • Linux系统(X64)安装Oracle11g完整安装图文教程另附基本操作
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,