在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数据库是一种广泛使用的大型关系型数据库管理系统(RDBMS),由Oracle公司开发并维护。它在企业级数据存储、管理和处理方面占据着重要的地位。Oracle数据库支持多种数据类型,包括数值、字符串、日期时间以及...
RAC(Real Application Clusters)是Oracle数据库的一项高可用性技术,它允许多个Oracle实例共享同一个物理数据库,实现负载均衡和故障切换功能。ASM(Automatic Storage Management)是Oracle提供的一种高级存储...
表可以相互关联,形成复杂的数据库模式。此外,还有索引、视图、序列、存储过程等概念,它们在数据查询、优化和业务逻辑实现上发挥重要作用。 Oracle数据库的安全性和完整性是保障数据安全的基础。安全性包括用户...
在Java编程环境中,将Oracle数据库的表结构导出到Excel是一种常见的需求,特别是在数据库管理和数据分析时。这个场景可以通过两个核心类来实现:`TableStructureToExcel.java`和`ConnectionOracle.java`。这两个类...
### Oracle11g结合ArcGIS10.2建立空间数据库ST_Geometry类库配置 #### 一、环境搭建及软件安装 为了实现Oracle11g与ArcGIS10.2相结合来建立空间数据库,首先需要完成以下软件的安装: 1. **安装Oracle11g 64位...
Oracle 9i 提供了多种备用数据库模式,包括物理备用数据库、逻辑备用数据库以及.golden gate等技术,以满足不同场景下的需求。下面将详细介绍这些知识点。 一、物理备用数据库 物理备用数据库是主数据库的一个完全...
Oracle数据库是全球广泛使用的数据库管理系统,而PL/SQL(Procedural Language/Structured Query Language)则是Oracle数据库系统中的一种过程化编程语言,用于编写数据库应用程序。PL/SQL结合了SQL的强大查询功能和...
在虚拟机上安装Oracle数据库是一个涉及多个步骤的过程,该教程旨在指导用户如何在虚拟机环境中设置Oracle数据库,并配置相关环境,使得用户能够在自己的主机上通过sqldeveloper这样的客户端工具连接到虚拟机中配置的...
修改oracle的字符集,即默认的字符集,有时候可能字符集不符合一些要求,通过该步骤即可修改
在IT领域,重装Oracle数据库是一项复杂而细致的工作,尤其对于企业级应用而言,确保数据安全与系统稳定性至关重要。本文将深入探讨“重装Oracle”过程中必须注意的关键点,包括但不限于卸载步骤、注册表清理、环境...
标题中提到的“Oracle®Database 2Day+ Security Guide 11g Release 2 (11.2) E10575-08”指的是Oracle数据库的安全指南文档,适用于Oracle数据库版本11g的第二个更新版(11.2)。E10575-08是该文档的版本号,而日期...
【数据库开发设计编程规范】 本规范是针对数据库开发、设计和编程的重要指导,旨在确保RD(研发人员)、QA(质量保证人员)、OP(运维人员)能够遵循一套标准,以创造适合线上业务的高效且稳定的数据库环境。规范...
org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.mysql.jdbc.Driver' 出现异常原因,缺少数据库连接jar
2、用户模式: EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC 这样用户SONIC的所有对象被输出到文件中。 3、表模式: EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC TABLES=...
Oracle 11g的RMAN(Recovery Manager)是Oracle数据库管理系统中不可或缺的一部分,它提供了全面的数据保护功能,包括数据库的备份、恢复、归档日志管理以及性能优化。本书《Oracle Database 11g RMAN备份与恢复》由...
### Oracle Database 12c 架构...综上所述,Oracle Database 12c 不仅提供了强大的数据管理和处理能力,还包含了一系列高级服务,如性能优化、数据归档、数据恢复等,为用户提供了一个稳定可靠且高性能的数据库平台。
【描述】:本文主要探讨了如何通过Oracle数据库的事件触发器增强“军卫一号”医院信息系统的安全性,针对系统中存在的用户权限管理漏洞提出解决方案。 【标签】:Oracle数据库、关系型数据库、参考文献、专业指导 ...