oracle10g归档设置

合集下载

oracle数据库归档与非归档

oracle数据库归档与非归档

oracle数据库归档与⾮归档oracle运⾏的时候⾄少需要两组联机⽇志,每当⼀组⽇志写满后会发⽣⽇志切换,继续向下⼀组联机⽇志写⼊。

如果是归档模式,则会触发ARCn进程,把切换后的重做⽇志⽂件复制到归档⽇志⽂件。

如果是⾮归档模式,重做⽇志就会被覆盖。

将联机⽇志转换为归档⽇志的过程称之为归档。

相应的⽇志被称为归档⽇志。

归档模式的优点:1、可以进⾏完全、不完全恢复:对于数据库所作的全部改动都记录在⽇志⽂件中,如果发⽣磁盘故障等导致数据⽂件丢失的话,则可以利⽤物理备份和归档⽇志完全恢复数据库,不会丢失任何数据。

2、可以进⾏联机热备,所谓的联机热备,就是在数据库运⾏的状态下对数据库进⾏备份,其他⽤户不受影响。

3、可以实施Data Guard:可以部署⼀个或者多个备⽤数据库,从⽽最⼤限制的提供灾难保护。

4、可以实施stream:利⽤stream技术,可以实现最简单的单向复制、双向复制和多向复制,提供更加灵活的数据冗余⽅案。

5、表空间可以脱机:可以备份部分数据库和重要的表空间。

6、能够增量备份,只需做⼀次完整的备份,以后之备份改变的数据,提⾼备份速度。

7、更多的优化选择。

使⽤归档模式的缺点:1、需要更多的磁盘空间来保存归档⽇志2、需要定期维护归档表空间和备份归档⽇志⾮归档模式的优点:不⽣成归档⽇志,从数据安全的⾓度上看,缺点⾜以弥盖所有优点.使⽤⾮归档模式的缺点:1、只能进⾏脱机备份,也叫冷备份,就是必须数据库关闭之后才能备份,备份过程中数据库不能使⽤。

2、必须备份整个数据库,不能备份部分数据库3、不能增量备份,对于TB级别的数据库(VLDB),将是个很⼤的缺点。

4、只能部分恢复,如果数据⽂件丢失,只能恢复最后⼀次的完全备份,⽽之后的所有数据库改变将全部丢失。

查看当前数据库是否处于归档模式可使⽤如下两种⽅式查看1、select name, log_mode from v$database;log_mode的值为 NOARCHIVELOG 表⽰数据库处于⾮归档模式log_mode的值为 ARCHIVELOG 表⽰数据库处于归档模式2、archive log list;此⽅法需要 as sysdbaDatabase log mode 的值为 No Archive ModeAutomatic archival 的值为 Disabled表⽰当前数据库处于⾮归档模式Database log mode 的值为 Archive ModeAutomatic archival 的值为 Enabled表⽰数据库已开启归档模式归档模式和⾮归档模式下的相互切换:1、⾮归档模式转归档模式(1)、关闭数据库shutdown immediate;(2)、启动数据库到mount状态(连接控制⽂件)startup mount;(3)、修改数据库为归档模式alter database archivelog;(4)、打开数据库alter database open;(5)、查询数据库是否已处于归档模式archive log list;(6)、设置本地归档⽇志的路径alter system set log_archive_dest_1="location=路径" scope=both;该语句含义是确定归档⽇志的路径,实际上Oracle 10g以后可以⽣成多份⼀样的⽇志,保存多个位置,以防不测例如再添加⼀个⽇志位置可使⽤以下语句alter system set log_archive_dest_2="location=路径" scope=both;设置为远程归档⽇志的路径alter system set log_archive_dest-1="server=路径" scope=both;(7)、修改归档⽇志⽂件命名格式alter system set log_archive_max_processes = 5;alter system set log_archive_format = "archive_%t_%s_%r.log" scope=spfile;需重启后⽣效,归档的⽇志⽂件格式会更改为 archive_%t_%s_%r.log 格式(8)、查看当前被归档的重做⽇志select name from v$archived_log;由于没有重启数据库,所以归档⽇志的⽂件格式仍然是默认的格式。

linux中oracle如何打开归档模式并设置归档路径

linux中oracle如何打开归档模式并设置归档路径
Current log sequence218
SQL>
SQL>
为进一步确保归档模式设置的有效性,执行下述命令后,在该归档路径中查看是否有生成归档日志,如果产生了归档log文件就说明归档模式成功设置了。S NhomakorabeaL>
SQL>alter system switch logfile;
System altered.
SQL>
SQL>exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
linux中oracle如何打开归档模式
大家都知道,默认安装oracle数据中后,数据库的归档日志是非开启状态。对于生产库来说,一定要开启归档模式,这样才能确保在发生误操作行为后,通过归档日志来快速恢复数据,对数据安全有十分重要的意义。
在windows环境中启动数据库的归档模式一般来说很简单,只需要简单的几个命令即可实现。但是对于linux操作系统,很多用户都是陌生状态,完全不知道如何操作。只因为对linux系统操作不熟练而导致的。废话不多说。下面就介绍干货,真实操作实验记录,需要对大家有所帮助。
ORACLE instance shut down.
此时,Oracle例程已经关闭。关闭后启动oracle例程。
SQL>startup mount;
ORACLE instance started.

Oracle归档日志空间设置及查看归档空间不足引发的问题及解决方法【VIP专享】

Oracle归档日志空间设置及查看归档空间不足引发的问题及解决方法【VIP专享】

Oracle归档日志空间设置及查看归档空间不足引发的问题及解决方法【VIP专享】Oracle归档日志空间不足引发的问题及解决方法归档日志空间不足现的问题的现象1、软件正在操作,突然点击任何菜单无反应;2、打开登录界面后,输入用户名和密码长时间没反应;3、再次打开登录界面登录时,登录画面异常,同时输入用户名和密码后,出现需要提交license提示界面;以下系统管理员操作4、oracle登录操作系统,输入以下命令:[oracle@OASERVER ~]$sqlplussql>connect oa/oa //回车后出现报错5、打开EM时(IE中输入http://10.31.1.200:1158/em),报ORA-00257、ORA-01033等错误;6、oracle客户端工具(如:PLSQL Developer等)连接数据库时报ORA-00257、ORA-01033等错误;*************************************************************** ****************说明:因oracle归档日志还在开启,需定期检测归档日志占用空间大小,归归档日志达到一定比例时要及时清理,以防止归档日志问题导致的oracle服务停止现象,从而影响使用使用OA系统。

