oracle归档相关命令及常见问题

合集下载

oracle 归档日志原理

oracle 归档日志原理

oracle 归档日志原理
Oracle的归档日志是联机重做日志组文件的一个副本,它包含redo记录以及一个唯一的log sequence number。

当一个redo log group写满时,或者发出switch logfile指令时,就会触发日志组的切换。

当发生日志组切换时,ARC进程会将当前的重做日志数据写入归档日志。

LGWR进程将redo logbuffer中的重做数据写入到redo log中,这是内存读磁盘写的过程。

而ARC进程是将重做日志文件写入到归档文件,是磁盘读磁盘写的过程。

显然LGWR进程的读写效率或者读写速度比ARC进程要快。

在频繁发生DML操作的数据库中,可能会发生归档慢,而重做日志写入速度快的情况,这就会导致数据库被HANG住。

此时数据库什么也不做就是等待ARC进程将当前重做日志数据写入到归档文件。

这时候就要考虑启动更多的归档进程了,通过修改参数log_archive_max_processes来实现。

该参数是动态参数,直接修改即可。

以上内容仅供参考,如需更详细的解释,建议咨询数据库专业人员或查阅Oracle官方文档。

Oracle 使用RMAN备份数据库文件和归档日志

Oracle  使用RMAN备份数据库文件和归档日志

Oracle 使用RMAN 备份数据库文件和归档日志当数据库打开时,可以使用RMAN BACKUP 命令备份如下对象:● 数据库● 表空间● 数据文件● 归档重做日志● 控制文件● 备份集在使用BACKUP 命令备份数据文件时,可以为其设置参数,定义备份段的文件名,文件数和每个输入文件的通道。

1.备份数据库如果备份操作是在数据库被安全关闭之后进行的,那么对整个数据库的备份是一致的;与之相对应,如果数据库是在打开状态下对整个数据库进行的备份,则该备份是非一致的。

非一致性备份整个数据库的操作步骤如下:(1)启动RMAN 并连接到目标数据库,输入BACKUP DATABASE 命令备份数据库。

在BACKUP 命令中可以指定FORMA T 参数,为RMAN 生成的每个备份片段指定一个惟一的名称,以及存储的位置。

C:\>rman target system/admin nocatalogRMAN> backup database format 'f:\oracle_backup\ora11g_%Y_%M_%D_%U.bak' maxsetsize=2G; 还可以为BACKUP 命令指定TAG 参数,为备份片段定义备份标签。

例如: RMAN>backup database tag='weekly_backup';(2)如果建立的是非一致性备份,那么必须在完成备份后对当前的联机重做日志进行归档,因为在使用备份恢复数据库需要使用当前重做日志中的重做记录。

RMAN>sql'alter system archive log current';(3)在RMAN 中执行LIST BACKUP OF DA TABASE 命令,查看建立的备份集与备份片段的信息。

RMAN> list backup of database;如果需要对整个数据库进行一致性备份,则首先需要关闭数据库,并启动数据库到MOUNT 状态。

oracle关于归档日志和redo日志问题

oracle关于归档日志和redo日志问题

oracle关于归档⽇志和redo⽇志问题
使⽤⽤友NC的软件,后台oracle数据库已经使⽤了2年多了,⼀直没有搞清楚redo,归档⽇志是怎么回事。

先来个理论性的知识学习,在深⼊学实际使⽤。

重做⽇志redo log file是LGWR进程从Oracle实例中的redo log buffer写⼊的,是循环利⽤的。

就是说⼀个redo log file(group) 写满后,才写下⼀个。

归档⽇志archive log是当数据库运⾏在归档模式下时,⼀个redo log file(group)写满后,由ARCn进程将重做⽇志的内容备份到归档⽇志⽂件下,然后这个redo log file(group)才能被下⼀次使⽤。

不管数据库是否是归档模式,重做⽇志是肯定要写的。

⽽只有数据库在归档模式下,重做⽇志才会备份,形成归档⽇志。

归档⽇志结合全备份,⽤于数据库出现问题后的恢复使⽤。

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数据库中,归档模式可以通过对数据库进行配置来启用。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

