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 Archive log

Oracle归档日志(Archive Log 一)归档日志即重做日志的备份,使用归档日志的目的是为了实现介质恢复。
一.日志操作模式1.Noarchivelog(非归档模式)不保存重做日志。
不能在open状态下进行物理备份;要定期执行完全数据库备份;只能将数据库恢复到上次的完全备份点。
2.Archivelog当进行日志切换时,ARCH进程会将重做日志的内容复制到归档日志中。
在归档重做日志前,新事务变化不能覆盖旧事务变化。
可以在open 状态下进行物理备份。
可以将数据库恢复到失败前的状态。
可以是用备份数据库与主数据库保持同步。
二.开启归档1.改变日志操作模式shutdown immediate;startup mount;alter database archivelog;alter database open;修改日志操作模式后,必须重新备份数据库2.归档重做日志1).手工归档alter system archive log all;2).自动归档设置初始化参数:log_archive_start=trueshutdown immediate;startup pfile=.3).检查日志操作模式archive log list;三.指定归档位置1.使用log_archive_dest1).设置归档目录log_archive_dest log_archive_duplex_dest 2).设置归档日志格式2.使用log_archive_dest_n1).指定归档位置log_archive_dest_1=’location=f:\arc1’log_archive_dest_3=’service=standby’2).设置其他初始化参数log_archive_dest_state_1=enablelog_archive_dest_state_3=defer四.相关的一些脚本1.显示日志操作模式select log_mode from v$database2.显示归档日志信息select name,sequence#,first_change# from v$archived_log3.显示归档日志位置select destination from v$arvhive_dest4.显示日志历史信息select * from v$loghist;Oracle中的归档日志(Archive Log 二)在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 数据库的开发环境和测试环境中,数据库的日志模式和自动归档模式一般都是不设置的,这样有利于系统应用的调整,也免的生成大量的归档日志文件将磁盘空间大量的消耗。
但在系统上线,成为生产环境时,将其设置为日志模式并自动归档就相当重要了,因为,这是保证系统的安全性,有效预防灾难的重要措施。
这样,通过定时备份数据库和在两次备份间隔之间的日志文件,可以有效的恢复这段时间的任何时间点的数据,可以在很多时候挽回或最大可能的减少数据丢失。
一、要使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开启归档模式及修改归档⽬录⽇志满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的归档操作主要包括开启归档模式、修改归档日志路径以及删除归档日志等步骤。
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开启归档模式总结startup mount时遇到ORA-125141.查看数据库是否是归档模式SQL>archive log list;2.非归档模式更转为归档模式C:\Documents and Settings\Administrator>cd \C:\>lsnrctl statusC:\>sqlplus /nologSQL> conn sys/system@ora10g as sysdbaSQL> shutdown immediate;SQL> startup mount;ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务SQL> exitC:\>lsnrctl statusC:\>slqplus /nologSQL> conn sys/system@ora10g as sysdba;ERROR:ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务SQL> set display verboseSP2-0158: 未知的SET 选项"display"SQL> exitC:\>set display verbose环境变量display 没有定义C:\>lsnrctlLSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 03-3月-2008 13:5 1:37LSNRCTL> set display verbose服务显示模式为VERBOSELSNRCTL> serviceLSNRCTL> startTNS-01106: 使用名称LISTENER的监听程序已经启动LSNRCTL> reload正在连接到(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1))) 命令执行成功LSNRCTL> exitC:\>sqlplus /nologSQL> conn sys/system as sysdba已连接到空闲例程。
oracle 归档模式理解

