oracle数据库归档模式管理

合集下载

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

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

Oracle数据库中查看、修改归档模式一、查看数据库是否为归档模式以下提供两种方式查看数据库是否为归档模式:1、select name,log_mode from v$database;在com中执行如下:C:\Users\xiezhanglin>sqlplus system/saSQL*Plus: Release 10.2.0.1.0 - Production on 星期五12月17 17:11:25 2010Copyright (c) 1982, 2005, Oracle. All rights reserved.连接到:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining optionsSQL>select name,log_mode from v$database;NAME LOG_MODE--------- ------------ORCL NOARCHIVELOG可以看到实例为orcl的数据库归档模式为NOARCHIVELOG2、archive log list;(该方法需要as sysdba)在com中执行如下:C:\Users\xiezhanglin>sqlplus system/sa as sysdba;SQL*Plus: Release 10.2.0.1.0 - Production on 星期五12月17 17:14:17 2010Copyright (c) 1982, 2005, Oracle. All rights reserved.连接到:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining optionsSQL>archive log list;数据库日志模式非存档模式自动存档禁用存档终点USE_DB_RECOVERY_FILE_DEST最早的联机日志序列23当前日志序列25二、非归档模式修改为归档模式的步骤1、用system登录。

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;由于没有重启数据库,所以归档⽇志的⽂件格式仍然是默认的格式。

关于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中已经废除了该参数,所以不需要设置该参数。

oracle归档和非归档模式