归档模式的介绍

归档模式的介绍

归档模式的介绍任何数据库在长期使用过程中,都会存在一定的安全隐患。

数据库恢复就是当数据库发生故障后,希望能重新建立一个完整的数据库。

Oracle数据库可以运行在2种模式下:归档模式(archivelog)和非归档模式(noarchivelog)。

归档模式可以提高Oracle数据库的可恢复性,生产数据库都应该运行在此模式下,归档模式应该和相应的备份策略相结合。

Oracle的日志文件至少有两个,当第一个写满了,就会接着写第二个,第二写满后,如果是归档模式就会要求你提供路径保存日志文件,如果是非归档模式则会直接覆盖第一个日志文件。

这就是归档模式和非归档模式的最简单区别。

数据丢失的原因各种各样。

可能导致数据丢失的一些最常见的故障类型:1、语句故障:是Oracle 程序在处理语句时的逻辑错误。

例如,用户执行了无效SQL 结构的语句。

当发生语句故障时,Oracle 自动撤销语句的所有效果并将控制返回给用户。

2、进程故障是访问Oracle 的用户进程中出现的故障(即异常断开或进程终止)。

尽管Oracle 和其他的用户进可以继续工作,但出现故障的用户进程将不能继续工作。

如果用户进程在更改数据库时出现故障,则Oracle 后台进程将撤销未提交事务的效果。

3、实例故障是使Oracle 实例(即SGA 和后台进程)无法继续工作的问题。

实例故障可能源于硬件问题(如电力中断)或软件问题(如操作系统崩溃)。

当实例出现故障时,Oracle 不会将SGA 缓冲区中的数据写到数据文件中。

4、用户或应用程序错误是导致数据丢失的用户错误。

例如,用户可能无意地从工资单表中删除数据。

这种用户错误可能需要将数据库或对象恢复到该错误发生前的某个时间点上。

为了允许从用户错误中恢复过来并满足其他独特的恢复要求,Oracle 提供了闪回技术。

5、介质故障是当Oracle 试图写或读操作数据库所需要的文件时出现的物理问题。

一个常见的例子是磁盘头损坏,它将导致磁盘驱动器上的所有数据丢失。

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数据库中,归档日志(Archived Logs)是一种重要的数据库日志,用于记录数据库发生的所有变更操作,以便在系统故障或数据损坏时进行数据库恢复。

以下是有关归档日志的一些关键概念和解释:1. 日志文件:Oracle数据库通过日志文件(Redo Log)记录所有对数据库的变更操作。

这包括插入、更新和删除操作。

日志文件的作用是保留数据库的变更历史,以便在需要时进行恢复。

2. 在线日志和归档日志:日志文件分为在线日志和归档日志两种类型。

在线日志包含当前正在进行的事务的日志信息,而归档日志包含已经完成的事务的日志信息。

当在线日志满了或发生特定的切换事件时,其中的日志会被归档到归档目录中。

3. 归档目录:归档日志被存储在一个被称为归档目录(Archive Destination)的特定位置。

这可以是本地磁盘、网络位置或远程服务器。

在配置归档目录时,确保有足够的磁盘空间存储归档日志,因为这对数据库的正常运行和故障恢复至关重要。

4. 日志切换:当在线日志文件满了或发生某些事件时,数据库会执行一个日志切换(Log Switch)。

这时,当前的在线日志文件会被标记为不可用,并且一个新的在线日志文件会开始记录新的变更。

同时,旧的在线日志文件会被归档。

5. 数据库恢复:归档日志对数据库的恢复非常关键。

如果数据库发生故障,系统可以利用归档日志中的信息,从最后一个完整备份以来的任何时间点将数据库还原到一致的状态。

这种恢复过程称为“介质恢复”(Media Recovery)。

总的来说,归档日志是Oracle数据库中一项关键的功能,它确保了数据库的可靠性和一致性,同时提供了故障恢复的能力。

oracle归档文件解析 -回复

oracle归档文件解析 -回复

