`

转:archive log 日志已满

阅读更多

转帖:原文地址http://blog.csdn.net/panys/article/details/3838846

archive log 日志已满
ORA-00257: archiver error. Connect internal only, until freed
错误的处理方法

   

1. sys用户登录
  sqlplus sys/pass@tt as sysdba

   

2. 看看archiv log所在位置
SQL> show parameter log_archive_dest;
NAME                                     TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest                   string
log_archive_dest_1               string
log_archive_dest_10             string

   

3. 一般VALUE为空时,可以用archive log list;检查一下归档目录和log sequence
SQL> archive log list;
Database log mode                 Archive Mode
Automatic archival                   Enabled
Archive destination                  USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     360
Next log sequence to archive  360
Current log sequence              362

   

4. 检查flash recovery area的使用情况,可以看见archivelog已经很大了,达到96.62
SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;

FILE_TYPE    PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
------------ ------------------ ------------------------- ---------------
CONTROLFILE                 .13                        0               1
ONLINELOG                  2.93                        0               3
ARCHIVELOG                96.62                       0              141
BACKUPPIECE                   0                         0               0
IMAGECOPY                      0                         0               0
FLASHBACKLOG                0                         0               0

   

5. 计算flash recovery area已经占用的空间
SQL> select sum(percent_space_used)*3/100 from v$flash_recovery_area_usage;

SUM(PERCENT_SPACE_USED)*3/100
-----------------------------
                       2.9904
                       
6.
找到recovery目录, show parameter recover
SQL> show parameter recover;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string           /u01/app/oracle/flash_recovery_area
db_recovery_file_dest_size        big integer   5G
recovery_parallelism                   integer         0

                       
7
上述结果告诉我们,归档位置用的是默认值,放在flash_recovery_area(db_recovery_file_dest目录=/u01/app/oracle/flash_recovery_area)
[root@sha3 10.2.0]# echo $ORACLE_BASE
/u01/app/oracle

   

[root@sha3 10.2.0]# cd $ORACLE_BASE/flash_recovery_area/tt/archivelog
转移或清除对应的归档日志, 删除一些不用的日期目录的文件,注意保留最后几个文件(比如360以后的)

   

---------------------------------------------------------------------------------------
注意
在删除归档日志后,必须用RMAN维护控制文件,否则空间显示仍然不释放。
---------------------------------------------------------------------------------------

8. rman target sys/pass
[root@sha3 oracle]# rman target sys/pass

Recovery Manager: Release 10.2.0.4.0 - Production on Tue Jan 20 01:41:26 2009

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

connected to target database: tt (DBID=4147983671)

   

9. 检查一些无用的archivelog
RMAN> crosscheck archivelog all;

   

10. 删除过期的归档
RMAN> delete expired archivelog all;

delete archivelog until time 'sysdate-1' ; 删除截止到前一天的所有archivelog

   

11. 再次查询,发现使用率正常,已经降到23.03
SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;

FILE_TYPE    PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
------------ ------------------ ------------------------- ---------------
CONTROLFILE                 .13                         0               1
ONLINELOG                  2.93                         0               3
ARCHIVELOG                23.03                         0              36
BACKUPPIECE                   0                         0               0
IMAGECOPY                     0                         0               0
FLASHBACKLOG                  0                         0               0

   

   

   

   

其它有用的Command:
----------------------------------

如果archive log模式下不能正常startup,则先恢复成noarchive log,startup成功后,再shutdown;
shutdown immediate;
startup mount;
alter database noarchivelog;
alter database open;
shutdown immediate;

再次startuparchive log模式
shutdown immediate;
startup mount;
show parameter log_archive_dest;  
alter database archivelog;
archive log list;                 
alter database open;

如果还不行,则删除一些archlog log
SQL> select group#,sequence# from v$log;

    GROUP# SEQUENCE#
---------- ----------
         1         62
         3         64
         2         63

原来是日志组一的一个日志不能归档
SQL> alter database clear unarchived logfile group 1;
alter database open;

最后,也可以指定位置Arch Log, 请按照如下配置
select name from v$datafile;
alter system set log_archive_dest='/opt/app/oracle/oradata/usagedb/arch' scope=spfile

或者修改大小
SQL> alter system set db_recovery_file_dest_size=3G scope=both;

分享到:
评论

相关推荐

    Archive Log 学习笔记 --oracle 数据库

    Oracle数据库中的归档日志(Archive Log)是数据库在运行过程中产生的一种重要数据记录,它存储了数据库事务的完整历史,对于数据保护、故障恢复和多版本并发控制(MVCC)有着至关重要的作用。这篇学习笔记将深入...

    采用Oracle Archive Log模式和非Archive Log模式对备份恢复的影响

    在非Archive Log模式下,数据库仅保留最新的重做日志文件,一旦切换到新的日志文件,旧的日志就会被覆盖,这意味着无法进行增量恢复,只能恢复到上一次完整备份的时间点。 1. 冷备份和热备份: - 冷备份是在数据库...

    Archive Log Current及Archive Log路线图

    当在线重做日志(Online Redo Log)文件填满后,Oracle数据库会将未提交的事务提交,并将在线重做日志文件的内容复制到归档日志文件中。 #### Archive Log在RAC环境下的应用 在RAC(Real Application Clusters)...

    Oracle的Archive Log模式下的恢复

    然后再次运行`archive log list`,确认已切换到"Archive Mode"。 5. **打开数据库**:使用`alter database open`命令打开数据库,至此,数据库已经处于Archive Log模式。 在归档模式下,数据库的备份和恢复策略...

    log_archive_dest, log_archive_dest_n和standby_archive_dest

    - 当没有显式配置`log_archive_dest_n`时,归档日志会按照`log_archive_dest`或`DB_RECOVERY_FILE_DEST`中的设置存放。 - `log_archive_dest_n`提供了灵活的多目的地配置选项,使得用户可以根据需求将归档日志复制到...

    基于Archive log方式实现ORACLE异地数据库与本地数据库同步的研究.pdf

    基于Archive log方式实现ORACLE异地数据库与本地数据库同步的研究 本文研究基于Archive log方式实现ORACLE异地数据库与本地数据库同步的方法,旨在实现数据自动异地备份。该方法通过Archive log的传送,使两个...

    关于归档日志三个参数的说明.txt

    归档日志路径三个参数DB_RECOVERY_FILE_DEST和LOG_ARCHIVE_DEST和LOG_ARCHIVE_DEST_n LOG_ARCHIVE_DEST:指定归档文件存放的路径,该路径只能是本地磁盘,默认为’’。 LOG_ARCHIVE_DEST_n:默认值为’’。...

    ORACLE啟用歸檔模式及建立ARCHIVE LOG副本

    在Oracle数据库管理中,启用归档模式(ARCHIVELOG mode)和创建归档日志(ARCHIVE LOG)副本是确保数据安全性和恢复能力的关键步骤。本文将深入解析这一过程,帮助数据库管理员理解如何通过归档模式提高数据保护,并...

    oracle-关闭归档日志.docx

    3. 删除七天前的归档日志:DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7'; 4. 再次查看归档内容使用情况:select * from V$FLASH_RECOVERY_AREA_USAGE; 归档日志的重要性 归档日志对于数据库的恢复和备份...

    10g中db_recovery_file_dest和log_archive_dest_greatwhite

    尽管这里没有具体展示`log_archive_dest`的具体值,但在实际应用中,可以通过类似`log_archive_dest_1='location=/path/to/extra/archive'`这样的方式来指定额外的归档日志存储路径。 #### 四、db_recovery_file_...

    ORACLE归档日志设置

    将数据库的日志模式设置切换(Archive Mode和No Archive Mode之间的切换)的步骤和操作如下:关闭运行的数据库实例,备份数据库,启动数据库实例到mount状态,但不要打开,切换数据库日志模式,打开数据库,确认...

    数据库归档管理.pdf

    可以通过以下步骤来查看归档日志: select name from v$archived_log; 归档相关参数 可以通过设置 log_archive_dest 和 LOG_ARCHIVE_DEST_n 参数来指定归档路径。例如: LOG_ARCHIVE_DEST = '/disk1/archive' ...

    Oracle归档日志空间不足引发的问题及归档日志的检测与删除

    2. 手动删除:当遇到紧急情况,可以通过`ARCHIVE LOG LIST`查询当前归档日志,然后使用`ALTER SYSTEM SWITCH LOGFILE;`切换日志,释放空间。但这种方法不建议频繁使用,因为它可能影响恢复流程。 四、优化归档日志...

    基于Log_miner的Oracle日志分析系统.pdf

    如果数据库以archive log模式运行,重做日志在被覆盖前会被备份,这样就可以在任意时间点恢复数据库。 【主要功能】 1. **离线追踪数据库变化**:Log_miner可以在不影响在线系统的情况下,分析日志以获取数据库的...

    oracle归档日志的开启及删除.docx

    2. 查看归档日志:使用crosscheck archive all命令来查看当前数据库中的所有归档日志。 3. 删除只保留最近10天的日志:使用delete archivelog until time 'sysdate-10'命令删除所有超过10天的归档日志。 4. 删除全部...

    log4j.jar包,解决控制台日志报错问题

    解决控制台无法找到日志的报错,包含了三个log4j的jar包,log4j-1.2.15.jar , log4j-api-2.9.1.jar , log4j-core-2.9.1.jar ,可以直接导入项目中直接用,但是需要在project structure中配置一下,可以自行百度配置...

    oracle数据库归档日志满问题解决方案.docx

    使用以下命令检查一些无用的归档日志: ``` RMAN> crosscheck archivelog all; ``` 10. 删除过期的归档日志 使用以下命令删除过期的归档日志: ``` RMAN> delete expired archivelog all; delete archivelog until ...

    DB2 归档日志清理

    3. **查询归档日志状态**:以`db2inst1`用户身份登录后,运行`db2 list history archive log all for CISFEDB`命令来查看归档日志的状态。这个命令可以帮助我们了解归档日志的时间戳信息以及当前存在的有效归档日志...

    archive_C++日志生成类.zip.zip

    在这个例子中,`Logger`类提供了设置日志等级、记录日志的方法,并将日志信息写入到名为"game_log.txt"的文件中。`log()`方法根据日志等级判断是否输出,避免了不必要的开销。 当然,实际的日志系统可能需要更复杂...

Global site tag (gtag.js) - Google Analytics