oracle归档和非归档模式
非归档模式优点缺点1dba工作减少2性能提升1只能进行脱机备份冷备份数据库必须关闭2必须备份完整的数据库不能备份部分3不能增量备份4只能部分恢复如果数据文件丢失dba只能恢复最后一次的完全备份如何选择非归档模式只适用于例程失败时恢复数据不能够用来保护介质损坏
归档与非归档模式
小组成员:张苹、弋春叶、赵雪莲
8.日志文件修复 8.日志文件修复
—— 谢 谢——
操 作
(日志文件的移动重命名 1、 关闭数据库 2、 使用操作系统命令拷贝,移动或重命名重做日志文件 3、启动 4、 使用alter database rename file ‘original name’ to ‘new name’ 命令更新 控制 5、文件 打开数据库) Sql>Shutdown immediate 手动移走redo01.log文件 Sql>startup mount 报错说找不到redo01.log文件 Sql>alter database rename file ‘原路径’ to ‘新路径’ Alter database open;
与归档信息相关的视图:
1. 将数据库日志模式由非归档改为归档模式 Startup mount Alter database archivelog;
操 作
2. 查看v$log和v$logfile 查看v$log和 Desc v$log,desc v$logfile 查看数据字典中包含了哪些内容
3. 增加一个日志文件组4,组中放入一个成员(redo04.log) 增加一个日志文件组4,组中放入一个成员(redo04.log) Alter database add logfile group 4 (‘D:\oracle\product\10.2.0\oradata\orcl\ (‘D:\oracle\product\10.2.0\oradata\orcl\redo04.log’) size 10M; 4.向日志文件组4再增加一个成员(redo04a.log) 4.向日志文件组4再增加一个成员(redo04a.log) Alter database add logfile member ‘D:\oracle\product\10.2.0\oradata\orcl\ ‘D:\oracle\product\10.2.0\oradata\orcl\redo04a.log’ to group 4;

查询oracle归档日志是否开启,Oracle开启归档日志以及关闭归档日志

查询oracle归档日志是否开启,Oracle开启归档日志以及关闭归档日志

查询oracle归档⽇志是否开启,Oracle开启归档⽇志以及关闭归档⽇志racle数据库可以运⾏在2种模式下:归档模式(archivelog)和⾮归档模式(noarchivelog)归档模式可以提⾼Oracle数据库的可恢复性,⽣产数据库都应该运⾏在此模式下,归档模式应该和相应的备份策略相结合,只有归档模式没有相应的备份策略只会带来⿇烦。

本⽂简单介绍如何启⽤和关闭数据库的归档模式。

1.归档⽇志开启准备⼯作:1.进⼊dos窗⼝—>>> 菜单键+R,进⼊ 运⾏ 界⾯,输⼊cmd2.登录 sqlplus,—>> ⽅法: sqlplus/nolog,切忌:不要输⼊sqlplus/noarchivelog; 加上 分隔符 ;,这样进⼊的sqlplus的命令参数帮助3.登⼊管理员—>> ⽅法: conn/as sysdba;4.开启归档⽇志4.1 shutdown immediate; –关闭数据库4.2 startup mount; – 打开数据库4.3 alter database archivelog;—开启归档⽇志4.4 alter database open;–开启数据库4.5 archive log list; – 查看归档⽇志是否开启开启状态:数据库⽇志模式 存档模式⾃动存档 启⽤存档终点 USE_DB_RECOVERY_FILE_DEST最早的联机⽇志序列 49下⼀个存档⽇志序列 51当前⽇志序列 515.关闭归档⽇志5.1 shutdown immediate;5.2 startup mount;5.3 alter database noarchivelog;5.4 alter database open;5.5 archive log list ;–查看归档⽇志是否关闭数据库⽇志模式 ⾮存档模式⾃动存档 禁⽤存档终点 USE_DB_RECOVERY_FILE_DEST最早的联机⽇志序列 49当前⽇志序列 51归档⽇志开启语句:Microsoft Windows [版本 6.1.7601]版权所有 (c) 2009 Microsoft Corporation。

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 语句中指定数据库的日志模式。

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 日志归档原理Oracle数据库日志归档(Archive Log Mode)是数据库管理系统中用于实现数据库可恢复性的重要机制。

在归档模式下,Oracle数据库会将已填满的联机重做日志文件的内容复制到单独的归档日志文件中,并且只有在当前的日志内容被安全地归档后,才会覆盖或重新使用这些联机重做日志。

以下是Oracle日志归档的基本原理:1.联机重做日志:•Oracle数据库运行时会产生一系列的联机重做日志文件(Online Redo Logs),这些文件按照日志组的方式组织,每个日志组内包含一个或多个日志成员。

•当数据库执行事务处理时,所有对数据库的修改都会以重做记录的形式写入当前活动的日志组中。

2.日志切换:•随着数据库操作的进行,当前日志组填满后,会触发日志切换(Log Switch),即系统开始往下一个日志组中写入新的重做记录。

•在非归档模式下,旧的日志组可以被覆盖和重复使用;而在归档模式下,必须先将旧日志组的内容归档才能进行切换。

3.归档过程:•归档是由后台进程ARCn (Archiver) 自动完成的,或者管理员可以通过手动方式将填满的联机重做日志文件复制到指定的归档位置。

•归档日志文件具有与原始联机日志相同的逻辑内容,并带有唯一的日志序列号(Log Sequence Number, LSN),以便在恢复过程中确定应用重做记录的顺序。

4.作用:•在发生故障需要恢复数据库时,通过应用归档日志中的重做记录,可以将数据库状态恢复到故障发生前的任意时间点(Point-in-Time Recovery, PITR)。

•对于数据库镜像、数据保护以及维护高可用性环境如Data Guard(物理/逻辑standby数据库)也是至关重要的。

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数据库进行备份和恢复操作,并支持增量备份、压缩备份等功能。

ORACLE归档模式和非归档模式的利与弊

ORACLE归档模式和非归档模式的利与弊

ORACLE归档模式和⾮归档模式的利与弊转:在Oracle数据库中,主要有两种⽇志操作模式,分别为⾮归档模式与归档模式。

默认情况下,数据库采⽤的是⾮归档模式。

作为⼀个合格的数据库管理员,应当深⼊了解这两种⽇志操作模式的特点,并且在数据库建⽴时,选择合适的操作模式笔者今天就谈谈⾃⼰对这两种操作模式的理解,并且给出⼀些可⾏的建议,跟⼤家⼀起来提⾼Oracle数据库的安全性。

⼀、⾮归档模式的利与弊。

⾮归档模式是指不保留重做历史的⽇志操作模式,只能够⽤于保护例程失败,⽽不能够保护介质损坏。

如果数据库采⽤的是⽇志操作模式的话,则进⾏⽇志切换时,新的⽇志会直接覆盖原有⽇志⽂件的内容,不会保留原有⽇志⽂件中的数据。

这么说听起来可能⽐较难理解。

笔者举⼀个简单的例⼦,就会清楚许多。

如现在Oracle数据库中有四个⽇志组,⽇志序列号分别为11、12、13、14。

当数据库事务变化写满第⼀个⽇志组⽂件(序列号为11)时,Oracle数据库就会⾃动切换到第⼆个⽇志组⽂件(序列号为12)中。

依次类推。

当第三个⽇志组⽂件(序列号为13)写满时,就会切换到第四个⽇志组(序列号为14)。

当第四个⽇志组(序列号为14)满时,其就会切换到第⼀个⽇志组(序列号为15)。

这⾥,序列号虽然与刚才第⼀个⽇志⽂件组不同,但是⽇志组仍然是同⼀个。

此时,由于数据库的操作模式选择为⾮归档模式,所以第⼀组⽇志⽂件(序列号为11)中的内容并没有归档。

新的⽇志⽂件的内容将直接覆盖第⼀个⽇志组⽂件中的内容。

若第⼀个⽇志组⽂件(序列号为15)满时,切换到第⼆个⽇志⽂件组时,新的内容⼜会在第⼆个⽇志⽂件组没有归档的情况下,直接覆盖⽇志⽂件12中的原有数据。

通过以上的分析,我们可以归纳出⾮归档操作⽇志模式的⼀些特点。

⼀是当检查点完成之后,后台进程可以覆盖原有重做⽇志的内容。

也就是说,在⽇志切换时,后来的⽇志⽂件内容可以在以前的⽇志⽂件内容没有归档的情况下,覆盖原有⽇志⽂件的内容。

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归档模式和⾮归档模式的区别⼀。

查看oracle数据库是否为归档模式:Sql代码1.select name,log_mode from v$database;NAME LOG_MODE------------------ ------------------------QUERY NOARCHIVELOG2.使⽤ARCHIVE LOG LIST 命令Database log mode No Archive ModeAutomatic archival DisabledArchive destination /data/oracle/product/10.2.0/db_1//dbs/archOldest online log sequence 739Current log sequence 741[sql] view plaincopyprint?1.select name,log_mode from v$database;NAME LOG_MODE------------------ ------------------------QUERY NOARCHIVELOG2.使⽤ARCHIVE LOG LIST 命令Database log mode No Archive ModeAutomatic archival DisabledArchive destination /data/oracle/product/10.2.0/db_1//dbs/archOldest online log sequence 739Current log sequence 7411.select name,log_mode from v$database;NAME LOG_MODE------------------ ------------------------QUERY NOARCHIVELOG2.使⽤ARCHIVE LOG LIST 命令Database log mode No Archive ModeAutomatic archival DisabledArchive destination /data/oracle/product/10.2.0/db_1//dbs/archOldest online log sequence 739Current log sequence 741⼆。

oracle归档文件解析

oracle归档文件解析

oracle归档文件解析
在Oracle数据库中,归档文件(Archive Log Files)是记录数据库操作的重要组成部分,特别是在启用了归档模式的情况下。

归档文件的生成和解析对于数据库的备份和恢复以及数据完整性至关重要。

以下是有关Oracle归档文件解析的一些基本信息:
1.归档模式:在Oracle数据库中,启用归档模式后,数据库会将重要的日志文件保存为归档文件,以便在需要时进行恢复。

2.生成归档文件的条件:归档文件生成的条件通常包括日志切换(log switch)或手动切换,以及达到了特定的归档日志大小或时间限制。

3.归档文件的命名规则:归档文件的命名通常遵循一定的规则,其中包括数据库名称、日志序列号、时间戳等信息。

这有助于在需要时快速识别和检索归档文件。

4.解析归档文件:归档文件的解析可以通过查看归档文件的命名规则和元数据信息来实现。

Oracle提供了一些系统视图,如`V$ARCHIVED_LOG`,用于查看归档文件的相关信息。

5.归档文件的作用:归档文件对于数据库备份、恢复和数据保护非常重要。

它们允许在数据库发生故障时还原到先前的状态。

6.管理归档文件:管理归档文件包括定期备份、清理过期的归档文件,以及确保数据库有足够的空间来存储归档文件。

在进行数据库备份和恢复时,了解和熟悉归档文件的生成、命名规则和解析方法是非常重要的。

这有助于数据库管理员有效地管理数据库的日志文件,确保数据库的可靠性和一致性。

Oracle归档模式及归档日志的操作

Oracle归档模式及归档日志的操作

ORACLE归档模式及归档日志的操 作
归档模式及归档日志基本概念
为什么要给Oracle做归档操作? Oracle数据库有联机重做日志,这个日志是记录对数据库所做的修改,比如插 入,删除,更新数据等,对这些操作都会记录在联机重做日志里。 当ORACLE数据库运行在ARCHIVELOG(归档模式)模式时,所有的事务重做日志 都将保存.这意味着对数据库进行的所有事务都留有一个备份,尽管重做日志以 循环方式工作,但在一个重做日志被覆盖前均将为其建立一个副本.在重做日志 文件复制完成之前,ORACLE数据库将停止一切新的操作,在旧的事务记录完成之 前ORACLE不对其进行覆盖.有了所有事务的副本,数据库就可以从所有类型的失 败中恢复,包括用户错误或磁盘崩溃.这是一种最安全的数据库工作方式。在实 际开发中,归档模式是符合开发的,归档模式可以提高Oracle数据库的可恢复 性,生产数据库都应该运行在此模式下,数据库使用归档方式运行时才可以进 行灾难性恢复。
LINUX系统开启归档模式
修改数据库为归档模式(需在关闭数据库后操作,操作完成后启动数据库) alter database 改为非归档,则执行: alter database noarchivelog;)
WINDOWS开启归档模式
删除归档日志释放磁盘空间
先查看归档日志状态: RMAN>list archivelog all; 手工删除归档日志文件(删除7天前的所有归档日志) RMAN>DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7'; 说明: SYSDATA-7,表明当前的系统时间7天前,before关键字表示在7天前的归档日志, 如果使用了闪回功能,也会删除闪回的数据。 同样道理,也可以删除从7天前到现在的全部日志,不过这个命令要考虑清楚, 做完这个删除,最好马上进行全备份数据库。

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。

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