oracle归档文件解析-回复Oracle归档文件解析[oracle归档文件解析]的问题涉及到Oracle数据库中的归档文件。

归档文件对于数据库的运行和管理非常重要,它们记录了数据库的所有事务操作,确保数据的持久性和一致性。

在本文中,我们将逐步解析Oracle 归档文件的概念、作用、管理和恢复。

一、什么是归档文件?归档文件是Oracle数据库中的重要组成部分,它们记录了数据库的变化操作,包括插入、更新和删除等事务。

这些归档文件通常被保存在归档目录中,以便在需要时进行回滚或恢复操作。

二、归档文件的作用1. 数据备份和恢复:归档文件可以用于数据库的备份和恢复。

在每次数据库事务提交后,归档文件会被生成并保存,以便在需要时将数据库恢复到特定的时间点。

2. 系统故障恢复:当数据库发生故障时,如服务器断电或磁盘损坏,归档文件可以用于还原数据库到最后一次完整备份之后的任意时间点。

3. 数据库复制:通过归档文件,可以将数据库的变更操作应用于其他数据库副本,实现数据的复制和同步。

4. 事务日志分析:归档文件中记录的事务操作可以用于分析和优化数据库的性能,识别潜在的性能问题和系统瓶颈。

三、归档文件管理1. 归档模式设置:Oracle数据库支持两种归档模式,即归档模式和非归档模式。

在归档模式下,归档文件会被自动创建并保存在指定的归档目录中;在非归档模式下,数据库不会生成归档文件,而是自动覆盖事务日志。

2. 归档文件清理:由于归档文件会占用一定的存储空间,为避免过度占用磁盘空间,我们需要定期清理旧的归档文件。

可以通过设置归档保留策略来自动删除过期的归档文件。

3. 归档文件备份:为了保证归档文件的安全性,我们还需要定期备份归档文件。

这样,在数据库故障时,可以通过备份的归档文件及时恢复数据。

四、归档文件恢复1. 归档文件检查:在进行数据库恢复之前,需要首先检查归档文件的完整性。

可以使用RMAN工具或者手动检查归档文件的序列号和时间戳。

oracle 11g rac中归档文件的命名参数

oracle 11g rac中归档文件的命名参数

在Oracle 11g RAC(Real Application Clusters)中,归档日志文件的命名通常依赖于几个参数来确保唯一性和便于管理。

以下是与归档文件命名相关的参数:1. `LOG_ARCHIVE_DEST_n`:这个参数定义了归档重做日志文件存放的位置,其中`n`是序号,可以设置多个归档目的地。

2. `DB_UNIQUE_NAME`:此参数用于设置数据库实例的唯一名称。

在某些情况下,该参数会影响归档文件的名称,以确保每个实例生成的归档日志具有唯一的名称。

3. `LOG_ARCHIVE_FORMAT`:通过这个参数,可以自定义归档日志文件的命名格式。

它支持一些特定的替换变量,如`%t`代表线程号,`%s`代表序列号,`%r`代表重置日志文件时生成的唯一值等。

4. `LOG_SEQUENCE`:指定每个日志文件的序列号。

在归档日志文件命名时,通常会包含这个序列号以维持顺序。

5. `MAXLOGFILES` 和`MAXLOGMEMBERS`:这些参数定义了在线重做日志组和成员的最大数量,它们间接影响了归档文件的命名,因为一旦达到最大日志组数,系统会开始循环使用日志文件,并在归档文件名中反映出来。

6. `FAL_SERVER` 和`FAL_CLIENT`:如果使用了Flash Recovery Area (FRA),则归档重做日志文件可能会被自动移动到FRA,并且其路径将会体现在归档文件名中。

7. `COMPATIBLE` 参数:虽然不直接涉及归档文件的命名,但设置兼容级别可能会影响到归档处理的行为。

默认情况下,如果不自定义`LOG_ARCHIVE_FORMAT`参数,Oracle 11g RAC的归档重做日志文件将使用类似以下格式的命名方式:`ARCn/%$x.%$g/%$s`其中:- `ARCn` 表示归档重做日志文件的缩写。