1、检测oracle是否可以正常归档oracle用户登录系统[oracle@OASERVER ~]$sqlplussql>connect / as sysdbasql>select * from v$logGROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME-------- ------- ---------- ---------- ---------- --- ------ ------------- ------------1 1 263 52428800 1 NO CURRENT 5924771 13-DEC-102 1 261 52428800 1 YES INACTIVE 5878129 12-DEC-103 1 262 52428800 1 YES INACTIVE 5899219 13-DEC-10说明:上面列表可看出ARC列可正常归档,如果全部为NO,oracle将无法进行归档,此时oracle实例会自动关闭。

关于Oracle归档介绍

关于Oracle归档介绍

数据库归档模式介绍简介:归档日志(Archive Log)是非活动的重做日志备份.通过使用归档日志,可以保留所有重做历史记录,当数据库处于ARCHIVELOG模式并进行日志切换时,后台进程ARCH会将重做日志的内容保存到归档日志中,当数据库出现介质失败时,使用数据文件备份,归档日志和重做日志可以完全恢复数据库。

在Oracle10g中,只要启动数据库的归档模式,Oracle就会启用自动归档,从而避免了10g以前由于用户疏忽所带来的一系列问题。

日志操作模式:ARCHIVELOG(归档),NOARCHIVELOG(非归档)启动Oracle10g数据库的归档模式详细步骤对于非归档模式的数据库改为归档模式(主要以Oracle 10g为参考)使用以下步骤:步骤1(查看数据库的归档状态)首先查看数据库现有模式可使用以下语句,显示数据库处于非归档模式下SQL> select name,log_mode from v$database;NAME LOG_MODE--------- ------------ZHQHDB NOARCHIVELOG也可以用下面的语句[oracle@wangdm ~ 10:28 #9]$ sqlplus / as sysdbaSQL> archive log listDatabase log mode No Archive ModeAutomatic archival DisabledArchive destination ?/dbs/archOldest online log sequence 534Current log sequence 536步骤2(设置归档日志文件路径)SQL>alter system set log_archive_dest_1='location=/u01/arch';该语句含义是设置归档日志文件的存放路径,实际上Oracle 10g以后可以生成多份一样的日志,保存多个位置以防不测例如再添加一个归档日志文件存放位置可使用以下语句SQL>alter system set log_archive_dest_2='location=/u02/arch ';“location=/u01/arch”此目录是要从根目录开始的一个完整的目录详细介绍归档日志文件的存放的两种方法:步骤3(修改数据库为归档模式)关闭数据库SQL> shutdown immediate启动数据mount状态:SQL> startup mount修改数据库为归档模式:SQL> alter database archivelog;打开数据库,查询:SQL> alter database open步骤4(配置归档进程个数)可选初始化参数LOG_ARCHIVE_MAX_PROCESSES用于指定例程初始启动的最大归档进程个数,当将数据库转变为ARCHIVELOG模式时,默认情况下oracle会自动启动两个归档进程.通过改变初始化参数LOG_ARCHIVE_MAX_PROCESS的值,可以动态地增加或降低归档进程的个数,每个实例归档进程数量最多只能为30个取值范围为[0-9 a-t]: ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=3 scope=both; 如果设置的归档进程个数超过30如下图会有错误提示其实对于oracle 10g以前的版本还有log_archive_start参数与LOG_ARCHIVE_MAX_PROCESSES结合使用,但是对于10g及后期的版本这个参数完全做废了,如下图数据库已启用归档同时在日志发生切换时日志也会自动归档只是log_archive_start参数值还是false,所以到10G后这个参数就不用理它了步骤5(显示归档日志信息)1.使用ARCHIVE LOG LIST命令可以显示日志操作模式,归档位置,自动归档机器要归档的日志序列号等信息.2.显示归档日志信息.Select name, sequence#, first_change# FROM v$archived_log;Name用于表示归档日志文件名,sequence#用于表示归档日志对应的日志序列号,firs_change#用于标识归档日志的起始SCN值.3.执行介质恢复时,需要使用归档日志文件,此时必须准确定位归档日志的存放位置.通过查询动态性能视图v$archive_dest可以取得归档日志所在目录.SELECT * FROM v$archive_dest;4.显示日志历史信息SELECT * FROM v$loghist;THREAD#用于标识重做线程号,SEQUNCE#用于标识日志序列号,FIRST_CHANGE#用于标识日志序列号对应的起始SCN值,FIRST_TIME用于标识起始SCN的发生时间.SWICTH_CHANGE#用于标识日志切换的SCN值.5.显示归档进程信息.进行日志切换时,ARCH进程会自动将重做日志内容复制到归档目录中,为了加快归档速度,应该启用多个ARCH进程.通过查询动态性能视图V$ARCHIVE_PROCESSES可以显示所有归档进程的信息!SELECT * FROM v$archive_processes;Porcess用于标识ARCH进程的编号,status用于标识ARCH进程的状态(ACTIVE:活动, STOPPED:未启动),log_sequence用于标识正在进行归档的日志序列号,state用于标识ARCH进程的工作状态步骤6(执行手工归档)从oracle database 10g开始,当将日志操作模式转变未ARCHIVELOG模式时,oracle会自动启动ARCH进程.如果要使用手工归档.那么在改变日志操作模式时必须使用命令ALTER DATABASE ARCHIVELOG MANUAL;需要注意,使用手工归档方式,数据库管理员必须手工执行归档命令.如果没有执行手工归档命令,日志组的原有内容将不能被覆盖.ALTER DATABASE ARCHIVELOG MANUAL 命令是为了与先前的版本兼容而保留的,将来的oracle版本会淘汰该命令,使用手工归档方式时,数据库管理员可以执行以下命令归档重做日志:alter system archive log all; --手动归档所有switch的日志alter system archive log sequence 545; --545为日志序列号alter system archive log current; --归档当前联机日志文件arter database archivelog; --用此命令再次将数据库改为自动归档,手动归档一般情况下在10g及后期版本其实已经没什么了注意点1 特别指出的是在Oracle 9i中还要修改参数log_archive_start = true才能生效,oracle 10g中已经废除了该参数,所以不需要设置该参数。

oracle11g开启归档模式及修改归档目录日志满

oracle11g开启归档模式及修改归档目录日志满

oracle11g开启归档模式及修改归档⽬录⽇志满oracle 11g开启归档模式及修改归档⽬录⽇志满/s/blog_95b5eb8c01018ylb.htmloracle 11g开启归档模式及修改归档⽬录2011-06-28 22:29在Oracle 11g,开启archive log模式时,默认归档⽬录为db_recovery_file_dest指定。

此参数在pfile/spfile中可以指定:db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'更改归档模式需要在mount状态下,更改归档模式。

SQL> shutdown immediate;Database closed.Database dismounted.ORACLE instance shut down.SQL> startup mountORACLE instance started.--如果安装多个库,会报错,找不到句柄exit 再⽤管理员进⼊Total System Global Area 1258291200 bytesFixed Size 1219160 bytesVariable Size 318768552 bytesDatabase Buffers 922746880 bytesRedo Buffers 15556608 bytesDatabase mounted.SQL> alter database archivelog;Database altered.SQL> alter database open;Database altered.SQL> archive log list;Database log mode Archive ModeAutomatic archival EnabledArchive destination USE_DB_RECOVERY_FILE_DESTOldest online log sequence 15Next log sequence to archive 17Current log sequence 17更改log_archive_dest_1参数可更改归档⽇志⽬录(pfile/spfile中参数db_recovery_file_dest指定的⽬录将⽆效)SQL> alter system set log_archive_dest_1='location=/data/oracle/log1/archive_log'; 最后的⽬录名称需要为archive_log! Linux:alter system set log_archive_dest_1='location=/u01/oracle/log/archive_log';System altered.SQL> archive log list;Database log mode Archive ModeAutomatic archival EnabledArchive destination /data/oracle/log1/archive_logOldest online log sequence 26Next log sequence to archive 28Current log sequence 28实际上从Oracle 10g开始,可以⽣成多份⼀样的⽇志,保存多个位置,以防不测,⽅法如下:SQL>alter system set log_archive_dest_2='location=/data/oracle/log2/archive_log';SQL> archive log list;Database log mode Archive ModeAutomatic archival EnabledArchive destination /data/oracle/log2/archive_log 只能看到最新设置的归档⽬录。

oracle归档操作步骤

oracle归档操作步骤

oracle归档操作步骤
Oracle的归档操作主要包括开启归档模式、修改归档日志路径以及删除归档日志等步骤。

1.查看归档模式是否开启以及重做日志存放路径。

可以通过执行SQL
命令archive log list来查看归档日志的状态,以及SELECT * FROM v$logfile ORDER BY group#;来查看重做日志的存放路径。

2.开启归档模式。

首先关闭数据库实例,然后启动到mount状态,接着
修改数据库为归档模式,最后打开数据库。

3.修改归档日志路径。

如果需要修改归档日志的路径,可以通过修改初
始化参数log_archive_dest_1的值来实现。

注意新路径必须已经存在,且每个目录都必须存在。

4.实验是否成功将路径做了修改。

可以通过切换重做日志的活跃状态来
触发日志备份,生成新的归档日志,并检查新的归档日志是否保存在设置的目录下。

5.删除归档日志。

首先通过执行crosscheck archivelog all;命令
来检查归档日志文件,然后通过执行delete expired archivelog all;命令来删除校验失败的记录。

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

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

在ORACLE数据库的开发环境和测试环境中,数据库的日志模式和自动归档模式一般都是不设置的,这样有利于系统应用的调整,也免的生成大量的归档日志文件将磁盘空间大量的消耗。

但在系统上线,成为生产环境时,将其设置为日志模式并自动归档就相当重要了,因为,这是保证系统的安全性,有效预防灾难的重要措施。

这样,通过定时备份数据库和在两次备份间隔之间的日志文件,可以有效的恢复这段时间的任何时间点的数据,可以在很多时候挽回或最大可能的减少数据丢失。

一、要使OARCLE 数据库进行日志的自动归档,需要做两方面的事情;1.是数据库日志模式的设置(可为Archive Mode 和No Archive Mode);2.就是自动归档模式设置(Automatic archival,可为Enabled 和Disabled)。

二、如何查看数据库的现行日志和自动归档模式的设置可用archive log list 命令来查看。

运行在日志自动归档模式下的数据库系统查看结果如下(一般是生产环境):SQL> archive log listDatabase log mode Archive ModeAutomatic archival EnabledArchive destination /backup/archivelogOldest online log sequence 2131Next log sequence to archive 2133Current log sequence 2133没有启动数据库日志模式和自动归档的数据库系统查看结果如下(一般是测试环境):SQL> archive log listDatabase log mode No Archive ModeAutomatic archival DisabledArchive destination /u01/app/oracle/product/8.1.7/dbs/archOldest online log sequence 194Current log sequence 196三. 数据库日志模式的设置在创建数据库时,可以在CREATE DATABASE 语句中指定数据库的日志模式。

oracle 数据清理和归档方案

oracle 数据清理和归档方案

oracle 数据清理和归档方案一、背景介绍Oracle数据库是目前世界上使用最广泛的关系型数据库管理系统之一,它可以存储和处理大量的数据。

但是,在长时间的使用过程中,Oracle数据库中可能会产生很多无用的数据或历史数据,这些数据会占用大量的存储空间,影响数据库性能。

因此,对于Oracle数据库来说,数据清理和归档是非常重要的。

二、数据清理方案1.识别无用数据在进行数据清理之前,首先需要识别哪些数据是无用的。

可以通过以下方式进行识别:(1)查看表空间使用情况:通过查询表空间使用情况来判断哪些表或索引占用了较多的空间。

(2)查看表或索引大小:通过查询表或索引大小来判断哪些表或索引占用了较多的空间。

(3)查看未使用对象:通过查询未使用对象来判断哪些表或索引已经长时间没有被访问过。

2.删除无用数据在识别出无用数据之后,需要将其删除。

可以通过以下方式进行删除:(1)删除未使用对象:可以通过DROP语句将未使用对象直接删除。

(2)删除不必要的日志:可以通过设置日志级别、限制日志大小等方式来减少日志记录量。

(3)清除历史数据:可以通过删除历史数据来减少数据库占用空间。

三、数据归档方案1.归档策略在进行数据归档之前,需要制定一个合理的归档策略。

归档策略应该考虑以下因素:(1)数据库大小:根据数据库大小来制定合理的归档策略。

(2)业务需求:根据业务需求来制定合理的归档策略。

(3)存储设备:根据存储设备容量来制定合理的归档策略。

2.归档实施在制定好归档策略之后,需要进行具体的实施。

可以通过以下方式进行实施:(1)使用Oracle Data Guard:Oracle Data Guard是一种数据保护技术,可以将主数据库的数据复制到备库中,从而实现数据备份和恢复。

(2)使用Oracle RMAN:Oracle RMAN是一种备份和恢复管理工具,可以对Oracle数据库进行备份和恢复操作,并支持增量备份、压缩备份等功能。

oracleg更改归档模式目录日志大小

oracleg更改归档模式目录日志大小

oracle11g更改归档模式、目录、日志大小一、更改Oracle为归档模式1.关闭oracleSQL>shutdownimmediate;Databaseclosed.Databasedismounted.ORACLEinstanceshutdown.2.启动为mount状态SQL>startupmountORACLEinstancestarted.TotalSystemGlobalAreabytesFixedSize2283984bytesVariableSizebytesDatabaseBuffersbytesRedoBuffers2945024bytesDatabasemounted.3.更改为归档模式SQL>alterdatabasearchivelogDatabasealtered.备注:‘archivelog’为归档模式;‘noarchivelog’为非归档模式.4.更改数据库为‘打开’状态SQL>alterdatabaseopen5.查看归档模式信息SQL>archvieloglist它会提示归档(de)模式、是否启用、参数DatabaselogmodeArchiveModeAutomaticarchivalEnabledArchivedestinationUSE_DB_RECOVERY_FILE_DEST Oldestonlinelogsequence88Nextlogsequencetoarchive90Currentlogsequence90二、更改归档目录1.查看参数db_recovery_file_dest(1)“db_recovery_file_dest”是用于定义存储归档日志(de)目录.通过showparameter命令,显示参数(de)值为(默认为)fast_recovery_area.示例如下:SQL>showparameterdb_recoveryNAMETYPEVALUE-----------------------------------------------------------------------------db_recovery_file_deststringD:\oracle\fast_recovery_areadb_recovery_file_dest_sizebiginteger4182M(2)查看v$recovery_file_dest视图,可得知fast_recovery_area(de)空间限制、已使用(de)空间、文件数等.SQL>selectfromv$recovery_file_dest;NAMESPACE_LIMITSPACE_USEDSPACE_RECLAIMABLENUMBER_OF_FILES-----------------------------------------------------D:\oracle\fast_recovery_area27412481022.更改归档日志目录语法:altersystemset参数=值scope=spfile;示例:SQL>altersystemsetdb_recovery_file_dest='D:\oracle\archivelog's cope=spfile;Systemaltered.三、更改归档日志大小1.查看参数'db_recovery_file_dest_size'值SQL>showparameterdb_recoverNAMETYPEVALUE-----------------------------------------------------------------------------db_recovery_file_deststringD:\oracle\archivelogdb_recovery_file_dest_sizebiginteger4182M2.更改参数'db_recovery_file_dest_size'值大小SQL>altersystemsetdb_recovery_file_dest_size=41820Mscope=spfile ;Systemaltered.3.关闭数据库,重启数据库SQL>shutdownimmediate;Databaseclosed.Databasedismounted.ORACLEinstanceshutdown.SQL>startupopen;ORACLEinstancestarted.TotalSystemGlobalAreabytesFixedSize2283984bytesVariableSizebytesDatabaseBuffersbytesRedoBuffers2945024bytesDatabasemounted.Databaseopened.4.再次查看参数'db_recovery_file_dest_size'值SQL>showparameterdb_recoNAMETYPEVALUE-----------------------------------------------------------------------------db_recovery_file_deststringD:\oracle\archivelog db_recovery_file_dest_sizebiginteger41820M。

oracle 归档模式理解

oracle 归档模式理解

oracle 归档模式理解Oracle 归档模式是一种数据库管理模式,它可以帮助数据库管理员有效地管理数据库的日志文件。

在这篇文章中,我们将深入探讨Oracle归档模式的概念、原理以及它在数据库管理中的作用。

我们来了解一下什么是归档模式。

归档模式是一种数据库管理策略,它能够将数据库的重要日志文件进行备份和存档,以便在需要时进行恢复和还原操作。

在Oracle数据库中,归档模式可以通过对数据库进行配置来启用。

在归档模式下,Oracle数据库会将所有的数据库操作记录保存在一个特殊的日志文件中,即归档日志文件。

这些归档日志文件可以用于数据库的恢复和还原操作。

当数据库发生故障或需要恢复到某个特定的时间点时,管理员可以使用归档日志文件进行恢复操作,以便将数据库恢复到故障前的状态。

归档模式的原理是通过将数据库的日志文件进行备份和存档,以确保数据库的完整性和可用性。

当数据库发生故障时,管理员可以使用归档日志文件将数据库还原到故障前的状态。

此外,归档日志文件还可以用于数据库的迁移和升级操作,以及数据的长期存储和备份。

在实际的数据库管理中,归档模式具有重要的作用。

首先,归档模式可以保证数据库的可用性和持久性。

通过定期备份和存档归档日志文件,管理员可以在数据库发生故障时快速恢复数据库。

其次,归档模式可以帮助管理员进行数据库的性能优化。

通过归档日志文件的分析和管理,管理员可以了解数据库的使用情况和性能瓶颈,并采取相应的措施来优化数据库的性能。

此外,归档模式还可以用于数据库的迁移和升级操作,以及数据的长期存储和备份。

为了启用归档模式,管理员需要对Oracle数据库进行相应的配置。

首先,管理员需要为数据库指定一个归档日志文件的存储位置。

其次,管理员需要创建一个归档日志文件组,用于存储归档日志文件。

最后,管理员需要启用归档模式,并定期备份和存档归档日志文件。

在实际的数据库管理中,管理员还需要注意一些与归档模式相关的注意事项。

oracle数据库处理归档日志的步骤

oracle数据库处理归档日志的步骤

一、了解归档日志归档日志是Oracle数据库中一种重要的日志记录方式,它记录了数据库中所有发生的修改操作,包括插入、更新、删除等。

归档日志的作用是用于数据库的恢复和回滚操作,确保数据库的完整性和可靠性。

二、启用归档模式1. 确认数据库当前日志模式在连接数据库后,可以使用以下SQL语句确认当前的数据库日志模式:```SELECT log_modeFROM v$database;```如果返回结果为ARCHIVELOG,则表示数据库已经处于归档模式;如果返回结果为NOARCHIVELOG,则表示数据库尚未启用归档模式。

2. 修改数据库为归档模式如果数据库尚未启用归档模式,可以使用以下步骤将数据库修改为归档模式:```SHUTDOWN IMMEDIATE;STARTUP MOUNT;ALTER DATABASE ARCHIVELOG;ALTER DATABASE OPEN;```通过以上步骤,数据库将被修改为归档模式,并可以开始处理归档日志。

三、配置归档参数1. 确认归档目标归档目标是指归档日志文件的存储位置。

可以使用以下SQL语句确认当前的归档目标:```SHOW PARAMETER LOG_ARCHIVE_DEST;```如果没有设置归档目标,需要通过以下SQL语句进行设置:```ALTER SYSTEM SETLOG_ARCHIVE_DEST_1='LOCATION=/archivelog';```其中,/archivelog为归档日志存储的路径,可以根据实际情况进行调整。

2. 确认归档模式归档模式是指数据库在何种情况下触发归档日志的记录。

可以使用以下SQL语句确认当前的归档模式:```SHOW PARAMETER LOG_ARCHIVE_START;```如果归档模式未启用,需要通过以下SQL语句进行设置:```ALTER SYSTEM SET LOG_ARCHIVE_START=TRUE;```通过以上步骤,归档参数将被正确配置,数据库可以开始处理归档日志。

Oracle的闪回恢复区和归档日志多路径设置

Oracle的闪回恢复区和归档日志多路径设置

Oracle的闪回恢复区和归档⽇志多路径设置Oracle9i开始提供闪回查询,以便能在需要的时候查到过去某个时刻的⼀致性数据,这是通过Undo实现的。

这个功能有很⼤的限制,就是相关事务的undo不能被覆盖,否则就⽆⼒回天了。

oracle10g⼤⼤的增强了闪回查询的功能,并且提供了将整个数据库回退到过去某个时刻的能⼒,这是通过引⼊⼀种新的flashback log实现的。

flashback log有点类似redo log,只不过redo log将数据库往前滚,flashback log则将数据库往后滚。

为了保存管理和备份恢复相关的⽂件,oracle10g提供了⼀个叫做闪回恢复区(Flashback recovery area)的新特性,可以将所有恢复相关的⽂件,⽐如flashback log,archive log,backup set等,放到这个区域集中管理。

1.设置闪回恢复区闪回恢复区主要通过3个初始化参数来设置和管理db_recovery_file_dest :指定闪回恢复区的位置db_recovery_file_dest_size :指定闪回恢复区的可⽤空间⼤⼩db_flashback_retention_target :指定数据库可以回退的时间,单位为分钟,默认1440分钟,也就是⼀天。

当然,实际上可回退的时间还决定于闪回恢复区的⼤⼩,因为⾥⾯保存了回退所需要的flash log。

所以这个参数要和db_recovery_file_dest_size配合修改。

2.启动flashback database设置了闪回恢复区后,可以启动闪回数据库功能。

⾸先,数据库必须已经处于归档模式1.关闭数据库SQL> shutdown immediate;2.启动数据库为mount模式SQL> startup mount3.显⽰和修改归档模式SQL> archive log listSQL> alter database archivelog;SQL> alter database open4.设置归档⽇志的格式SQL>alter system set log_archive_format='ARC%s%t%r.log' scope=spfile;5.设置归档⽇志的存放路径SQL>alter system set log_archive_dest='+data/arcl' scope=spfile;SQL>shutdown immediateSQL>startup6.强制切换归档⽇⾄SQL>alter system switch logfile;7.取消归档SQL>alter database noarchivelog;参数1.格式参数%s⽇志序列号%S⽇志序列号(带前导的0)%t重做线程编号%a活动的ID号%d数据库ID号%r RESELOGS的iD值SQL> archive log list;Database log mode Archive ModeAutomatic archival EnabledArchive destination USE_DB_RECOVERY_FILE_DESTOldest online log sequence 156Next log sequence to archive 158Current log sequence 158然后,启动数据库到mount状态SQL> shutdown immediate;Database closed.Database dismounted.ORACLE instance shut down.SQL> startup mountORACLE instance started.Total System Global Area 285212672 bytesFixed Size 1218992 bytesVariable Size 75499088 bytesDatabase Buffers 205520896 bytesRedo Buffers 2973696 bytesDatabase mounted.SQL>alter database flashback on;数据库已更改。

Oracle开启归档模式总结

Oracle开启归档模式总结

Oracle数据库开启归档模式总结在对Oracle进行RMAN备份前需要数据库处在自动归档模式。

Oracle数据库开启归档模式的操作过程,建议由DBA来完成或在DBA协助下完成。

开启数据库归档模式的过程分四个大的步骤:●用Sqlplus登录Oracle命令行控制台,查看当数据库的归档状态;●如果不是归档模式,就需要把数据库设置成归档模式;●调整归档日志目录,确保归档日志目录和数据目录不在同一卷下;●检验数据库归档模式设置是否成功。

本章以Oracle 9i、Oracle 10g和Oracle 10g RAC三种环境为例,简单描述Oracle如何开启存档模式。

Oracle 9i版本如果用户的数据库是Oracle 9i系列版本,可采用下列步骤来开启数据库归档模式:1.登录Sqlplus,查看数据库归档状态a)运行cmd 命令窗口,设置操作系统环境变量ORACLE SID命令格式:set ORACLE_SID=<instance name>b)使用SQLPLUS登录数据库命令格式:sqlplus /nologConn / as sysdbac)查看当前数据库的归档状态命令格式:SQL>archive log list;如果数据库为“非存档模式”,下一步就需要把数据库设置成归档模式,如果是归档模式,就要检查归档日志目录是否和数据目录在同一卷下,如果在同一卷下,就需要调整归档目录的存放位置。

