zoukankan      html  css  js  c++  java
  • ORACLE归档日志满了之后,如何删除归档日志

               
       

     当ORACLE归档日志满后如何正确删除归档日志

    当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>
      
  • 相关阅读:
    ICONS-图标库
    图形资源
    vue项目中,如果修改了组件名称,vscode编辑器会在引入修改组件的名字处提示红色波浪线 The file is in the program because:Imported via xxx Root file specified for compilation .
    接口在dev环境报跨域问题(has been blocked by CORS policy:Response to preflight request doesn't pass access control check:No 'Access-Control-Allow-Origin' header ispresent on the requested resource.),qa环境正常
    阿里云occ的图片文件URL用浏览器直接打开无法访问,提示This XML file does noe appear to have any style information associated with it. The document tree is shown below.
    vue 项目使用element ui 中tree组件 check-strictly 用法(父子不互相关联的反显情况)
    高德地图进行线路规划绘制标记点操作(vue)
    vue中实现拖拽调整顺序功能
    2021-01-22 浏览器相关知识
    2021-01-22 js 相关知识点
  • 原文地址:https://www.cnblogs.com/pigdragon/p/6525260.html
Copyright © 2011-2022 走看看