oracle 删除归档日志

本贴最后更新于 2151 天前,其中的信息可能已经物是人非

1、sqlplus 链接数据库

查看归档日志 select * from v$recovery_file_dest;

2、show parameter db_recovery

3、quit;

如下:

C:\WINDOWS\system32>sqlplus

SQL*Plus: Release 11.2.0.1.0 Production on 星期日 8 月 14 22:30:16 2016

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

请输入用户名: ppz

输入口令:

连接到:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> show parameter db_recover;

NAME TYPE VALUE


db_recovery_file_dest string D:\app\panzhengpeng\flash_reco

very_area

db_recovery_file_dest_size big integer 3912M

4.指定数据库实例 C:\WINDOWS\system32>set ORACLE_SID=ORCL

5、rman target sys/ppz2323;

6、list archivelog all;看到归档日志路径后也可以手工到磁盘目录下删除

7、crosscheck archivelog all;查看已经失效的归档日志

8、delete expired archivelog all;删除已经失效的日志文件或无法删除可强制删除 delete force expired archivelog all;或删除 7 天前的归档日志 delete archivelog all completed before 'sysdate-7';

9、exit;

其实只需要几步 4、5、6、8、9


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

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

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

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

1.指定数据库实例

C:\WINDOWS\system32>set ORACLE_SID=ORCL

2.连接数据库

C:\WINDOWS\system32>rman target sys/ppz2323

恢复管理器: Release 11.2.0.1.0 - Production on 星期日 8 月 14 22:23:43 2016

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

连接到目标数据库: ORCL (DBID=1447659244)

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 /或 RMAN> connect target sys/ppz2323

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>

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • 阿里巴巴

    阿里巴巴网络技术有限公司(简称:阿里巴巴集团)是以曾担任英语教师的马云为首的 18 人,于 1999 年在中国杭州创立,他们相信互联网能够创造公平的竞争环境,让小企业通过创新与科技扩展业务,并在参与国内或全球市场竞争时处于更有利的位置。

    43 引用 • 221 回帖 • 187 关注
  • LeetCode

    LeetCode(力扣)是一个全球极客挚爱的高质量技术成长平台,想要学习和提升专业能力从这里开始,充足技术干货等你来啃,轻松拿下 Dream Offer!

    209 引用 • 72 回帖
  • IDEA

    IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

    180 引用 • 400 回帖
  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    311 引用 • 546 回帖
  • Latke

    Latke 是一款以 JSON 为主的 Java Web 框架。

    70 引用 • 533 回帖 • 735 关注
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    186 引用 • 318 回帖 • 330 关注
  • 禅道

    禅道是一款国产的开源项目管理软件,她的核心管理思想基于敏捷方法 scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能,在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。

    6 引用 • 15 回帖 • 182 关注
  • Electron

    Electron 基于 Chromium 和 Node.js,让你可以使用 HTML、CSS 和 JavaScript 构建应用。它是一个由 GitHub 及众多贡献者组成的活跃社区共同维护的开源项目,兼容 Mac、Windows 和 Linux,它构建的应用可在这三个操作系统上面运行。

    15 引用 • 136 回帖 • 6 关注
  • 人工智能

    人工智能(Artificial Intelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学。

    77 引用 • 159 回帖
  • Caddy

    Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。

    10 引用 • 54 回帖 • 140 关注
  • RIP

    愿逝者安息!

    8 引用 • 92 回帖 • 321 关注
  • Hadoop

    Hadoop 是由 Apache 基金会所开发的一个分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

    85 引用 • 122 回帖 • 618 关注
  • Netty

    Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。

    49 引用 • 33 回帖 • 20 关注
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    675 引用 • 535 回帖
  • 大数据

    大数据(big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

    89 引用 • 113 回帖
  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1083 引用 • 3461 回帖 • 257 关注
  • etcd

    etcd 是一个分布式、高可用的 key-value 数据存储,专门用于在分布式系统中保存关键数据。

    5 引用 • 26 回帖 • 499 关注
  • Kubernetes

    Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。

    109 引用 • 54 回帖 • 3 关注
  • SOHO

    为成为自由职业者在家办公而努力吧!

    7 引用 • 55 回帖 • 65 关注
  • Ngui

    Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
    Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。

    7 引用 • 9 回帖 • 363 关注
  • SQLServer

    SQL Server 是由 [微软] 开发和推广的关系数据库管理系统(DBMS),它最初是由 微软、Sybase 和 Ashton-Tate 三家公司共同开发的,并于 1988 年推出了第一个 OS/2 版本。

    19 引用 • 31 回帖 • 2 关注
  • 负能量

    上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)

    88 引用 • 1234 回帖 • 441 关注
  • RabbitMQ

    RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    49 引用 • 60 回帖 • 396 关注
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    83 引用 • 165 回帖 • 5 关注
  • Windows

    Microsoft Windows 是美国微软公司研发的一套操作系统,它问世于 1985 年,起初仅仅是 Microsoft-DOS 模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。

    216 引用 • 463 回帖
  • 微服务

    微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。

    96 引用 • 155 回帖 • 1 关注
  • Elasticsearch

    Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

    116 引用 • 99 回帖 • 249 关注