2.把数据库设置成归档模式a)关闭数据库,并以装载方式启动命令格式:SQL>shutdown immediate;命令格式:SQL>startup mount;b)更改数据库日志模式为存档模式命令格式:SQL>alter database archivelog;c)启动数据库,确认日志模式已更改为存档模式。

命令格式:SQL>alter database open;命令格式:SQL>archive log list;3.调整归档日志目录存放位置在调整之前,我们必须了解Oracle 9i设置归档目录的基本知识,在Oracle9i 下,有两个参数文件:⏹一个是文本格式文件pfile,名称为:init<实例名>.ora⏹另一个是二进制格式文件spfile,名称为:spfile<实例名>.ora数据默认启动是采用spfile,但spfile不能直接编辑,需要先把spfile转换成pfile,再对pfile编辑后,转成成新的spfile。

Oracle 控制归档

Oracle  控制归档

Oracle 控制归档在安装Oracle 11g时,默认为数据库运行在非归档模式下,这样可以避免在创建数据库的过程中对生成的重做日志进行归档。

当数据库开始正常运行后,就可以将它切换到归档模式中。

要将数据库在归档模式与非归档式之间进行切换,需要使用带ARCHIVELOG或NOARCHIVELOG子句的ALTER DATABAS语句。

1.改变日志操作模式从Oracle 10g开始,改变日志操作模式已经变得很简单,更容易管理。