- `%$x` 是线程号(对于RAC环境)。

- `%$g` 是日志组号。

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。

ORA-02002:写入审计线索时出错归档程序错误。在释放之前仅限于内部连接

ORA-02002:写入审计线索时出错归档程序错误。在释放之前仅限于内部连接

ORA-02002:写入审计线索时出错归档程序错误。

在释放之前仅限于内部连接ORA-02002:写入审计线索时出错ORA-00257: 归档程序错误。

在释放之前仅限于内部连接是由于日志文件过大导致硬盘容量不够,解决办法:清理日志SET ORACLE_SID =orcl1)命令>rman target/2)命令>crosscheck archivelog all;3)命令>delete expired archivelog all;报错:说明与资料档案库中的任何归档日志都不匹配命令:delete noprompt expired archivelog all;(清除所有)用命令:DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-1'--删除4)命令>exit在一般情况如果采用RMAN备份方案,则建议将执行如下几行Rman命令,这样可能清理因备份不安计划执行等原因造成一些过期或重复的备份文件;RMAN> crosscheck backup;RMAN> delete noprompt expired backup;RMAN> delete noprompt obsolete;RMAN> resync catalog;如果还不行,重启数据库以oracle9i为例(1)以oracle身份登录数据库,命令:su – oracle(2)进入Sqlplus控制台,命令:sqlplus /nolog(3)以系统管理员登录,命令:connect / as sysdba(4)启动数据库,命令:startup(5)如果是关闭数据库,命令:shutdown immediate(6)退出sqlplus控制台,命令:exit (7)进入监听器控制台,命令:lsnrctl (8)启动监听器,命令:start(9)退出监听器控制台,命令:exit (10)重启数据库结束。

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

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

oracle数据库归档日志使用情况 -回复Oracle数据库归档日志使用情况在Oracle数据库中,归档日志是一种重要的机制,用于记录数据库的所有操作以及数据库中数据的变更。

它在数据库出现故障时,提供了恢复数据的关键手段。

本文将逐步回答关于Oracle数据库归档日志使用情况的问题,帮助读者加深对该机制的了解。

问题一:什么是Oracle数据库归档日志?Oracle数据库归档日志(Archived Redo Log)是一种用于记录数据库操作以及数据变更的日志文件。

它包含了数据库在运行过程中所发生的所有事务操作,如插入、更新和删除等。

归档日志以二进制格式存储在操作系统的磁盘上,用于保留数据库的历史记录,以备发生灾难性故障或数据损坏时进行数据恢复。

问题二:为什么需要开启归档日志模式?在Oracle数据库中,默认情况下是关闭归档日志的。

但是,为了确保数据库的完整性和可用性,建议将数据库设置为归档日志模式。

开启归档日志模式后,数据库会自动在每次日志切换时将当前的在线重做日志文件转换为归档日志文件,并保存到指定的归档目录下。

这样,即使数据库发生故障,也能通过归档日志来还原数据库到故障发生前的状态。

问题三:如何查看归档日志模式的使用情况?可以通过查询数据库的日志模式来查看当前是否开启了归档日志模式。

在SQL*Plus命令行中,执行如下SQL语句即可:sqlSELECT log_mode FROM vdatabase;返回的结果中,如果log_mode的值为'ARCHIVELOG',则表示数据库已开启归档日志模式。

如果值为'NOARCHIVELOG',则表示数据库目前未开启归档日志模式。

问题四:如何开启归档日志模式?要将数据库设置为归档日志模式,需要以下步骤:1. 进入SQL*Plus命令行,以SYS用户登录数据库。

2. 执行如下SQL语句,将数据库设置为归档日志模式:sqlALTER DATABASE ARCHIVELOG;执行完毕后,数据库将开启归档日志模式,并自动将当前的在线重做日志文件转换为归档日志文件。

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实例会自动关闭。

总结了10种_Oracle_文件损坏及恢复的过程

总结了10种_Oracle_文件损坏及恢复的过程

总结了10种_Oracle_文件损坏及恢复的过程Oracle数据库是一个关系数据库管理系统(RDBMS),用于存储和管理大量结构化数据。