linux中oracle如何打开归档模式并设置归档路径
ArcY_FILE_DEST
Oldest online log sequence 216
Current log sequence218
从执行结果来看,数据库日志模式为“非存档模式”,自动存档状态为“禁用”状态。这个时候就需要手动调整设置,开启归档模式。
这里,特别需要强调的是,开启归档模式操作,是需要关闭数据库的,会造成停机,导致业务无法正常访问数据库。一定要提前与用户沟通,切勿直接关闭。
确定无误后,使用shutdownimmediate关闭数据库
SQL>shutdown immediate;
Database closed.
Database dismounted.
linux中oracle如何打开归档模式
大家都知道,默认安装oracle数据中后,数据库的归档日志是非开启状态。对于生产库来说,一定要开启归档模式,这样才能确保在发生误操作行为后,通过归档日志来快速恢复数据,对数据安全有十分重要的意义。
在windows环境中启动数据库的归档模式一般来说很简单,只需要简单的几个命令即可实现。但是对于linux操作系统,很多用户都是陌生状态,完全不知道如何操作。只因为对linux系统操作不熟练而导致的。废话不多说。下面就介绍干货,真实操作实验记录,需要对大家有所帮助。
首先需要登录linux数据库。我们一般的远程工具是xshell,输入linux对应服务器ip地址已经用户、密码和端口(一般端口为22),点击连接即可登录,这里切记,一定要是用oracle用户登录。登录后需要先登录的数据库中。为便于区分,下面将输入的命令用红色加粗字体显示。
[oracle@rac ~]$sqlplus / as sysdba
[oracle@rac datafile]$

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。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

