zoukankan      html  css  js  c++  java
  • Oracle 归档开启切换和归档日志删除(单实例和RAC)

    Oracle默认安装后,是没有开启归档模式的,需要手动开启。

    开启归档
    --单实例
    如果archive log模式下不能正常startup,则先恢复成noarchive log,startup成功后,再shutdown;
    SQL> select group#,thread# from v$log;

    GROUP# THREAD#
    ---------- ----------
    1 1
    2 1
    3 2
    4 2
    5 1

    shutdown immediate;
    startup mount;
    alter database noarchivelog;
    alter database open;
    --alter system set log_archive_format='%s_%t_%r.log' scope=spfile;
    --alter system set log_archive_dest_1='location=/u01/app/oracle/archive';

    再次startup以archive log模式
    shutdown immediate;
    startup mount;
    show parameter log_archive_dest;
    alter database archivelog;
    archive log list;
    alter database open;
    SQL> show parameter archive;
    alter system archive log current;

    --RAC ,把归档日志放在asm上
    ASMCMD> cd ARCH
    ASMCMD> ls
    ASMCMD> pwd
    +FRA/BOL/ARCH
    ASMCMD> lsdg
    SQL> select instance_name,host_name,status from gv$instance;

    SQL> alter system set log_archive_dest_1='location=+FRA/BOL/ARCH' scope=spfile sid='bol1';
    SQL> alter system set log_archive_format='%s_%t_%r.log' scope=spfile sid='bol1';

    SQL> alter system set log_archive_dest_1='location=+FRA/BOL/ARCH' scope=spfile sid='bol2';
    SQL> alter system set log_archive_format='%s_%t_%r.log' scope=spfile sid='bol2';
    srvctl stop database -d bol
    srvctl start instance -d bol -i bol1 -o mount

    SQL> alter database archivelog;
    SQL> alter database open;
    SQL> archive log list;
    SQL> archive log list;
    Database log mode Archive Mode
    Automatic archival Enabled
    Archive destination +FRA/bol/arch
    Oldest online log sequence 91
    Next log sequence to archive 93
    Current log sequence 93

    srvctl start instance -d bol -i bol2 -o mount
    SQL> alter database open;
    SQL> show parameter archive;
    SQL> show parameter cluster_da

    NAME TYPE VALUE
    ------------------------------------ ----------- ------------------------------
    cluster_database boolean TRUE
    cluster_database_instances integer 2
    select *from v$archived_log;
    1 991992944 +FRA/bol/arch/32_2_990861401.log 1 2 32
    2 991993151 +FRA/bol/arch/93_1_990861401.log 1 1 93
    --2个实例的归档日志
    [grid@rac2 ~]$ asmcmd
    ASMCMD> cd FRA/BOL/ARCH
    ASMCMD> ls
    32_2_990861401.log
    33_2_990861401.log
    93_1_990861401.log
    94_1_990861401.log
    --2个实例的归档文件


    删除归档日志
    --单实例
    手工删除os的归档日志后,在controfile中仍然记录着这些归档日志的信息,这时候需要删除
    1 删除os文件
    [root@localhost archivelog]# pwd
    /u01/app/oracle/archivelog
    [root@localhost archivelog]# find /u01/app/oracle/archivelog/ -mtime +30 -name '*.arc'
    ---执行删除命令
    find /u01/app/oracle/archivelog/ -mtime +30 -name '*.arc' -exec rm -f {} ;
    [oracle@localhost ~]$ find /u01/app/oracle/archivelog/ -mtime +30 -name '*.arc' -exec rm -f {} ;
    2 rman执行删除
    [oracle@localhost ~]$ rman target /
    RMAN> crosscheck archivelog all;
    RMAN> delete expired archivelog all;
    RMAN> report obsolete;
    RMAN> delete obsolete;
    RMAN> list expired archivelog all;
    或者直接执行
    RMAN> delete archivelog all completed before 'sysdate -29';
    --删除全部归档日志
    delete noprompt archivelog all completed before 'sysdate'; --->该命令清除所有的归档日志
    delete noprompt archivelog all; --->同上一命令
    select * from V$FLASH_RECOVERY_AREA_USAGE;
    select * from v$archived_log order by first_time desc
    --脚本删除
    #!/bin/bash
    source /home/oracle/.bash_profile
    #LOGFILE=/data/rman/rman_delete.log
    #RMAN=$ORACLE_HOME/bin/rman
    $ORACLE_HOME/bin/rman log=/home/oracle/del_arch$(date +%Y-%m-%d).log <<EOF
    connect target sys/***@sid
    crosscheck archivelog all;
    delete noprompt expired archivelog all;
    delete noprompt archivelog until time 'sysdate-1';
    exit;
    EOF
    --删除rac的归档日志
    [grid@rac2 ~]$ asmcmd
    ASMCMD> cd FRA/BOL/ARCH
    ASMCMD> ls
    32_2_990861401.log
    33_2_990861401.log
    93_1_990861401.log
    94_1_990861401.log
    --进行rm删除文件
    ASMCMD> rm 32_2_990861401.log

  • 相关阅读:
    程序员的数学基础课 时间和空间复杂度(上):优化性能是否只是“纸上谈兵”?5
    程序员的数学基础课 原来取余操作本身就是个哈希函数 4
    程序员的数学基础课 1 append
    https://www.tiobe.com/tiobe-index//
    贝多芬的《D 小调第九交响曲》
    Hive基础(11):元数据(二)分析Hive表和分区的统计信息(Statistics)
    Hive基础(10):元数据(一)Hive的元数据表结构详解
    qemu-system-aarch64: failed to find romfile "efi-virtio.rom"
    vhost + qemu-system-aarch64
    qemu-system-aarch64: -enable-kvm: No machine specified, and there is no default Use -machine help to list supported machines
  • 原文地址:https://www.cnblogs.com/yhq1314/p/9944917.html
Copyright © 2011-2022 走看看