`
lglovejava
  • 浏览: 33523 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

Oracle归档模式的命令及参数说明

阅读更多

Oracle数据库能运行在2种模式下:归档模式(archivelog)和非归档模式(noarchivelog)。归档模式能提高Oracle数据库的可恢复性,生产数据库都应该运行在此模式下,归档模式应该和相应的备份策略相结合,只有归档模式没有相应的备份策略只会带来麻烦。

检查归档模式命令:

 

SQL> archive log list Database log mode No Archive Mode Automatic archival Disabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 15 Current log sequence 17

设置归档模式:

 

SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount ORACLE instance started. Total System Global Area 1258291200 bytes Fixed Size 1219160 bytes Variable Size 318768552 bytes Database Buffers 922746880 bytes Redo Buffers 15556608 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 USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 15 Next log sequence to archive 17 Current log sequence 17

如果需要停止归档模式,使用:alter database noarchivelog 命令。Oracle10g之前,你还需要修改初始化参数使数据库处于自动归档模式。在pfile/spfile中设置如下参数:

 

log_archive_start = true

重启数据库此参数生效,此时数据库处于自动归档模式。也能在数据库启动过程中,手工执行:

 

archive log start

使数据库启用自动归档,不过重启后数据库仍然处于手工归档模式。10g使用db_recovery_file_dest来作为归档日志的存放地。

 

SQL> show parameter db_recovery NAME TYPE VALUE db_recovery_file_dest string /home/oracle/ora10g/flash_reco very_area/ db_recovery_file_dest_size big integer 20G

能修改db_recovery_file_dest_size参数的大小

 

alter system set db_recovery_file_dest_size=21474836480

一、

   重做日志文件把对数据文件的修改在写入数据文件之前记录下来。日志文件以一种循环的方式被写入信息。当一个日志组被写满时,回自动向另一个日志组写入。管理员可以手工切换当前日志组。alter system switch logfile 可以切换当前的日志组。当日志组发生切换时,oracle向新的重做日志组分配一个日志序列号。当存在大量的事务时必须调整重做日志文件的大小,以避免频繁的日志切换发生。重做日志文件被顺序的写在磁盘上,如果磁盘没有其他活动,I/O将会很快。应该把重做日志文件保存在单独的磁盘上,以获取良好的性能。尤其不要把经常处于活动状态的SYSTEM,UNDOTBS,SYSAUX的表空间或索引表空间文件保存到同一块磁盘上。因为只有在事务的请求被写到重做日志后,请求才能被完成。最大限度的提高重做日志的吞吐量是oracle性能优化首先考虑的因素。当发生重做日志切换而生成一个新的检查点时,DBWn就会写脏缓冲器块。这样会影响oracle的性能。可以通过fast_start_mttr_target初始化参数来调整检查点。

   每个数据库都有自己的联机重做日志组,一个联机重做日志组有多个重做日志成员,每个日志成员有单独的操作系统文件。在一个rac配置(这种配置中单个数据库装有多个实例),每个实例有一个联机重做日志线程,每个实例的lgwr进程都写到相同的联机重做日志文件。因此oracle必须跟踪数据库实例修改来自那个实例。

   当多路复用重做日志文件时,应该把一个组的成员保存在不同的磁盘上。以避免单点故障的发生。如果重做日志文件组的所有成员都无法写入数据,oracle将被挂起。Dba可以在创建数据库时创建多个联机重做日志文件的副本。

   对日志的操作如下:

  

   a. 创建新的重做日志组:

      Alter database add logfile

      Group 3 (/ora02/oradata/mydb01/redo0301.log,

      /ora03/oradata/mdb01/redo0302.log) size 10m;

      如果省略group子句oracle分配一个有效的编号如下

      Alter database add logfile

  

   b. 添加新的组成员

      alter database add logfile member

      /ora04/oradata/mydb01/redo0203.logto group 2;(向第二组中添加新的成员)

  

   c.重命名日志成员:

     在重命名日志组成员之前新的目标必须已经存在。Oraclesql命令只是把控制文件中的内部指针指向新的日志文件。Dba需要用操作系统命令来重命名此日志文件。步骤如下:

     1.关闭数据库

     2.使用操作系统命令重命名或移动日志文件

     3. 启动数据库实例(start mount),重命名控制文件中的日志文        件成员。Alter database rename file        old_redo_file_nametonew_redo_file_name;

     4.打开数据库 alter database open

     5.备份控制文件

   D.删除重做日志组:

      将要被删除的重做日志组不能是活动的日志组。Alter database drop logfile group 3;。当重做日志文件被删除后,相关的操作系统文件也被删除,相关的数据库控制文件也给更新。

   E.使用和删除重做日志组相同的方式,dba可以只删除一个非活动的重做日志组的成员。

      Alter database drop logfile member /ora04/oradata/mydb01/redo0203.log;

     

   f. 创建联机重做日志文件:

      当重做日志组成员遭到破坏时,可以删除并重新添加这个重做日志组或组成员。

   二、

     

档案重做日志文件:

   它是联机重做日志文件的一个副本。Lgwrarcn进程的故障都会引起数据库的挂起。只有当arcn进程把联机重做日志写到归档地后,才可以向此重做日志组成员写入数据。

   设置归档目的地:

   可以在参数初始化文件中的log_archive_dest_n来定义归档目的地。归档目的地可以在本地计算机上,也可在远程的数据库服务器上。定义语法如下:

    LOG_ARCHIVE_DEST_n= null_string|

    (service=tnsnames_name |

  LOCATION=directory_name)

  [MANDATORY | OPTIONAL]

  [REOPEN[=integer]]

  例1

  LOG_ARCHIVE_DEST_1=((LOCATION=/archive/MYDB01) MANDATORU REOPEN=60)定义归档日志的位置为/archive/MYDB01mandatory子句的定义向这个位置写日志的操作必须的成功的。Reopen子句定义在日志写入失败时,下次尝试写入操作的时间间隔。缺省是300秒。

  例2

  LOG_ARCHIVE_DEST_@=(SERVICE=STDBY01) OPTIONAL REOPEN;语句中的stdby01的连接到远程数据库的oracle net连接串。由于写操作是可选的,所以数据库活动继续,当arcn进程不能写档案日志文件时,进程将立即尝试重新写入(这个动作有reopen子句来定义)。

  Log_archive_min_succeed_dest:定义最少归档日志的副本数量。

  Log_archive_format:定义归档日志文件采用的名称和使用的格式。可以使用预定义变量来构造每个归档日志文件的名称。变量如下:

  %s      日志序列号

  %t      线程号

  %r      复位日志id

  %d      数据库id

  定义归档日志名称的变量至少包含%s%t,%r,当多个数据库实例的归档日志采用相同的归档日志位置时,还必须定义%d。例如:%t_%s_%r.dbf

 

分享到:
评论

相关推荐

    Oracle归档模式命令

    ### Oracle归档模式命令详解 #### 一、Oracle归档模式简介 在Oracle数据库中,归档模式(Archivelog Mode)是一种重要的操作模式,它允许数据库管理员将已提交的数据更改记录保存到独立的归档日志文件中,即使当前...

    oracle的归档模式

    Oracle的归档模式是数据库管理中的一个重要概念,尤其在企业级数据库应用中,它关乎数据的安全性和可恢复性。在Oracle数据库系统中,联机重做日志(Online Redo Log)是记录数据库事务操作的关键组件,它保存了对...

    oracle 归档模式

    ### Oracle归档模式详解 #### 一、Oracle归档模式简介 Oracle数据库的归档模式是一种数据保护机制,主要用于在数据库出现故障时能够快速恢复数据。归档模式下,数据库的所有事务日志(redo log)都会被归档保存,这...

    ORACLE归档日志设置

    通过archive log list命令可以查看数据库的现行日志和自动归档模式的设置。 在创建数据库时,可以在CREATE DATABASE语句中指定数据库的日志模式。如果没有指明,则缺省为NOARCHIVELOG模式。由于如果在创建数据库时...

    oracle归档相关命令及常见问题.pdf

    ### Oracle归档相关命令及常见问题 #### 一、概览 在Oracle数据库管理中,归档模式是一项关键的功能,它允许系统将已使用的重做日志文件存档到一个安全的位置,以便在数据恢复时使用。这不仅有助于提高系统的可靠性...

    oracle归档模式转换

    ### Oracle归档模式转换详解 在Oracle数据库管理中,归档模式(Archivelog Mode)是一种重要的操作模式,它允许数据库记录所有事务处理的更改,这些更改被存储为归档日志文件,即使在系统故障后也能恢复数据库至...

    关闭Oracle数据库的归档模式

    ### 关闭Oracle数据库的归档模式 #### 概述 在Oracle数据库管理中,归档模式(Archivelog Mode)是一种重要的数据保护机制,它允许系统在发生故障时通过归档日志进行恢复,从而避免数据丢失。然而,在某些特定情况...

    oracle RAC环境开启归档模式

    ### Oracle RAC环境中开启归档模式的详细步骤与注意事项 #### 一、概述 Oracle Real Application Clusters (RAC) 是一种多实例集群技术,它允许多个Oracle数据库实例同时访问共享存储上的同一数据库。在RAC环境中,...

    oracle 归档模式到归档模式的转化

    在Oracle数据库中,归档模式(ARCHIVELOG mode)和非归档模式(NOARCHIVELOG mode)是两种不同的运行模式,它们决定了数据库在发生故障时数据恢复的能力。归档模式允许数据库记录所有事务的完整历史,以便在需要时...

    打开Oracle数据库的归档模式

    在Oracle数据库管理中,归档模式(Archival Logging Mode)是一种重要的日志管理方式,它允许数据库在发生故障时进行更完整的恢复。归档模式下,数据库系统不仅记录在联机重做日志(Online Redo Logs)中的更改,还会将...

    oracle 11gR2 rac 改为归档模式

    在Oracle 11gR2 RAC环境下,将数据库从非归档模式转换至归档模式是一项关键操作,尤其对于支持在线备份功能至关重要。本文将深入解析这一转换过程中的核心步骤与注意事项,确保数据库顺利过渡至归档模式,从而增强...

    oracle数据库中查看、修改归档模式.docx

    在Oracle数据库中,归档模式(Archive Log Mode)是一种重要的日志管理策略,它允许数据库在发生故障时进行更完整的恢复。归档模式下,数据库会将重做日志文件(Redo Log Files)中的事务记录备份到单独的归档日志...

    oracle11g开启归档模式及修改归档目录归类.pdf

    本文档主要讲解了如何在Oracle 11g中开启归档模式,并且如何修改归档日志文件的存储位置,这对于数据库的备份和恢复有着重要的意义。 归档模式是Oracle数据库中的一个关键功能,它确保数据库中所有的修改操作都被...

    查看oracle数据库是否归档和修改归档模式

    #### 一、Oracle归档模式概述 在Oracle数据库管理中,归档模式是一项非常重要的功能,它对于保证数据的安全性和系统的稳定性至关重要。归档模式允许数据库管理员将已完成的日志文件(Redo Log Files)复制到归档...

    oracle 如何把数据库变为非归档日志模式

    在Oracle数据库管理中,根据业务需求的不同,可能需要将数据库的工作模式从归档模式切换至非归档模式。归档模式虽然提供了强大的数据恢复能力,但同时也带来了额外的存储开销与维护复杂性。特别是在开发环境或非生产...

Global site tag (gtag.js) - Google Analytics