然而,由于各种原因,Oracle数据库文件可能会损坏,这可能导致数据库无法正常工作。

为了解决这个问题,需要进行文件的恢复过程。

下面总结了10种Oracle文件损坏及恢复的常见过程:1.数据文件丢失:如果数据文件丢失,可以从最近的备份还原数据文件,并进行恢复。

2. 数据文件坏块:在Oracle数据库中,可以使用DBVERIFY工具来检查数据文件的坏块。

如果坏块小部分,可以使用RMAN进行恢复。

如果坏块较多,可能需要考虑重新创建数据文件。

3.日志文件丢失:如果日志文件丢失,可以使用备份中的归档日志文件进行恢复。

如果没有备份,可以使用增量备份或物理备份进行恢复。

4.日志文件坏块:使用DBVERIFY工具可以检查日志文件的坏块。

如果发现坏块,可以尝试使用RMAN进行恢复,或者由管理员手动修复坏块。

5.控制文件丢失:如果控制文件丢失,可以从备份中还原控制文件,并使用RECOVER命令进行数据库恢复。

6.控制文件坏块:使用DBVERIFY工具检查控制文件的坏块。

如果找到坏块,可以使用备份恢复控制文件,或者手动修复坏块。

7.数据库文件或表空间重命名:如果数据库文件或表空间被重命名,可以使用ALTERDATABASERENAME命令更改文件或表空间的名称。

8. 恶意软件或数据损坏:如果Oracle数据库中的数据被恶意软件感染或损坏,必须进行杀毒和修复操作。

首先,应使用杀毒软件对系统进行全面扫描,以确保杀死所有恶意软件。

然后,可以使用RMAN进行数据恢复。

9.操作错误:有时,由于误操作或错误的命令,数据库文件可能会被损坏。

在这种情况下,可以从备份中还原损坏的文件,并执行相关的恢复操作。

10. 数据库崩溃:如果Oracle数据库发生崩溃,可能需要使用RMAN 进行恢复。

首先,必须使用备份进行数据库重建,然后使用RMAN进行恢复。

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实例会自动关闭。

归档日志的启动和关闭

归档日志的启动和关闭

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 –查看归档日志是否开启开启状态:数据库日志模式存档模式自动存档启用存档终点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。

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

oracle 归档相关命令及归档相关命令及常见常见常见问题问题作者:刘俊(evan liu)日期:2009.6.3.1.查看归档设置情况SQL>archive log list Database log mode No Archive Mode Automatic archival DisabledArchive destination ?/dbs/archOldest online log sequence 10Current log sequence 12SQL>2.打开归档Oracle 10gSQL>alter database archivelog;Database altered.如果没有使用flash revocerySQL>archive log list Database log mode Archive Mode Automatic archival Enabled Archive destination ?/dbs/arch Oldest online log sequence 13Next log sequence to archive 15Current log sequence 15SQL>如果使用了flash recoverySQL>archive log list Database log mode Archive Mode Automatic archival EnabledArchive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 13Next log sequence to archive 15Current log sequence 15SQL>Oracle 9iSQL>alter database archivelog;Database altered.SQL>archive log listDatabase log mode Archive ModeAutomatic archival DisabledArchive destination?/dbs/archOldest online log sequence13Next log sequence to archive15Current log sequence15SQL>这里就可以看出orcle9i和oracle10g的区别了。

修改数据库为归档模式以后,10g 自动将自动归档打开,而9i不会。

9i需要修改下面的参数:SQL>show parameter log_archive_startNAME TYPE VALUE-----------------------------------------------------------------------------log_archive_start boolean FALSESQL>alter system set log_archive_start=TRUE scope=spfile;System altered.SQL>startup forceORACLE例程已经启动。