在11g中,默认情况下,归档日志会存放到快速恢复区所对应的目录(由初始化参数DB_RECOVERY_FILE_DEST设定),并且会按照特定的格式生成归档日志文件名。

当想要将归档日志放在默认的路径下是,只需执行ALTER DATABASE ARCHIVELOG即可。

改变日志操作模式时,必须以SYSDBA和SYSOPER身份执行相应操作。

将数据库由非归档模式切换为归档式的具体操作步骤:(1)检查当前日志操作模式。

在改变日志操作模式之前,DBA应首先检查当前日志操作模式。

通过查询动态性能视图V$DATABASE,可以确定当前日志操作模式。

示例如下:SQL> select log_mode from v$database;LOG_MODE------------NOARCHIVELOG(2)关闭数据库,然后装载数据库。

改变日志操作模式只能在MOUNT状态下进行,因此必须先关闭数据库,然后重新装载数据库。

需要注意,如果要改变日志操作模式,那么在关闭数据库时不能使用SHUTDOWN ABORT命令。

示例如下:SQL> shutdown immediate;SQL>startup mount(3)改变日志操作模式,然后打开数据库。

将数据库转变为MOUNT状态后,就可以使用ALTER DATABASE语句将数据库切换到归档模式。

改变日志操作模式后,打开数据库。