10、数据库归档模式管理
实验目的:掌握数据库归档模式转换和设置
实验内容:将数据库由非归档模式转化为归档模式,备份数据库,设置归档模式下的参数
实验环境:
实验步骤:
1、以sys登录数据库,并查看数据库的模式
SQL>conn sys/orcl@orcl as sysdba
SQL>shutdown immediate;
SQL>startup mount;
SQL>archive log list;
2、将数据库改为归档模式,并查看归档文件状态
SQL>alter database archivelog;
#设置为非归档模式的命令:alter database noarchivelog;
SQL>alter database open;
--Oracle自动启动归档后台进程。

SQL>show parameter log_archive_dest_;
注:设置为归档模式后,如果重启Oracle会出现如下错误信息:
这个信息是因为oracle10g会自动启动归档后台进程,不需要归档后台进程参数log_archive_start自启动参数设置了,这时候会出现上述提示该参数作废,不再使用的信息。

3、将数据库重新进行备份,由于更改了归档模式,所以在非归档模式下的备份已经不能使
用了。

//查询数据文件、重做日志文件、控制文件、参数文件、口令文件的位置
//查看数据文件
SQL>desc dba_data_files
SQL>select file_name from dba_data_files;
//查看重做日志文件
SQL>desc v$logfile
SQL>select group#,member from v$logfile;
//查询控制文件
SQL>desc v$controlfile;
SQL>select name from v$controlfile;
//查询参数文件位置
SQL>show parameter pfile;
//口令文件位置
%ORACLE_HOME%\database\pwdorcl.ora
//创建备份用文件夹,对应于现有的Oracle系统路径
例如:SQL>host md f:\oradata\orcl


