zoukankan      html  css  js  c++  java
  • oracle归档日志

    前几天因为导入大的东西,弄得很久都没动静,一看最后才发现是归档满了。但是很多的命令还是很是很不熟悉,所以看了下,百度了下。整理下这个。

    1.查看归档日志大小及使用情况 select * from v$recovery_file_dest SQL> select * from v$recovery_file_dest; NAME -------------------------------------------------------------------------------- SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES ----------- ---------- ----------------- --------------- /u03/fast_recovery_area 8589934592 6551817216 SQL> select * from v$flash_recovery_area_usage; FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE -------------------- ------------------ ------------------------- NUMBER_OF_FILES --------------- CONTROL FILE 0 0 0 REDO LOG 1.83 0 3 ARCHIVED LOG 74.44 0 159 如果 ARCHIVED LOG 超过90% oracle随时有宕机的危险 增大归档日志空间 SQL> alter system set db_recovery_file_dest_size=20G; System altered.

      删除归档日志 

    1.看看现在用了多少归档日志了(按百分比):
     select * from v$flash_recovery_area_usage;
    如果超过90%随时有宕机的危险
    2.当删除归档文件后需要用RMAN工具释放归档所占用的空间,首先连接RMAN工具
     
    rman target sys/pass
     
    3.查查归档日志吧
     
    crosscheck archivelog all;
     
    4.觉着没用就干掉它吧,如果想保留今天的用下面那个语句
     
    delete expired archivelog all;(全部删除)
     
    delete archivelog until time 'sysdate - 1';(保留当天删除,删除之前所有)
    
    也可以:$ORACLE_BASE/flash_recovery_area/你的实例名/archivelog/这个路径下,找到归档日志文件,把没用的删了

    关闭归档

    1.,用SYS用户进行登录,首先设置归档进程关闭。
     
    alter system set log_archive_start = false scope = spfile;
     
    2.然后关闭数据库
     
    shutdown immediate;
     
    3.启动DB到mount模式
     
    startup mount;
     
    4.关闭闪回数据库模式,如果不关的话总报错ORA-38774
     
    alter database flashback off;
     
    5.接着将数据库改为非归档模式吧
     
    alter database noarchivelog;
     
    6.打开数据库
     
    alter database open;
     
    7.查看一下空间大小吧
     
    select * from v$recovery_file_dest;
     
    8.看一下日志状态
     
    select * from v$log;
     
    9.使用情况查看方法还是如出一辙
     
    select * from v$flash_recovery_area_usage;
    一 设置为归档方式
    
    1 sql> archive log list;   #查看是不是归档方式
    2 sql> alter system set log_archive_start=true scope=spfile; #启用主动归档
       sql> alter system set log_archive_dest=''location=/oracle/ora9/oradata/arch'' scope=spfile;
          #设置归档路径
       sql> alter system set log_archive_dest_1=''location=/oracle/ora9/oradata/arch1'' scope=spfile;
       sql> alter system set log_archive_dest_2=''location=/oracle/ora9/oradata/arch2'' scope=spfile;
          #如果归档到两个位置,则可以通过上边方法实现
      sql> alter system set log_archive_format=''arch_%d_%t_%r_%s.log''  #设置归档日记款式
    
      或者:
    1.SQL>ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=20G SCOPE=BOTH;  
    
    2.SQL>ALTER SYSTEM SET DB_RECOVERY_FILE_DEST='/DBA/FB' SCOPE=BOTH; 
    
    
    
    3 sql> shutdown immediate;
    4 sql> startup mount;    #打开控制文件,不打开数据文件
    5 sql> alter database archivelog; #将数据库切换为归档模式
    6 sql> alter database open;   #将数据文件打开
    7 sql> archive log list;   #查看此时是否处于归档模式
    8 查询以确定数据库位于archivelog模式中且归档过程正在运行
    sql> select log_mode from v$database;
    sql> select archiver from v$instance;
    9 日志切换
    sql> alter system switch logfile;
    10 这次日志切换将归档写到两个目标地,
      1,即第二步的/oracle/ora9/oradata/arch1和/oracle/ora9/oradata/arch1,要是要对目录确认
    
    在oracle情况中运行如下查询:
    sql> select name from v$archived_log;
    而后在操作系统中确认查询所列出的文件
    二 设置非归档方式
    1 sql> archive log list;   #查看是否是归档方式
    2 sql> alter system set log_archive_start=false scope=spfile; #禁用自动归档
    3 sql> shutdown immediate;
    4 sql> startup mount;    #打开控制文件,不打开数据文件
    5 sql> alter database noarchivelog; #将数据库切换为非归档模式
    6 sql> alter database open;   #将数据文件打开
    7 sql> archive log list;   #查看此时便处于非归档模式
    
    三 归档相关命令
    
    archive log stop;
    archive log start;
    archive log list;
    
    show parameters;
    show parameters log_archive_start;
    show parameters log_archive_max_process; #归档进程数
    alter system set log_archive_max_process=5; #将归档进程数改为5
    select * from v$bgprocess;    #检察后台进程
     =================
     SQL> show parameter archive log; 显示所有的归档日志
    SQL> show parameter recover;
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    db_recovery_file_dest                string      /u03/fast_recovery_area
    db_recovery_file_dest_size           big integer 8G  归档日志大小
    db_unrecoverable_scn_tracking        boolean     TRUE
    recovery_parallelism                 integer     0
  • 相关阅读:
    nodejs安装
    Python基本知识3----序列
    jdk环境变量配置
    sublime text3插件的安装
    QTP基本方法4------手动写入信息到测试结果报告中
    QTP基本方法3-----截屏
    QTP基本方法2------截取字符串
    QTP基本方法
    python文件操作指令
    XSStrike工具的安装使用
  • 原文地址:https://www.cnblogs.com/uniqueness/p/3304238.html
Copyright © 2011-2022 走看看