示例如下:SQL> alter database archivelog;数据库已更改。

(Oracle管理)oracle归档日志管理

(Oracle管理)oracle归档日志管理

(Oracle 管理)oracle 归档日志管理oracle 归档日志管理在 Oracle 中,数据一般是存放在数据文件中,不过数据库与 Oracle 最大的区别之一就是数据库可以在数据出错的时候进行恢复。

这个也就是我们常见的 Oracle 中的重做日志(REDOFILE)的功能了。

在重做日志分成 2 部分,一个是在线重做日志文件,另外一个就是归档日志文件。

这里不详细说明在线重做日志,而是说一下归档日志(ArchiveLog)。

在线重做日志大小毕竟是有限的,当都写满了的时候,就面临着 2 个选择,第一个就是把以前在线重做日志从头擦除开始继续写,第二种就是把以前的在线重做日志先进行备份,然后对被备份的日志擦除开始写新的在线 RedoFile。

这种备份的在线重做日志就是归档日志。

而数据库如果采用这种生成归档日志的模式的话,就是归档日志模式(ARCHIVELOG 模式),反之如果不生成归档日志,就是非归档日志模式(NOARCHIVELOG 模式)。

有了归档日志有什么好处了。

比如在这个月 1 号的时候备份了一次数据,然后过了 10 天,这 10 天生成了成百上千个在线重做日志,突然发现其中有一个数据磁盘出问题了,不能用了,那我该如何是好呢。