//由于数据库是归档模式,因此可以联机备份,不再脱机备份
//将上面的文件复制到相应的文件夹中
SQL>host copy c:\oracle\product\10.2.0\oradata\orcl\*.* f:\oradata\orcl


4、归档进程设置
Oracle系统默认的归档进程最大值是2个,下面可以查询如下参数来证实一下:
SQL>show parameter log_archive_max_processes;
在较大型或者繁忙的归档模式下的Oracle数据库中,这样只有两个归档后台进程的设置,往往会因为ARCn(归档后台进程)进程跟不上LGWR,造成数据库性能下降。

我们可以通过设置参数来改变这种状况:
SQL>alter system set log_archive_max_processes=5 scope=both;
重启Oracle数据库,使参数生效。

5、设置归档文件数量、路径
归档日志文件中存储了数据库恢复所需的所有信息,如果归档日志文件损坏了,数据库的全部恢复是很难做到的。

所以对归档日志文件也要采取保护措施以防止由于磁盘或文件的损毁而造成的数据丢失。

我们这里采取的措施就是文件冗余,也就是把归档日志同时写到多个不同位置的归档文件中。

//查看归档文件数量、路径、状态
SQL>show parameter log_archive_dest_
看到了什么?还没有归档文件可用
下面来设置至少5,最多10个不同的归档日志文件路径:log_archive_dest_1~log_archive_dest10
SQL>alter system set log_archive_dest_1=”location=f:\offlinelog\mandatory”;
SQL>alter system set log_archive_dest_2=”location=f:\offlinelog\optio nal”;


SQL>alter system set lo g_archive_dest_10=”location=f:\offlinelog\optional”
--其中location是表示归档日志文件将放在指定的本地磁盘上。

--设置完后查看一下归档日志文件物理路径
SQL>show parameter log_archive_dest_;
//结果显示已经成功设置了归档日志文件路径
6、查看归档日志文件生成情况
SQL>host dir c:\offlinelog
结果没有文件。

这样的结果是什么原因造成的呢?
是由于时间短,产生的重做日志很少,还没有填满重做日志文件,没有发生重做日志的切换,当然也就不能产生归档日志文件了。

我们这里可以通过命令强制进行重做日志切换,从而产生日志归档而产生归档日志文件:
SQL>alter system switch logfile;
这是在查看归档日志文件夹,里面就有完全相同的文件了。

7、设置归档文件状态
在设置归档日志文件路径时有两个选项mandatory和optional,其中mandatory是强制写成功后才能重用,而optional不是强制的,这样往往是可以使用的归档文件只有1个,比较危险和脆弱。

因此Oracle引入了一个参数log_archive_min_succeed_dest,通过这个参数可以保证成功的归档日志文件数量(最低要求),这样一来即使没有设置足够的强制参数(mandatory),系统也会保证最低的要求。

//查询log_archive_min_succeed_dest
SQL>show parameter log_archive_min_succeed_dest;
//设置log_archive_min_suceed_dest
SQL>alter system set log_archive_min_succeed_dest=2;
//设置完后,查询当前值,这是系统保证强制写成功的归档文件最少2个
SQL>show parameter log_archive_min_succeed_dest;
8、设置了mandatory后,如果没有写成功或者所在的磁盘坏了,会造成Oracle挂起的
错误,出现上面的故障的时候,怎样尽快解决这个问题呢?
我们可以针对某一个归档日志文件路径状态参数log_archive_dest_state_n改为defer就可以了
SQL>alter system set log_archive_dest_state_1 = defer;
这样系统就会忽略掉它而去写其他的归档日志文件
//查询状态
SQL>desc v$archive_dest;
SQL>select destination,binding,target,status from v$archive_dest;
注:为防止出现因mandatory参数设置造成的数据库挂起错误,我们可以不设置mandatory 这个参数,直接由log_archive_min_succeed_dest参数来保证就可以了。

9、手工强制归档的方法
SQL>alter system switch logfile;
//强制当前重做日志归档
SQL>alter system archive log current;
10、启动归档进程(Oracle10g之前)
//手工启动归档进程
SQL>alter system archive log start;
至此归档模式设置实验完成。

相关文档
最新文档