oracle 归档模式理解Oracle 归档模式是一种数据库管理模式,它可以帮助数据库管理员有效地管理数据库的日志文件。
在这篇文章中,我们将深入探讨Oracle归档模式的概念、原理以及它在数据库管理中的作用。
我们来了解一下什么是归档模式。
归档模式是一种数据库管理策略,它能够将数据库的重要日志文件进行备份和存档,以便在需要时进行恢复和还原操作。
在Oracle数据库中,归档模式可以通过对数据库进行配置来启用。
在归档模式下,Oracle数据库会将所有的数据库操作记录保存在一个特殊的日志文件中,即归档日志文件。
这些归档日志文件可以用于数据库的恢复和还原操作。
当数据库发生故障或需要恢复到某个特定的时间点时,管理员可以使用归档日志文件进行恢复操作,以便将数据库恢复到故障前的状态。
归档模式的原理是通过将数据库的日志文件进行备份和存档,以确保数据库的完整性和可用性。
当数据库发生故障时,管理员可以使用归档日志文件将数据库还原到故障前的状态。
此外,归档日志文件还可以用于数据库的迁移和升级操作,以及数据的长期存储和备份。
在实际的数据库管理中,归档模式具有重要的作用。
首先,归档模式可以保证数据库的可用性和持久性。
通过定期备份和存档归档日志文件,管理员可以在数据库发生故障时快速恢复数据库。
其次,归档模式可以帮助管理员进行数据库的性能优化。
通过归档日志文件的分析和管理,管理员可以了解数据库的使用情况和性能瓶颈,并采取相应的措施来优化数据库的性能。
此外,归档模式还可以用于数据库的迁移和升级操作,以及数据的长期存储和备份。
为了启用归档模式,管理员需要对Oracle数据库进行相应的配置。
首先,管理员需要为数据库指定一个归档日志文件的存储位置。
其次,管理员需要创建一个归档日志文件组,用于存储归档日志文件。
最后,管理员需要启用归档模式,并定期备份和存档归档日志文件。
在实际的数据库管理中,管理员还需要注意一些与归档模式相关的注意事项。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle开启归档模式
Oacle归档模式是ORACLE热备份的必要条件,特别是7X24生产数据库,必须要工作在归档模式。
网上有说归档文件可否放在裸设备上,理论上应该可以,但是每一次归档都产生一个归档文件,那么我们务必建很多裸设备。
所以我们倾向于归档文件存于文件系统中。
假定e:/arch为归档目录。
Sqlplus /nolog
Conn /as sysdba #sysdba用户登陆
查看归档模式:
SQL> archive log list
数据库日志模式 非存档模式
自动存档 禁用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 14
当前日志序列 16
显示末归档。
关闭ORACLE:
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
启动到MOUNT状态:
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area 603979776 bytes
Fixed Size 1250380 bytes
Variable Size 272632756 bytes
Database Buffers 322961408 bytes
Redo Buffers 7135232 bytes
数据库装载完毕。
更改归档模式:
SQL> ALTER DATABASE ARCHIVELOG;
数据库已更改。
查看归档模式:
SQL> archive log list
数据库日志模式 存档模式
自动存档 启用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 14
下一个存档日志序列 16
当前日志序列 16
显示数据库已归档。
Oracle9i以前版本需要开启log_archive_start 参数
SQL> alter system set log_archive_start = true scope=spfile;
设定归档地址, log_archive_dest指定归档文件存放的路径,该路径只能是本地磁盘,默认为空。
如果设置log_archive_dest,就不能设置log_archive_dest_n,也不能设置db_recovery_file_dest。
也就是说log_archive_dest与log_archive_dest_n 是两套不同的归档方法,只能用一个。
SQL> alter system set log_archive_dest=' e:\arch ';
alter system set log_archive_dest=' e:\arch '
*
第 1 行出现错误:
ORA‐02097: 无法修改参数, 因为指定的值无效
ORA‐16018: 无法将 LOG_ARCHIVE_DEST 与LOG_ARCHIVE_DEST_n 或
DB_RECOVERY_FILE_DEST 一起使用
SQL> alter system set db_recovery_file_dest='';
系统已更改。
SQL> alter system set log_archive_dest=' e:\arch ';
系统已更改。
打开数据库:
SQL> alter database open
/
测试归档:
SQL>alter system switch logfile.
系统已更改.
查看归档情况:
SQ>select * from v$archived_log
另外从OS(e:\arch)目录也可以看到有文件生成。
更改归档路径:
SQL> alter system set log_archive_dest=' ';
SQL> alter system set log_archive_dest_1=' e:\arch ' scope=spfile;
如果想db_recovery_file_dest目录产生归档,设定log_archive_dest_2为db_recovery_file_dest目录即可。