如果没有采用归档日志,那么实际上磁盘中只会有几个最新的在线重做日志。

那么我只能要不然把出问题的数据磁盘上所占据的表空间都删除掉。

但是如果是SYSTEM 表空间所涉及的磁盘出错,就没办法这么做了,只能用第二种方法。

那第二种方法就是把 1 号备份的数据拿出来恢复。

那么 1 号到 10 号之间的 10 天的数据都丢了,如果是关键系统,比如证券金融什么的系统,就要让你赔钱赔死掉。

但是如果有了归档日志,那么你这 10 天的重做日志都会存放起来,那么 DBA 首先把 1 号的备份数据恢复,然后再拿这 10 天的 REDO 日志来进行一次数据操作重放,那么就可以完全恢复最新的数据库,不会有什么后果了。

Oracle 配置归档位置

Oracle  配置归档位置

Oracle 配置归档位置归档日志文件保存的位置称为“归档目标”,档目标在初始化参数中进行设置。

DBA可以为数据库设置多个归档目标,不同的归档目标最好位于不面的磁盘中,以分布归档时磁盘的I/O操作。

通过设置初始化参数LOG_ARCHIVE_DEST_n,可以为数据库指定1到10个归档目标(n为1到10的整数)。

在进行归档时,Oracle会将重做日志组以相同的方式归档到每一个归档目标中。

