精华内容
下载资源
问答
  • windows删除归档日志
    2021-05-03 10:58:52

    一、新建bat脚本 oracle_archivelog_delete.bat

    @echo off

    ::以“YYYYMMDD”格式取出当前时间.

    set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%

    set DATADIR=D:\app\archivelog_backup

    set ARCHIVELOG_FILE=D:\app\new_Administrator\fast_recovery_area\dzjg\ARCHIVELOG

    rman cmdfile=D:\oracle_bat\oracle_archivelog_delete.txt

    forfiles /p "%DATADIR%" /s /m *.* /d -7 /c "cmd /c del @path"

    forfiles /p "%ARCHIVELOG_FILE%" /s /m *.* /d -7 /c "cmd /c del @path"

    pause

    ::exit

    二、新建txt文件 oracle_archivelog_delete.txt

    connect target /

    run{

    backup format 'D:\app\archivelog_backup\arch-%T_%s_%U' incremental level=1 archivelog all;

    crosscheck archivelog all;

    delete noprompt expired archivelog all;

    delete noprompt archivelog until time 'SYSDATE-7';

    }

    更多相关内容
  • 最好在删除日志的时候,做好相应的日志或者数据库备份。 C:\Documents and Settings\admin>rman 恢复管理器: Release 10.2.0.1.0 - Production on 星期五 3月 21 13:07:26 2014 Copyright (c) 1982, 2005, Oracle...

    最好在删除日志的时候,做好相应的日志或者数据库备份

    windows操作系统

    C:\Documents and Settings\admin>rman

    恢复管理器: Release 10.2.0.1.0 - Production on 星期五 3月 21 13:07:26 2014

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

    RMAN> connect target sys

    目标数据库口令:
    连接到目标数据库: ORCL (DBID=1353910629)

    RMAN>list archivelog all; --查看归档日志的状态


    RMAN>crosscheck archivelog all; --命令的作用是将磁盘或者磁带上不存在的日志标记为expired

    RMAN>delete expired archivelog all; --删除过期的归档日志

    RMAN>DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';  --即删除7天前的归档日志

    RMAN>report obsolete;  --报告过期备份

    RMAN>allocate channel for maintenance type disk; --分配维护通道

    RMAN>release channel;--释放通道

    ------------------------------------------------------
    删除所有的归档文件 
    run{ 
      allocate channel t1 type disk; 
      delete force noprompt archivelog all; 
      release channel t1; 

      
    删除2013年10月01号23点12分22秒以前的所有归档日志 
    run{ 
      allocate channel t1 type disk; 
      delete force noprompt archivelog until time "to_date('2013-10-01 23:12:22','yyyy-mm-dd hh24:mi:ss')"; 
      release channel t1; 

      
    allocate channel t1 type disk  表示分配通道,通道的名称为t1 
    force  表示无论归档日志文件是否物理存在,都要删除在数据库中的记录 
    noprompt  表示删除前,不提示用户进行确认 
    release channel t1  表示释放通道t1


    来源:http://blog.csdn.net/super712/article/details/21710579

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

    当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>

    展开全文
  • 本文介绍win平台oracle rman备份和删除dg备库归档日志脚本
  • #功能:自动删除ORACLE归档日志文件 #删除方式:rman ,deletearchivelog #调用方式:可单独调用,或在job_clean_archivlog.sh脚本中根据需要调用见另外的附件) ##############################################
  • 这段时间认真学习了一下Data Guard的一些...怕自己忙起来忘了删DG上的归档文件, 早上编了一个删DG上归档日志的脚本,在此贡献出来, 希望对大家有点小用处.脚本说明:1. WINDOWS平台上使用2. 使用时只需把前面几个参...

    这段时间认真学习了一下Data Guard的一些知识, 在学习过程中得到了ITPUB上不少DX的帮助, 昨天把生产上的两套ORACLE在同一台机器上作好了DG, 呵呵, 现在放心多了.

    再此再感谢一下所有帮助过我的人.

    怕自己忙起来忘了删DG上的归档文件, 早上编了一个删DG上归档日志的脚本,  在此贡献出来, 希望对大家有点小用处.

    脚本说明:

    1. WINDOWS平台上使用

    2. 使用时只需把前面几个参数改成自己的实际情况就行了

    3. KEEP_DAY是指归档日志多保存的天数, 如果是0, 那么应用过的就会删掉

    4. 在WINDOWS中用at 加入自动运行就可以了, SKLW和LCBJ是我机器上的DG的SERVER_NAME

    @echo off

    rem Oracle Data Guard archivelog delete scripts

    rem Create by Kangoo.

    rem 2008/2/14

    if "%1" == "sklw" goto paramok

    if "%1" == "SKLW" goto paramok

    if "%1" == "lcbj" goto paramok

    if "%1" == "LCBJ" goto paramok

    echo "Usage: %0 {sklw|lcbj}"

    goto finish

    4f06a01a81d5603cca001c0e92e5ebda.gifaramok

    set ORACLE_SID=%1

    set ORACLE_HOME=D:\ORACLE\ORA92

    set CMDFILE_PATH=D:\DG_SCRIPTS

    set TMP_FILE1=%CMDFILE_PATH%\%ORACLE_SID%1SQLPLUSDUSS1PQQX.TMP

    set TMP_FILE2=%CMDFILE_PATH%\%ORACLE_SID%2SQLPLUSCMDDSIPTS.TMP

    set TMP_FILE3=%CMDFILE_PATH%\%ORACLE_SID%3RMANSCRIPTSSASDF.TMP

    set KEEY_DAY=5

    echo @%TMP_FILE2% > %TMP_FILE1%

    echo EXIT >> %TMP_FILE1%

    echo SET FEED OFF > %TMP_FILE2%

    echo SET HEADING OFF >> %TMP_FILE2%

    echo SET ECHO OFF >> %TMP_FILE2%

    echo SET TERMOUT OFF >> %TMP_FILE2%

    echo SET NEWPAGE NONE >> %TMP_FILE2%

    echo SET LONG 90000 >> %TMP_FILE2%

    echo SET SQLBLANKLINES ON >> %TMP_FILE2%

    echo SPOOL %TMP_FILE3% >> %TMP_FILE2%

    echo SELECT 'delete noprompt copy of archivelog sequence ' ^|^| sequence# ^|^| ';' >> %TMP_FILE2%

    echo FROM v$archived_log >> %TMP_FILE2%

    echo WHERE NOT (status = 'D' OR deleted = 'YES') >> %TMP_FILE2%

    echo AND applied = 'YES' AND completion_time ^< trunc(sysdate-%KEEY_DAY%) >> %TMP_FILE2%

    echo UNION >> %TMP_FILE2%

    echo SELECT 'exit' FROM dual; >> %TMP_FILE2%

    echo SPOOL OFF >> %TMP_FILE2%

    echo EXIT >> %TMP_FILE2%

    %ORACLE_HOME%\bin\sqlplus.exe "/ as sysdba" < %TMP_FILE1%

    %ORACLE_HOME%\bin\rman.exe target / cmdfile=%TMP_FILE3%

    DEL %TMP_FILE1%

    DEL %TMP_FILE2%

    DEL %TMP_FILE3%

    :finish

    展开全文
  • Windows环境定期清理Oracle归档日志

    千次阅读 2020-02-13 15:19:04
    一、Windows环境下的配置 原理:通过系统的任务计划执行Oracle归档日志。...2、创建删除归档日志命令的del_archivelog.txt文件,写入内容: connect target / run{ crosscheck archivelog all; DELETE ARCHIV...
  • 如何正确删除Oracle归档日志,oralce归档日志清理.
  • windows下oracle定期删除归档日志

    千次阅读 2020-03-04 15:23:19
    设置归档日志保留天数 ...1.1.2 在D盘highgo文件中创建删除归档日志命令的del_archivelog.txt文件,写入内容: connect target sys/oracle@orcl run{ crosscheck archivelog all; DELETE ARCHIVELOG ALL...
  • 工作环境ORACLE 11g 归档日志满了,手动删除出现 ora 异常。注:工作环境是linux redhat 5执行命令如下:1. 进入rman 2. connect target / 3. crosscheck archivelog all;4. delete expired archivelog all; 执行到...
  • Oracle RMAN删除归档日志脚本

    千次阅读 2021-09-15 23:38:17
    Oracle 开启归档模式后,会一直不停的产生归档日志,如果不定时删除,迟早会撑爆磁盘空间,所以就需要布置定时删除归档日志的脚本! 至于为什么要开启归档模式,还有怎么开启归档模式!请参考:Oracle 开启归档模式 ...
  • 一、查询归档日志情况 # 最高权限连接到orcl实例: sqlplus /@orcl as sysdba # 查看当前连接的数据库的sid: select instance_name from v$instance; # 查看回闪恢复区的大小和存放目标: show parameter db_...
  • windows操作系统:最好在删除日志的时候,做好相应的日志或者数据库备份。C:\Documents and Settings\admin>rman恢复管理器: Release 10.2.0.1.0 - Production on 星期五 3月 21 13:07:26 2014Copyright (c) 1982...
  • Oracle 归档日志及其删除

    千次阅读 2022-03-15 19:44:48
    (转) ORACLE 正确删除归档日志的方法 - 天之痕羽翼 - 博客园 开启归档日志必须重启Oracle: shutdown immediate startup mount alter system set log_archive_dest='/mnt/disk01/oracle_archive_log'; alter ...
  • 归档日志删除脚本.txt

    2020-06-01 17:44:38
    归档日志删除脚本,仅供参考学习,适用于oracle数据库版本,个人经验总结, 个人已经尝试过,暂时没有发现问题,可以根据每个人的需求进行修改保留时间
  • Oracle Windows/Linux定期清理归档日志 一、Windows环境下的配置 原理:通过系统的任务计划执行...2、创建删除归档日志命令的del_archivelog.txt文件,写入内容: connect target / run{ crosscheck arch.
  • sqlplus /nolog ...# 查看日志文件占用情况 ARCHIVED LOG 值为占用的百分比情况,如果数值在90以上就该清理了 sql> select * from V$FLASH_RECOVERY_AREA_USAGE; ## 以下为清理方法 # 进入oracle的rman...
  • windows上设置自动删除oracle归档日志

    千次阅读 2017-09-28 09:33:19
    1、创建一个删除归档日志的脚本(delete_arch.txt): connect target / run{ DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7'; //删除7天前的归档日志,怕哪天DG有问题,有日志没有及时应用 crosscheck ...
  • 今天一个朋友问我在Oracle10g中如何删除归档日志,就这个问题作如下回答:Oracle中归档日志不能通过操作系统(OS)级命令直接删除,因为归档日志的一些信息在控制文件中是有记录的,而且如果使用OS级命令直接删除以后...
  • 定期删除数据库归档日志
  • 【RMAN】正确删除归档日志的方式

    千次阅读 2019-04-09 09:27:35
    归档日志的信息是记录在控制文件中,所以不能从OS层面进行简单的删除,因为这些归档日志还是会在动态视图中出现, Oracle 并不认为这些日志删除了。 方法一...
  • 最近遇到一个很BT的项目,通过数据库的镜像盘阵进行RMAN备份,生产环境中产生的归档日志需要定时清除。而且,由于镜像盘阵是在备背景:最近遇到一个很BT的项目,通过数据库的镜像盘阵进行RMAN备份,生产环境中产生的...
  • 如果数据库处于 NoArchivelog 模式,则 Oracle 不会归档联机重做日志文件。因此,在线重做日志文件已满时会被覆盖。 如果 Oracle 数据库突然重启或崩溃,那么如果没有旧的重做日志记录,它就无法持续启动。 另一方面...
  • 如何删除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_...
  • 归档日志记录着数据库的操作记录,是做数据...当然如果有RMAN备份的话,可以在备份之后删除已经备份过的日志,如果是没有采用rman备份的话,就需要自己来删除这写归档日志。 下面的几个脚本就减轻了DBA的工作量。Li...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,700
精华内容 6,280
热门标签
关键字:

windows删除归档日志