SQL>archive log listDatabase log mode Archive ModeAutomatic archival EnabledArchive destination?/dbs/archOldest online log sequence13Next log sequence to archive15Current log sequence15SQL>3.查看及更改自动归档的存放位置SQL>show parameter destNAME TYPE VALUE-----------------------------------------------------------------------------standby_archive_dest string?/dbs/arch默认位置,这里?代表$ORACLE_HOME如果使用了flash recovery,默认位置为:USE_DB_RECOVERY_FILE_DEST修改归档位置及归档文件名的格式SQL>alter system set log_archive_dest='/oracle/u01/arch/'System altered.SQL>alter system set LOG_ARCHIVE_FORMAT='Evan__%S_%R.%T'scope=spfile;System altered.SQL>startup forceSQL>archive log listatabase log mode No Archive ModeAutomatic archival DisabledArchive destination/home/oracle/u01/app/oracle/arch/Oldest online log sequence15Current log sequence17SQL>show parameter logNAME TYPE VALUE-----------------------------------------------------------------------------------------------log_archive_format string Evan__%S_%R.%T关于文件名格式的说明:10g中归档日志的默认文件格式为ARC%S_%R.%T,从10g 开始,配置归档日志文件格式时,必须带有%s,%t和%r匹配符。

%s:日志序列号:%S:日志序列号(带有前导0)%t:重做线程编号.%T:重做线程编号(带有前导0)%a:活动ID号%d:数据库ID号%r RESETLOGS的ID值.4.手动归档设定及解除SQL>startup mountORACLE instance started.Total System Global Area167772160bytesFixed Size1218316bytesVariable Size75499764bytesDatabase Buffers88080384bytesRedo Buffers2973696bytesDatabase mounted.SQL>alter system archive log manualSystem altered这时,系统不再自动归档,你可以用SQL>alter system archive log all;来手动归档。

要解除手动归档,恢复到自动归档,将数据库启动到mount模式,关闭再打开归档就可以了。

SQL>alter database noarchivelog;database alteredSQL>alter database archivelog;database altered5.测试自动归档是否成功设置自动归档以后,redo log的切换会引发归档,我们可以通过手动的切换日志来测试归档。

S QL>select group#,sequence#,archived,status,first_time from v$log;GROUP#SEQUENCE#ARCHIVED STATUS FIRST_TIME -----------------------------------------------------------------119YES INACTIVE05-6月-09220YES INACTIVE05-6月-09321NO CURRENT05-6月-09当前log group是3,其余两个都归档过了,手动切换log file:SQL>alter system switch logfile;System altered.SQL>select group#,sequence#,archived,status,first_time from v$log;GROUP#SEQUENCE#ARCHIVED STATUS FIRST_TIME -----------------------------------------------------------------122NO CURRENT05-6月-09220YES INACTIVE05-6月-09321YES ACTIVE05-6月-09已经切换到group1了,我们看到group3的archive状态已经是yes了,表示归档已经完成。

进入归档目录,可以看到新的归档文件生成:[oracle:~/u01/app/oracle/arch]$lsEvan__0000000013_0688689467.0001Evan__0000000018_0688689467.0001Evan__0000000014_0688689467.0001Evan__0000000019_0688689467.0001Evan__0000000017_0688689467.0001Evan__0000000020_0688689467.0001Evan__0000000021_0688689467.0001注意归档文件名evan后面的序号21,即group3的序号。

SQL>archive log listDatabase log mode Archive ModeAutomatic archival EnabledArchive destination/home/oracle/u01/app/oracle/arch/Oldest online log sequence20Next log sequence to archive22Current log sequence22下一个需要归档的log是22号,也就是group1。

6.开启归档后容易引发的问题1)数据库挂起归档启用了以后,数据库发生log切换的时候,会试图将上一个redo log的内容写入归档,如果写入不成功,这个redo log状态将被置成active,不能再次使用。

当数据库运行一段时间,所有的redo log用完,会引发数据库挂起,检查alertSID.log,会有以下报错:Fri Jun500:41:002009ORACLE Instance ora10glinux-Can not allocate log,archival requiredThread1cannot allocate new log,sequence25All online logs needed archivingCurrent log#3seq#24mem#0:/home/oracle/u01/app/oracle/oradata/ora10glinux/redo03.log重启问题依旧不能解决。

相关文档
最新文档