利用LOG_ARCHIVE_DEST_n参数可以指定本地系统为归档目标,也可以指定远程的数据库为归档目标。

如果在设置LOG_ARCHIVE_DEST_n参数时使用了LOCATION关键字,则指定的归档目标为一个本地系统的目录。

例如:SQL> alter system set2 log_archive_dest_1='location=d:\oracledata\archive1';系统已更改。

SQL> alter system set2 log_archive_dest_2='location=d:\oracledata\archive2';系统已更改。

SQL> alter system set2 log_archive_dest_3='location=d:\oracledata\archive3';系统已更改。

如果在设置LOG_ARCHIVE_DEST_n参数时使用了SERVICE关键字,指定的归档目标则是一个远程数据库。

例如:SQL>alter system set log_archive_dest_2='service=DBY1'其中,DBY1是一个远程备用数据库的服务名。

使用实始化参数LOG_ARCHIVE_DEST_n配置归档位置时,可以在归档位置上指定OPTIONAL或MANDATORY选项。

指定MANDATORY选项时,可以设置REOPEN属性,作用如下:●OPTIONAL 该选项是默认选项,使用该选项时,无论归档是否成功,都可以覆盖重做日志。

Oracle归档的开启和关闭

Oracle归档的开启和关闭

Oracle归档的开启和关闭⼀、开启归档1.设置归档⽬录alter system set log_archive_dest_1='location=/arch' scope=spfile;2.设置归档⽇志格式alter system set log_archive_format='arch_%t_%s_%r.arc' scope=spfile;3.⼀致性关闭数据库shutdown [immediate | normal]4.启动到mount阶段(startup mount)5.切换到归档模式(alter database archivelog[manual])6.切换到open阶段(alter database open)7.查看是否归档模式(archive log list;)Database log mode Archive ModeAutomatic archival EnabledArchive destination /arch/orclOldest online log sequence 32855Next log sequence to archive 32859Current log sequence 32859select log_mode from v$database;LOG_MODE-------------------ARCHIVELOGselect archiver from v$instance;ARCHIVE-----------------STARTED8.⼿⼯切换⽇志alter system switch logfile;select name from v$archived_log;⼆、关闭归档1.⼀致性关闭数据库shutdown [immediate | normal]2.启动到mount阶段(startup mount)3.切换到归档模式(alter database noarchivelog)4.切换到open阶段(alter database open)5.查看是否归档模式(archive log list;)Database log mode No Archive ModeAutomatic archival DisabledArchive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 35837Current log sequence 35841select log_mode from v$database;LOG_MODE-------------------NOARCHIVELOGselect archiver from v$instance;ARCHIVE-----------------STOPPED。

oracle数据库归档日志使用情况

oracle数据库归档日志使用情况

oracle数据库归档日志使用情况Oracle数据库归档日志使用情况概述:数据库归档日志是Oracle数据库中一个重要的组成部分,它用于记录数据库的所有变更操作,以便数据库在出现故障或需要恢复时能够通过日志进行数据的恢复。

本文将详细介绍Oracle数据库归档日志的使用情况,包括归档日志的作用、生成方式、存放位置以及管理方法等。

一、归档日志的作用数据库归档日志的主要作用是提供了数据的完整性和可恢复性。

当数据库发生故障,如硬件故障、数据库崩溃或意外删除数据等情况,通过归档日志可以使数据库回滚到故障前的状态或恢复数据至故障发生时的状态。

此外,归档日志还可以用于数据库的灾难恢复、数据库的克隆和备份等操作。

当数据库需要从远程站点进行恢复或克隆时,可以通过归档日志来还原数据库至远程站点的状态,实现数据的同步。

同时,归档日志还可以用于数据库的备份,确保备份是最新的,并且能够完全恢复数据库。

二、归档日志的生成方式Oracle数据库归档日志有两种生成模式,一种是归档模式,另一种是非归档模式。

1. 归档模式数据库处于归档模式时,它会自动将日志文件复制到指定的目录中,以便进行数据的归档和恢复。

在归档模式下,数据库的归档日志会自动生成,并且只有归档日志被才会被复制到指定的归档目录中。

归档模式是默认的数据库模式,它可以通过以下命令进行启用:ALTER DATABASE ARCHIVELOG;2. 非归档模式与归档模式相反,非归档模式下数据库不会自动进行归档操作,也就是说不会生成归档日志。

这种模式适用于对数据的可恢复性要求不高的情况,或者是为了降低数据库的I/O负载,减少磁盘空间的占用。

非归档模式可以通过以下命令进行启用:ALTER DATABASE NOARCHIVELOG;需要注意的是,一旦数据库启用了归档模式,就不能再切换到非归档模式。

因此,在启用归档模式前需要谨慎考虑数据库的需求和成本效益。

三、归档日志的存放位置归档日志的存放位置由参数log_archive_dest_n(n为1-10的整数)指定。

ORACLE10g数据库REDO LOG无法归档

ORACLE10g数据库REDO LOG无法归档

操作步骤二
操作时间:9:12 主机名:zjpost2 操作内容:手工进行归档 操作命令:Alter system archive log all; 操作结果:命令长时间没反映,redolog 状态仍然依旧
操作步骤三
操作时间:9:15 主机名:zjpost2 操作内容:强制切换redolog 操作命令:Alter system switch logfile; 操作结果:LOG能正常切换,但归档状态 仍然为“NO”
浙江省储蓄系统数据库REDO LOG 无法归档故障情况汇报
2010.1.16 田蔚元
目 录
故障总体情况 操作步骤 故障初步原因分析 预防建议

