精华内容
下载资源
问答
  • 1.登录Linuxoracle用户 2.rman target /; 3.delete noprompt expired archivelog all; 4.delete noprompt force archivelog until time ‘sysdate - 7’ ; 注:-7指保留几天归档日志

    1.登录Linux的oracle用户
    2.rman target /;
    3.delete noprompt expired archivelog all;
    4.delete noprompt force archivelog until time ‘sysdate - 7’ ;
    注:-7指保留几天归档日志

    展开全文
  • 将以下代码保存为.sh文件,并放到crontab里就可以实现自动清理
  • linux删除oracle归档日志(详解)

    千次阅读 2019-01-19 13:00:50
    1、进入linux服务器,停止oracle的监听和服务 2、删除日志 3、开启oracle的服务和监听(如果删日志之前没成功停掉监听和服务,最好reboot一下服务器,不然会出一些问题) su - oracle //记得横杠左右加空格 ...

    1、进入linux服务器,停止oracle的监听和服务

    2、删除日志

    3、开启oracle的服务和监听(如果删日志之前没成功停掉监听和服务,最好reboot一下服务器,不然会出一些问题)


    su - oracle                    //记得横杠左右加空格
    lsnrctl stop                    //停止数据库监听(注意一定不要在sql下执行此命令)
    sqlplus / as sysdba      //以管理员身份连接oracle
    shutdown immediate   //停止数据库服务
    exit                              //退出sql

    exit                              //退到根目录
    cd/arch                        //到arch目录下(存日志文件的目录)
    ls                                 //看一下当前目录下都有哪些文件
    rm - rf   1_16*             //删掉所有以1_16开头的文件(这只是个例子)
    cd                               //退到根目录
    rman                           //进入rman
    connect target / as sysdba     //以target 连接oracle
    delete archivelog all completed before ‘sysdate-7’   //删除一周之前的所有日志
    exit                             //退出到oracle目录
    sqlplus / as sysdba    //以管理员连接oracle
    startup                       //启动服务
    exit                            //退到oracle目录
    lsnrctl start                //启动监听 

    展开全文
  • Linux Oracle删除归档日志

    千次阅读 2016-08-25 10:53:21
    Linux Oracle删除归档日志 今天遇到Oracle报这样的错:ORA-00257 查看了下,原来是Oracle归档日志满了,解决方案两个  一:增加归档日志大小 二:删除无用的归档日志(我们选择这个方案) 什么也不说了Linux下...
     
    

    今天遇到Oracle报这样的错:ORA-00257

    查看了下,原来是Oracle的归档日志满了,解决方案两个

      一:增加归档日志大小 二:删除无用的归档日志(我们选择这个方案)

    什么也不说了Linux下命令上:

    Linux删除归档文件
    --> su - oracle
    --> rman 
    --> RMAN> connect target sys/sys_passwd
    --> RMAN> crosscheck archivelog all;
    --> RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';
    或者
    --> RMAN> delete expired archivelog all;

     

    connect target sys/sys_passwd 密码好像是:oracle


    红色的语句执行比较慢,要耐心等待下。最后点击Yes确定执行,就可以了

    然后再用下面的语句验证下,能不能正常登录

    ---  >sqlplus /nolog  
    SQL> conn / as sysdba

    或者

    -->sqlplus user/pwd@AXXX

     

     

    或者参考这个:

    http://wenku.baidu.com/view/b62b267c76c66137ef06194e.html?qq-pf-to=pcqq.c2c





    业务增长发展迅猛,归档日志增长太快,磁盘承受不了,所以准备做个定时清理归档日志的定时任务。

     

    1RM方式清理归档日志

    清理归档日志,可以人为的删除已经归档好的日志文件,然后再调用rman里面RMAN> crosscheck archivelog all;来去数据库里面删除归档记录;也可以通过ram调用delete命令来删除归档日志。

     

    2、使用rman清理归档日志

                    RMAN清除方式会自动清除磁盘上的归档日志文件,同时会释放控制文件中对应的归档日志的归档信息。

                    可以基于不同的条件来清除归档日志,如基于SCN,基于SEQUENCE,基于TIME等方式。

                    对于上述的三种方式又可以配合from, until, between .. and .. 等等子句来限定范围,方式灵活多变。

                    下面的命令用于校验归档日志的有效性,列出无效的归档日志,以及以何种方式清除归档日志,列出几种常用的:


    delete noprompt archivelog until time "to_date('XXXX-XX-XX','YYYY-MM-DD')";    ---> 清理到某天日期之前的归档
                    delete noprompt archivelog until time "to_date('2016-09-14 18:00:00','YYYY-MM-DD hh24:mi:ss')";   ---> 清理到具体时分秒之前的归档日志
                    cross check archivelog all;                           --->校验日志的可用性
                    list expired archivelog all;                         --->列出所有失效的归档日志
                    delete archivelog until sequence 16;                 --->删除log sequence为16及16之前的所有归档日志
                    delete archivelog all completed before 'sysdate-7';   --->删除系统时间7天以前的归档日志,不会删除闪回区有效的归档日志
                    delete archivelog all completed before 'sysdate - 1'; --->同上,1天以前的
                    delete archivelog from time 'sysdate-1';             --->注意这个命令,删除系统时间1天以内到现在的归档日志
                    delete noprompt archivelog all completed before 'sysdate';  --->该命令清除当前所有的归档日志
                    delete noprompt archivelog all completed before 'sysdate-0';  --->该命令清除当前所有的归档日志
                    delete noprompt archivelog all;                              --->同上一命令



     

     

    3、实现清理一个小时前的归档日志

     

    执行命令:delete force archivelog all completed before 'sysdate-1/24';

    验证执行过程。

    1)查看当前时间

    [oracle@hch_test_121_90 ~]$ date

    Tue Oct 11 11:20:20 CST 2016

    [oracle@hch_test_121_90 ~]$

     

    2)查看当前一个小时之前的归档日志,看到有一个o1_mf_1_2822_czrm1dj8_.arc,如下所示:

    [oracle@hch_test_121_90 ~]$ ll /oracle/app/oracle/flash_recovery_area/POWERDES/archivelog/2016_10_11/ |more

    total 3181880

    -rw-r----- 1 oracle oinstall 41340416 Oct 11 10:19 o1_mf_1_2822_czrm1dj8_.arc

    -rw-r----- 1 oracle oinstall 40434176 Oct 11 10:20 o1_mf_1_2823_czrm49l9_.arc

    -rw-r----- 1 oracle oinstall 41180160 Oct 11 10:22 o1_mf_1_2824_czrm76nd_.arc

    -rw-r----- 1 oracle oinstall 40340480 Oct 11 10:23 o1_mf_1_2825_czrm9xos_.arc

     

    3)开始执行删除命令,按计划删除这一条归档日志

    RMAN> delete force archivelog all completed before 'sysdate-1/24';

     

    using target database control file instead of recovery catalog

    allocated channel: ORA_DISK_1

    channel ORA_DISK_1: SID=11 device type=DISK

    List of Archived Log Copies for database with db_unique_name POWERDES

    =====================================================================

     

    Key     Thrd Seq     S Low Time

    ------- ---- ------- - ---------

    1396    1    2822    A 11-OCT-16

            Name: /oracle/app/oracle/flash_recovery_area/POWERDES/archivelog/2016_10_11/o1_mf_1_2822_czrm1dj8_.arc

     

     

    Do you really want to delete the above objects (enter YES or NO)? YES  # 输入删除命令

    deleted archived log

    archived log file name=/oracle/app/oracle/flash_recovery_area/POWERDES/archivelog/2016_10_11/o1_mf_1_2822_czrm1dj8_.arc RECID=1396 STAMP=924949164

    Deleted 1 objects

     

    RMAN>

     

     

    4、自动化脚本定时任务实现清理一个小时前的归档日志

    (1)自动化脚本

    [root@hch_test_121_90 ~]# more archivelog_clear.sh

    #!/bin/sh

    BACK_DIR=/oracle/clear_archlog/data

    export DATE=`date +%F`

    echo "      " >> $BACK_DIR/$DATE/rman_backup.log

    echo `date '+%Y-%m-%d %H:%M:%S'` >> $BACK_DIR/$DATE/rman_backup.log

    su - oracle -c "

    mkdir -p $BACK_DIR/$DATE

    rman log=$BACK_DIR/$DATE/rman_backup.log target / <<EOF

    # delete force archivelog all completed before 'sysdate-1/24';  这里执行清除归档日志,如果不想手动输入YES,则可以添加noprompt参数

    delete force noprompt archivelog all completed before 'sysdate-1/24';

    exit;

    EOF

    "

    echo "   " >> $BACK_DIR/$DATE/rman_backup.log

    [root@hch_test_121_90 ~]#

     

    (2)crontab定时任务

    [root@hch_test_121_90 ~]# crontab -l

    10 */1 * * * sh /home/oracle/archivelog_clear.sh

    [root@hch_test_121_90 ~]#

     

     

    (3)查看执行后的日志

    [root@hch_test_121_90 ~]# more /oracle/clear_archlog/data/2016-10-11/rman_backup.log

     

    Recovery Manager: Release 11.2.0.1.0 - Production on Tue Oct 11 11:28:04 2016

     

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

     

    connected to target database: POWERDES (DBID=3458668465)

     

    RMAN>

    using target database control file instead of recovery catalog

    allocated channel: ORA_DISK_1

    channel ORA_DISK_1: SID=137 device type=DISK

    List of Archived Log Copies for database with db_unique_name POWERDES

    =====================================================================

     

    Key     Thrd Seq     S Low Time

    ------- ---- ------- - ---------

    1397    1    2823    A 11-OCT-16

            Name: /oracle/app/oracle/flash_recovery_area/POWERDES/archivelog/2016_10_11/o1_mf_1_2823_czrm49l9_.arc

     

    1398    1    2824    A 11-OCT-16

            Name: /oracle/app/oracle/flash_recovery_area/POWERDES/archivelog/2016_10_11/o1_mf_1_2824_czrm76nd_.arc

     

    1399    1    2825    A 11-OCT-16

            Name: /oracle/app/oracle/flash_recovery_area/POWERDES/archivelog/2016_10_11/o1_mf_1_2825_czrm9xos_.arc

     

    1400    1    2826    A 11-OCT-16

            Name: /oracle/app/oracle/flash_recovery_area/POWERDES/archivelog/2016_10_11/o1_mf_1_2826_czrmdqqy_.arc

     

    1401    1    2827    A 11-OCT-16

            Name: /oracle/app/oracle/flash_recovery_area/POWERDES/archivelog/2016_10_11/o1_mf_1_2827_czrmhksn_.arc

     

     

    Do you really want to delete the above objects (enter YES or NO)? "exit;" is an invalid response - please re-enter.

     

    Do you really want to delete the above objects (enter YES or NO)?

    Error occurred getting response - assuming NO response

     

    RMAN>

     

    Recovery Manager complete.

    [root@hch_test_121_90 ~]#


    展开全文
  • 如何删除oracle归档日志

    千次阅读 2016-12-13 14:06:10
    //删除所有归档日志 RMAN>DELETE ARCHIVELOG ALL COMPLETED BEFORE ‘SYSDATE-7’; //保留7天的归档日志 再查 SQL> select * from V$RECOVERY_FILE_DEST; 修改大小 SQL> alter system set db_recovery_...
    1. su - oracle //进入oracle账户
    2. sqlplus / as sysdba //以操作系统权限认证的oracle sys管理员登陆
    3. archive log list //查看数据库的归档模式
      注意:输入archive log list会显示出USE_DB_RECOVERY_FILE_DEST
    4. select * from V$RECOVERY_FILE_DEST; //查询归档日志空间大小及路径
    5. show parameter recover; //显示归档文件路径
    6. 退出到oracle账户根目录然后进入rman输入以下命令进入rman
      rman target sys/password
    7. RMAN> crosscheck archivelog all; //验证的DB的归档日志
    8. RMAN> delete expired archivelog all; //删除所有归档日志
    9. RMAN>DELETE ARCHIVELOG ALL COMPLETED BEFORE ‘SYSDATE-7’; //保留7天的归档日志
    10. 再查
      SQL> select * from V$RECOVERY_FILE_DEST;
    11. 修改大小
      SQL> alter system set db_recovery_file_dest_size=5G scope=both;

    关闭归档
    SQL> alter system set log_archive_start=false scope=spfile; #禁用自归档

    SQL> shutdown immediate; //强制关闭数据库
    SQL> startup mount; //重启数据库到mount模式
    SQL> alter database noarchivelog; //修改为非归档模式
    SQL> alter database open; //打数据文件
    SQL> archive log list; //再次查看前归档模式

    展开全文
  • Linux系统Oracle定时删除归档日志

    千次阅读 2017-06-28 19:47:12
    使用rman命令删除Oracle数据库定期删除归档日志处理 1、准备工作: 以root用户角色登录Linux操作系统,创建存储删除归档时记录日志及删除shell脚本文件的目录并授权给Oracle用户,命令如下: mkdir -p /home/...
  • 1.清理Oracle归档日志脚本 1.1创建脚本 1.2编辑脚本 1.3授权 2.Linux定时任务 2.1切换用户 2.2查看定时任务列表 2.3创建定时任务 3.问题记录 1.清理Oracle归档日志脚本 1.1创建脚本 mkdir /home/del_...
  • [root@hfcwroot ~]# su - oracle [oracle@hfcwroot ~]$ mkdir -p /home/oracle/delarchlog [oracle@hfcwroot ~]$ cd /home/oracle/delarchlog ...# 删除归档脚本 # 修改区域 # ========================
  • 方法一:可用用ls查看所有的归档日志,并用rm -r *.arc删除所有的归档日志 方法二:可在命令行输入yast2进入可视化图形界面,采用增大空间的方法解决归档日志已满的问题 方法三:可在linux下设置定时归档日志清理 ①...
  • ORACLE_BASE=/opt/app/oracle; ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; ORACLE_SID=dzjg; LD_LIBRARY_PATH=$ORACLE_HOME/lib; PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin; export ORACLE_BASE ORACL...
  • 主要介绍了解决Oracle数据库归档日志占满磁盘空间问题,文中给大家提到了常用命令及实现代码,需要的朋友可以参考下
  • Linux定时清理oracle归档日志

    千次阅读 2018-09-11 12:12:29
    oracle归档日志隔一段时间就会满了,需要手动清理。 使用linux定时任务 crontab +rman 定时清理oracle 归档日志 编写脚本: vim test.sh #!/bin/bash rman target "数据库用户"/"数据库密码"...
  • 1、删除脚本 delete_arc.sh #! /bin/bash source ~/.bash_profile #加载用户变量 exec >...#检查归档日志 crosscheck archivelog all; #删除所有过期日志 delete noprompt expired archivelog a
  • 1、首先用sys登录数据库,查看oracle是否开启归档模式(su - oracle切换用户,然后sysdba / as sysdba进入sql模式) 如果是非归档模式,需要开启归档模式,具体步骤如下: [root@admin ~]# su - oracle Last ...
  • 根据自己的需求编写了简单的日志脚本 ...1,首先在linux上新建.sh的文件然后编辑 2. 编写服务器定时任务 执行脚本并输出日志 3.从新启动服务器定时任务生效。 执行 service crond restart ...
  • Oracle Linux 定期清理归档日志: 1.执行 sqlplus /nology 进入 SQL Plus,执行 conn / as sysdba; 2.执行 show parameter recover; //查询归档日志的位置,注意:如果更改过归档日志的路径,执行 archive log list;...
  • Oracle中的归档日志空间满时,则需要...一、首先删除归档日志物理文件,归档日志一般都是位于archive目录下,在Oracle 10g中AIX系统下文件格式为“1_17884_XXX.dbf”,建议操作前先对数据库进行备份,删除时至少保...
  • oracle归档日志隔一段时间就会满了,需要手动清理。 使用linux定时任务 crontab +rman 定时清理oracle 归档日志 编写脚本: vim test.sh #!/bin/bash source~/.bash_profile(如果命令无法识别则要加,否则可不...
  • 在controlfile中记录着每一个archivelog的相关信息,当然们在OS下把这些物理文件delete掉后,在我们的controlfile中仍然记录着这些archivelog的信息,在oracle的OEM管理器中有可视化的日志展现出,当我们手工清除...
  • ORACLE 正确删除归档日志的方法

    千次阅读 2018-10-26 14:51:21
    ORACLE 正确删除归档日志的方法   我们都知道在controlfile中记录着每一个archivelog文件的相关信息,当然们在OS下把这些物理文件delete掉后,在我们的controlfile中仍然记录着这些archivelog文件的相关信息,在...
  • 删除ORACLE归档日志

    2011-09-21 10:47:45
    ORACLE删除归档日志脚本,前提先在CMD中进入数据库,如果是LINUX系统,也需先进入ORACLE用户中执行,删除7天以前日志,
  • windows上设置自动删除oracle归档日志 原创 2015年10月10日 14:20:49 238500 刚搭建完的dataguard,有定时清理归档日志的需求。在主备库各设置了个定时任务 其实和在linux上做脚本都差不多。 1、创建一个删除...
  • ORACLE 归档日志满了后,将无法正常登入ORACLE,需要删除一部分归档日志才能正常登入ORACLE。   一、首先删除归档日志物理文件,归档日志一般都是位于archive目录下,AIX系统下文件格式为“1_17884_667758186....
  • Oracle删除归档日志脚本

    千次阅读 2019-03-11 10:04:11
    Oracle 删除归档日志脚本https://blog.csdn.net/tianlesoftware/article/details/5211659版权声明: https://blog.csdn.net/tianlesoftware/article/details/5211659 归档日志记录着数据库的操作记录,是做数据...
  • Oracle归档日志清理

    千次阅读 2019-02-07 20:36:35
    Oracle归档日志清理 一、Linux平台 备注:RAC环境同样适用 操作步骤: 1、在/home/oracle内创建一个目录,用来放shell脚本日志。 [root@orcldb4 arch_clean_log]$ su - oracle ---&amp;gt;从root用户切换...
  • Oracle开启归档日志功能详细步骤

    千次阅读 2020-12-24 17:20:59
    Oracle开启归档日志功能详细步骤 1.查看oracle归档状态 SQL> archive log list; 数据库日志模式 非存档模式 //目前不是归档模式 自动存档 禁用 存档终点 USE_DB_RECOVERY_FILE_DEST 最早的联机日志序列 27711 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,718
精华内容 5,087
关键字:

linux删除oracle归档日志

linux 订阅