当ORACLE 归档日志满了后,将无法正常登入ORACLE,需要删除一部分归档日志才能正常登入ORACLE。

一、首先删除归档日志物理文件,归档日志一般都是位于archive目录下,AIX系统下文件格式为“1_17884_667758186.dbf”,建议操作前先对数据库进行备份,删除时至少保留最近几天的日志用于数据库恢复。

二、把归档日志的物理文件删除后,我们就可以正常登入ORACLE了,但是还没完全把归档日志删除干净,ORACLE的controlfile中仍然记录着这些archivelog的信息,在oracle的OEM管理器中有可视化的日志展现出,当我们手工清除archive目录下的文件后,这些记录并没有被我们从controlfile中清除掉,接下去我们要做的就是这个工作。

我们利用RMAN进行删除操作,操作步骤如下:(window客户端系统为例)

1.指定数据库实例

C:/Documents and Settings/Administrator>SET ORACLE_SID =orcl

2.连接数据库

C:/Documents and Settings/Administrator>RMAN TARGET SYS/sysadmin@orcl

3.查看归档日志的状态

RMAN> list archivelog all;

4.手工删除归档日志文件

RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';

说明:
 SYSDATA-7,表明当前的系统时间7天前,before关键字表示在7天前的归档日志,如果使用了闪回功能,也会删除闪回的数据。 
同样道理,也可以删除从7天前到现在的全部日志,不过这个命令要考虑清楚,做完这个删除,最好马上进行全备份数据库 
DELETE ARCHIVELOG from TIME 'SYSDATE-7'; 删除从7天前到现在的全部日志,慎用
UNIX/LINUX下也可以通过FIND找到7天前的归档数据,使用EXEC子操作删除 
find /oraarchive -xdev -mtime +7 -name "*.dbf" -exec rm -f {} ; 
这样做仍然会在RMAN里留下未管理的归档文件 
仍需要在RMAN里执行下面2条命令 
crosscheck archivelog all; 
delete expired archivelog all; 
所以还不如上面的方法好用,不过用FIND的好处就是,可以在条件上,和EXEC子项上做很多操作,实现更复杂的功能

5.退出rman

RMAN> exit

附带说明:RMAN 是Oracle数据库软件自带的备份恢复工具,一种是类似于DOS,通过键盘操作的 命令行方式。

通过RMAN连接本地数据库非常简单,以 W indows 平台为例,进入到命令提示符界面:

C:/Documents and Settings/junsansi> SET ORACLE_SID =jssbook

C:/Documents and Settings/junsansi> RMAN TARGET /

Recovery Manager: Release 10.2.0.1.0 - Production on Tue Mar 17 21:12:17 2009

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

connected to target database: JSSBOOK (DBID=1415261003)

    RMAN>

  如上所示,使用RMAN连接本地数据库之前必须首先设置操作系统环境变量:ORACLE_SID,并指定该值等于目标数据库的实例名。如果本地库只有一个实例并已经设置了ORACLE_SID环境变量,则不需要再指定ORACLE_SID。RMAN会自动连接到默认实例。

  当然,你也可以先启动RMAN,然后再通过CONNECT命令来连接目标数据库,如下所示:

C:/Documents and Settings/junsansi> RMAN

Recovery Manager: Release 10.2.0.1.0 - Production on Tue Mar 17 21:12:36 2009

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

RMAN> connect target /

    connected to target database: JSSBOOK (DBID=1415261003)

  本地连接允许使用操作系统验证,因此上述示例都不需要输入用户名和密码,不过如果本地没有启用操作系统身份验证的话,就必须指定具有相应权限的用户名和密码。

  需要注意,Linux/UNIX 环境下设置操作系统环境变量应使用 export 命令,另外ORACLE_SID必须为大写。例如:

[oracle@yans1  ~ ]$  export  ORACLE_SID=test08

[oracle@yans1  ~ ]$  rman target /

Recovery Manager: Release 10.2.0.3.0 - Production on Tue Mar 17 16:08:32 2009

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

connected to target database: TEST08 (DBID=3812548755)

    RMAN>

连接远程数据库

  如果要连接的目标数据库是一个远程数据库,那么必须在建立连接时指定一个有效的网络服务名(Net Service Name),本地的tnsname.ora文件中必须已经建立了该网络服务名的正确配置。连接示例如下:

C:/Documents and Settings/junsansi> RMAN TARGET SYS/CHANGE_ON_INSTALL@TESTDB

Recovery Manager: Release 10.2.0.1.0 - Production on Tue Mar 17 16:12:32 2009

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

connected to target database: TESTDB (DBID=2220262593)

    RMAN>