故障总体情况
1月16日上午9:04,我值班人员接到全国中心值班 人员电话,反映我省数据库redo log未归档数超限。 9:10我省系统管理到现场,查看redo log组时, 发现当时2号实例有5组LOG未进行归档。 在进行手工归档、redo log强制切换等一系列操 作后故障现象依旧。 9:15开始关闭数据库1号实例,此时已经无法用 shutdown immediate命令正常关闭数据库。 9:45将应用服务强制切换到2号主机,并在交易正 常后,对1号主机进行重启工作。 在1号机执行reboot命令后几秒钟,发现所有redo log均正常归档。
TOP
故障初步原因分析
故障发生后,Oracle工程师在检查 /oracle/product/CRS/log/unizj*/crsd/crsd.log文件时,发现从 16日凌晨6:14就开始报: 2010-01-16 06:14:15.584: [ CRSEVT][105226] CAAMonitorHandler :: 0:Action Script /oracle/product/CRS/bin/racgwrap(check) timed out f or ora.unizj1.vip! (timeout=60) 2010-01-16 06:14:15.602: [ CRSAPP][105226] CheckResource error for ora.unizj1.vip error code = -2 2010-01-16 06:15:48.678: [ CRSEVT][105230] CAAMonitorHandler :: 0:Could not join /oracle/product/CRS/bin/racgwrap(check) category: 1234, operation: scls_process_join, loc: childcrash, OS error: 0, other: Abnormal termination of the child
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

当前日志序列 52
二、启用闪回恢复区归档(Oracle 10g新特性)-Oracle数据库安装完成后首次创建自动归档日志
1、启动SQL*PLUS以管理身份登录Oracle数据库:
SQL> connect / as sysdba
2、关闭数据库实例
SQL> shutdown immediate
的归档(自己创建归档日志路径)
1、启动SQL*PLUS以管理身份登录Oracle数据库:
SQL> connect / as sysdba
2、关闭数据库实例
SQL> shutdown immediate
SQL> alter system set log_archive_format='BE%S_%R_%T.arc' scope=spfile;
四、闪回恢复区归档与类Oracle9i归档的切换
类Oracle9i归档到闪回恢复区归档:
1、以SYSDBA身份登录Oracle的OEM,依次选择管理->数据库配置中的所有初始化参数:
闪回恢复区归档到类Oracle9i归档:同三,只应用7、8、9步骤即可。
●如果在Oracle安装结束后先做闪回恢复区归档,后改为类Oracle9i归档,如果手工将原归档文件删除,则需要以Rman方式来清理失 效的日志记录信息,操作步骤如下:
1、以sysdba身份登录到Rman:
3、备份数据库:在对数据库做出任何重要的改变之前,建议备份数据库以免出现任何问题。
4、启动一个新的实例并装载数据库,但不打开数据库:
SQL> startup mount
5、转换数据库的存档模式为归档方式:
SQL> alter database archivelog ;
3、备份数据库:在对数据库做出任何重要的改变之前,建议备份数据库以免出现任何问题。
4、启动一个新的实例并装载数据库,但不打开数据库:
SQL> startup mount
5、转换数据库的存档模式为归档方式:
SQL> alter database archivelog ;
7、打开数据库:
SQL> alter database open ;
8、察看已连接实例的存档信息:
SQL> archive log list ;
数据库日志模式 非存档模式
自动存档 禁用
存档终点 E:oraclearc
最早的联机日志序列 50
6、打开数据库:
SQL> alter database open ;
7、在数据库实例启动后允许自动存档方式:
SQL> alter system archive log start ;
8、通过资源管理器察看flash_recovery_area的日志文件结构快照如下:
一、关闭归档
1、启动SQL*PLUS以管理身份登录Oracle数据库:
SQL> connect / as sysdba
2、关闭数据库实例
SQL> shutdown immediate
3、备份数据库:在对数据库做出任何重要的改变之前,建议备份数据库以免出现任何问题。
SQL> alter system set log_archive_dest_1=' location=E:\oracle\arc' scope=spfile;
9、指定归档日志文件名命名格式:使用%s来包含日志序号作为文件名的一部份,并且使用%t来包含线程号,使用大写字母(%S和%T)来以0填 补文件名左边的空处。
4、启动一个新的实例并装载数据库,但不打开数据库:
SQL> startup mount
5、禁止自动存档
SQL> alter system archive log stop;
6、禁止存档联机重做日志:转换数据库的存档模式。
SQL> alter database noarchivelog ;
9、关闭flash_recovery_area归档:
SQL>alter database flashback off ;
10、闪回区默认的存储空间为2G,修改FLASH_RECOVERY_AREA空间为20GB:
SQL> alter system set DB_RECOVERY_FILE_DEST_SIZE=20g ;
2、选择“当前”的初始化参数,将“在当前正在运行的实例模式下将更改应用于 SPFile。对于静态参数, 必须重新启动数据库。”选中,查找参数“log_archive_dest_1”、“log_archive_dest_2“...,将所有上述的参数值 清空,其它参数保持不变,点击应用按钮后注销退出。
The following variables can be used in the format:
%s log sequence number
%S log sequence number, zero filled
%t thread number
%T thread number, zero filled
6、打开数据库:
SQL> alter database open ;
7、在数据库实例启动后允许自动存档方式:
SQL> alter system set log_archive_start=true scope=spfile;
8、指定归档日志文件的存放位置并记录到SPFILE:
GROUP# ARC
---------- ---
1 NO
2 YES
3 YES
●查看当前的存档模式:
SQL> select log_mode from sys.v$database ;
LOG_MODE
C:>rman nocatalog target
2、删除失效的日志记录信息:
RMAN>crosscheck archivelog all;
RMAN>delete expired archivelog all;
●查询那一个联机重做日志组需要存档:
SQL> select group#,archived from sys.v$log ;
相关文档
最新文档