`

ORACLE数据库归档模式的切换(转)

阅读更多

在oracle数据库的开发环境和测试环境中,数据库的日志模式和自动归档模式一般都是不设置的,这样有利于系统应用的调整,也免的生成大量的归档日志文件将磁盘空间大量的消耗。但在系统上线,成为生产环境时,将其设置为日志模式并自动归档就相当重要了,因为,这是保证系统的安全性,有效预防灾难的重要措施。这样,通过定时备份数据库和在两次备份间隔之间的日志文件,可以有效的恢复这段时间的任何时间点的数据,可以在很多时候挽回或最大可能的减少数据丢失。虽然ORACLE数据库的日志模式和自动归档设置并不复杂,但其中的一些概念和操作过程还是容易混淆的,现在根据本人的经验,分析介绍如下,所用环境为UNIX(HPUX,SOLARIES,AIX,TRU64UNIX)和ORACLE8.
  
  一要使OARCLE数据库进行日志的自动归档,需要做两方面的事情,一是数据库日志模式的设置(database log mode,可为Archive Mode和No Archive Mode),另外就是自动归档模式设置(Automatic archival,可为Enabled和Disabled)。    二如何查看数据库的现行日志和自动归档模式的设置:
  
  可用archive log list命令来查看。
  
  例如:
  
  运行在日志自动归档模式下的数据库系统查看结果如下(一般是生产环境)
  
  SVRMGR> archive log list
  
  Database log mode       Archive Mode
  
  Automatic archival       Enabled
  
  Archive destination      /backup/archivelog
  
  Oldest online log sequence   2131
  
  Next log sequence to archive  2133
  
  Current log sequence      2133
  
  没有启动数据库日志模式和自动归档的数据库系统查看结果如下(一般是测试环境)
  
  SVRMGR> archive log list
  
  Database log mode       No Archive Mode
  
  Automatic archival       Disabled
  
  Archive destination      /u01/app/oracle/product/8.0.5/dbs/arch
  
  Oldest online log sequence   194
  
  Current log sequence      196
  
  三数据库日志模式的设置
  
  在创建数据库时,可以在CREATE DATABASE 语句中指定数据库的日志模式。假如没有指明,则缺省为NOARCHIVELOG模式。由于如果在创建数据库时指明是Archive Mode的话,会增加约20%的创建时间,而在以后启动INSTANCE时再设置的话,一般只用去几秒的时间,所以一般在创建数据库时是不设置为ARCHIVE MODE的。
  
  如要确定一系统数据库的日志模式设置,除了(二)中的方法外也可以执行如下操作查看:
  
  SVRMGR> Select * from V$DATABASE
  
  NAME CREATED      LOG_MODE   CHECKPOINT ARCHIVE_CH
  
  ---- ----------------- ------------ ---------- ----------
  
  ORCL 05/21/97 17:55:06 NOARCHIVELOG 172185   170808
  
  将数据库的日志模式设置切换(Archive Mode 和No Archive Mode之间的切换)的步骤和操作如下:
  
  1. 关闭运行的数据库实例
  
  SVRMGRL> shutdown
  
  在进行日志模式切换之前,必须将运行的数据库正常关闭。
  
  2. 备份数据库
  
  该备份跟以后产生的日志一起用于将来的灾难恢复(很重要,如要改为归档日志模式,没有这个数据库备份,仅有日志文件是无法从该时间点恢复的)。
  
  3. 启动数据库实例到mount状态,但不要打开。
  
  SVRMGRL> startup mount
  
  注意:如果是使用OPS的话,请只打开一个数据库实例进行模式切换操作。
  
  4. 切换数据库日志模式。
  
  SVRMGRL> alter database archivelog;(设置数据库为归档日志模式)
  
  或
  
  SVRMGRL> alter database noarchivelog;(设置数据库为归档日志模式)
  
  5. 打开数据库
  
  SVRMGRL> alter database open;
  
  6. 确认数据库现在处于归档日志模式。
  
  SVRMGRL> archive log list;
  
  Database log mode        Archive Mode
  
  Automatic archival       Enabled
  
  Archive destination       for example: $ORACLE_HOME/dbs/arch
  
  Oldest on-line log sequence   275
  
  Next log sequence        277
  
  Current log sequence      278
  
  7. 将这个时间点的redo logs归档
  
  SVRMGRL> archive log all;
  
  8. 确认新产生的日志文件已在相应的归档目录下面。
  
  四自动归档模式设置(Automatic archival,可为Enabled和Disabled),在该模式下,数据库启动一个arch进程,专门负责将redo logs写到系统归档设备的相应目录下。  
  在数据库的参数文件中设置参数(一般是在$ORACLE_HOME/dbs/init*.ora文件中):
  
  LOG_ARCHIVE_START=
  
  LOG_ARCHIVE_DEST=
  
  LOG_ARCHIVE_FORMAT=
  
  LOG_ARCHIVE_START:
  
  如要求自动归档的话,则设为TRUE,如要求为非自动归档的话,则设为FALSE
  
  LOG_ARCHIVE_DEST:
  
  该参数设定了archive logs 归档存放的路径.
  
  LOG_ARCHIVE_FORMAT:
  
  该参数设定了archive logs的命名格式. 例如,如将格式设为: arch%s.arc
  
  log 文件将为: arch1.arc, arch2.arc, arch3.arc
  
  这几个参数设置只有在数据库实例启动前设置才能生效,如果在数据库运行中进行设置,要使其生效,必须重起数据库。
  
  如果数据库正在运行中,不能即刻重起,要设置其为自动归档模式,则做如下操作:
  
  SVRMGRL> ALTER SYSTEM ARCHIVE LOG START;
  
  如要设置其为非自动归档模式(取消自动归档),则:
  
  SVRMGRL> ALTER SYSTEM ARCHIVE LOG STOP;
  
  但如果数据库重起后,给语句修改的结果就失效了,自动归档的设置还是按照系统参数文件中的LOG_ARCHIVE_START的值来设置。
  
  五几种设置情况:
  
  (1) Database log mode       Archive Mode
  
  Automatic archival       Enabled
  
  这是在大部分生产环境中的ORACLE数据库日志及归档模式设置,这种情况下,做好数据库的定期备份(有热备和冷备)和归档日志备份,可有效的将数据库恢复到有归档日志的全部时间点。
  
  (2) Database log mode       Archive Mode
  
  Automatic archival       Disabled
  
  这种情况下,数据库不能自动归档,需要进行手工归档。如果所有在线日志都写满了,又没有的及时进行手工归档的话,由于LGWR没有可用的在线日志可写,数据库将会挂在这儿,只有进行手工归档后,有可用的在线日志后才能继续。在生产环境中应该避免这种情况。
  
  手工归档操作如下:
  
  SVRMGRL> ALTER SYSTEM ARCHIVE LOG ALL;
  
  数据库将会把在线日志进行归档处理
  
  (3) Database log mode       NO Archive Mode
  
  Automatic archival       Enabled
  
  有些相对欠缺经验的管理员在进行设置时,只在数据库参数文件中设置了LOG_ARCHIVE_START=TRUE,然后在数据库起来后查看到ARCH归档进程已经起来了,可是尽管ORACLE已经作了几次日志切换,但还是没有归档日志,这时的设置就是这种情况,如果数据库不是处在ARVHIVELOG模式,redolog 还是不会被归档。
  
  (4) Database log mode       NO Archive Mode
  
  Automatic archival       Disabled
  
  这种设置是刚安装的oracle数据库的缺省设置,开发环境也大部分如此。即没有进行归档。

分享到:
评论

相关推荐

    打开Oracle数据库的归档模式

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

    Oracle数据库归档模式与归档日志管理实践

    文中还介绍了检查当前归档模式的状态、切换归档模式的方法以及相关的配置操作如设定归档位置、重启实例使配置生效等关键步骤,并列举了多种关于归档管理的具体命令。 适用人群:数据库管理员,IT运维工程师,系统...

    Oracle开启归档模式

    #### 一、Oracle数据库归档模式概述 Oracle数据库通过采用归档模式,能够实现更为灵活且强大的数据恢复能力。在归档模式下,Oracle不仅能够进行热备份(即在数据库运行状态下进行备份),还支持增量备份及部分恢复...

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

    ### Oracle数据库归档模式详解与配置 #### 一、Oracle归档模式概述 在Oracle数据库管理中,归档模式是一项非常重要的功能,它对于保证数据的安全性和系统的稳定性至关重要。归档模式允许数据库管理员将已完成的...

    Oracle数据库非归档模式重做日志恢复方法.pdf

    总结来说,Oracle数据库非归档模式下重做日志的恢复方法主要依赖于临时文件的创建、日志切换以及可能的数据恢复技术。尽管这种方法提供了一种解决方案,但预防总是优于治疗,因此强烈推荐使用归档模式并定期备份以...

    OARCLE数据库归档模式的切换

    ### Oracle数据库归档模式的切换 Oracle数据库支持两种主要的日志模式:归档模式(Archive Mode)和非归档模式(No Archive Mode)。这两种模式之间的切换对于确保数据完整性和提高系统的容错能力至关重要。 #### ...

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

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

    oracle的归档模式

    配置Oracle数据库到归档模式涉及以下几个步骤: 1. 关闭数据库(SHUTDOWN NORMAL/IMMEDIATE)。 2. 启动并挂载数据库(START MOUNT)。 3. 修改数据库模式为归档模式(ALTER DATABASE ARCHIVELOG)。 4. 打开数据库...

    Oracle数据库归档日志日常管理及建议.pdf

    Oracle数据库归档日志日常管理及建议 Oracle 数据库归档日志日常管理及建议是指在 Oracle 数据库中,归档日志的生成、管理和维护,以确保数据库的高效运营和灾难恢复。本文将从 Oracle 数据库归档模式、归档模式的...

    查看oracle数据库是否归档和修改归档模式[文].pdf

    查看 Oracle 数据库是否归档和修改归档模式 Oracle 数据库的归档模式是数据库中的一种机制,用于记录数据库中的所有变化,以便在需要时进行恢复。查看 Oracle 数据库是否归档和修改归档模式是非常重要的,因为这...

    Linux Oracle数据库设置自动归档

    在Oracle数据库管理中,"Linux Oracle数据库设置自动归档"是一个关键操作,它涉及到数据库的安全性和高可用性。归档日志(Archived Logs)是Oracle数据库中的一个重要组成部分,它们记录了事务处理的历史,用于在...

    Oracle数据库开归档方法

    以下是开启Oracle数据库归档模式的详细步骤和相关知识点: 一、理解归档日志模式 归档日志模式是Oracle数据库的一种运行模式,它在每次事务提交时都会创建归档日志文件,这些文件包含了自上次归档以来的所有更改。...

    Oracle数据库归档日志挖掘步骤

    Oracle 数据库归档日志挖掘步骤 Oracle 数据库归档日志挖掘是指从 Oracle 数据库中提取有价值的信息,以便追溯和分析数据库的操作记录。这种操作可以帮助数据库管理员和开发者更好地理解数据库的行为,提高数据库的...

    Oracle归档模式命令

    在Oracle数据库中,归档模式(Archivelog Mode)是一种重要的操作模式,它允许数据库管理员将已提交的数据更改记录保存到独立的归档日志文件中,即使当前的日志文件丢失或损坏,这些归档日志文件也能用于数据恢复。...

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

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

    Oracle数据库归档日志日常管理与建议.doc

    Oracle数据库的归档日志管理是数据库日常维护的关键环节,特别是在归档模式下,日志管理的恰当与否直接影响系统的稳定性和数据的安全性。本文主要探讨了Oracle数据库的归档模式,归档日志的作用和优缺点,以及如何...

    ORACLE归档日志设置

    自动归档模式设置是ORACLE数据库的重要设置之一。在该模式下,数据库启动一个arch进程,专门负责将redo logs写到系统归档设备的相应目录下。在数据库的参数文件中设置参数(一般是在$ORACLE_HOME/dbs/init*.ora文件...

    数据库归档模式

    数据库归档模式是数据库管理系统(DBMS)中的一个重要概念,尤其在关系型数据库系统如Oracle中应用广泛。归档模式与非归档模式是数据库运行的两种基本模式。这两种模式对数据库的日志管理方式有着本质的区别,进而影响...

Global site tag (gtag.js) - Google Analytics