当ORACLE归档日志满后如何正确删除归档日志的更多相关文章

  1. oracle 归档日志满 报错ORA-00257: archiver error. Connect internal only, until freed

    归档日志满导致无法用户无法登陆 具体处理办法 --用户登陆 Microsoft Windows [Version 6.1.7601] Copyright (c) Microsoft Corporati ...

  2. (转) ORACLE 正确删除归档日志的方法

    ORACLE 正确删除归档日志的方法 我们都知道在controlfile中记录着每一个archivelog文件的相关信息,当然们在OS下把这些物理文件delete掉后,在我们的controlfile中 ...

  3. Oracle 正确删除归档日志的方法

    我们都知道在controlfile中记录着每一个archivelog文件的相关信息,当然们在OS下把这些物理文件delete掉后,在我们的controlfile中仍然记录着这些archivelog文件 ...

  4. ORA-00257: archiver error. Connect internal only, until freed.| Oracle数据库归档日志满导致应用系统反应缓慢的问题处理

    一:查看原因 查看了下V$FLASH_RECOVERY_AREA_USAGE,看看归档目录使用的情况.果然是归档满了. Disconnected from Oracle Database 11g En ...

  5. oracle 正确删除归档日志,并清除 V$ARCHIVED_LOG 数据

    1. 连接 RMAN 管理 rman target / 2. 查看归档日志列表 RMAN> crosscheck archivelog all; 3. 删除所有归档日志 RMAN> DEL ...

  6. ORACLE归档日志满了之后,如何删除归档日志

    当ORACLE归档日志满后如何正确删除归档日志 版权声明:本文为博主原创文章,未经博主允许不得转载. 当ORACLE 归档日志满了后,将无法正常登入ORACLE,需要删除一部分归档日志才能正常登入OR ...

  7. oracle归档空间不足的问题(rman删除归档日志)

    案例一:归档日志满,数据库用户无法登陆,业务异常   解决方案一(可以登录rman): rman target /   RMAN> crosscheck archivelog all;   RM ...

  8. oracle 归档模式开启后数据库宕机解决过程

    首先按照网友说的shutdown immediately,结果hang了半个小时也么反应. 然后检查日志,全盘搜索.trc,发现 (D:\app\oracle\diag\rdbms\cms1u\cms ...

  9. Oracle正确删除archivelog文件(转)

    from:http://www.itpub.net/thread-1636118-6-1.html Oracle在开启了归档模式后,会在指定的archive目录下产生很多的archivelog文件,而 ...

随机推荐

  1. Spring Boot 2.1.1.RELEASE 多数据源配置与使用

    有时候,一个系统的功能,需要两个或两个以上的数据库, 在Spring Boot 中要如何配置? How to? #primary primary.spring.datasource.jdbc-url= ...

  2. Python 错误与异常

    2017-08-01 13:40:17 在程序运行过程中,总会遇到各种各样的错误. 有的错误是程序编写有问题造成的,比如本来应该输出整数结果输出了字符串,这种错误我们通常称之为bug,bug是必须修复 ...

  3. scRNA-seq单细胞测序数据分析工具汇总

    本文总结自一篇综述: Computational approaches for interpreting scRNA-seq data 单细胞分析分为两个层次: cell level gene lev ...

  4. English trip -- VC(情景课)1 F Another view

    Another view 另一种观点 拓展应用 Life-skills reading  生活技能阅读 Midtown Adult School  中城成人学校 NAME:  Samir Ahmed  ...

  5. Java中HashMap的实现原理

    最近面试中被问及Java中HashMap的原理,瞬间无言以对,因此痛定思痛觉得研究一番. 一.Java中的hashCode和equals 1.关于hashCode hashCode的存在主要是用于查找 ...

  6. ASP.NET网页生命周期事件

    网页事件 典型的使用方式 PreInit PreInit事件是网页生命周期中非常早起的一个事件,在PreInit事件触发之后,就会加载用户设置信息与网页主题.我们通常使用PreInit事件来执行下列处 ...

  7. SourceTree

    MAC上最好的GIT免费GUI工具是SourceTree(没有之一).此外,最好的GIT代码开源网站是GitHub,最好的GIT代码私有库是BitBucket https://www.sourcetr ...

  8. idea破解更新

    idea破解教程: https://www.cnblogs.com/jpfss/p/8872358.html JetbrainsCrack-3.1-release-enc.jar下载:http://i ...

  9. jstl <fmt:formatNumber>标签

    标签用于格式化数字,百分比和货币. 如果type属性为百分比或数字,则可以使用多个数字格式属性.maxIntegerDigits和minIntegerDigits属性允许您指定数字的非分数部分的大小. ...

  10. java并发编程:线程安全管理类--原子操作类--AtomicReferenceFieldUpdater<T,V>

    1.类 AtomicReferenceFieldUpdater<T,V> public abstract class AtomicReferenceFieldUpdater<T,V& ...