DBMS_LOGMNR
Перевод базы в режим логировагия
  • sqlplus.exe "/ as sysdba"
  • shutdown immediate;
  • STARTUP MOUNT FORCE;
  • ALTER DATABASE ARCHIVELOG;
  • ALTER DATABASE OPEN;
  • select log_mode from V$DATABASE;
    LOG_MODE
    ------------
    ARCHIVELOG
  • alter system archive log start;
Просмотр логов
  • Устанавливаем параметр UTL_FILE_DIR (если он не был установлен ранее) в значение пути к файлу dictionary.ora.
    alter system set UTL_FILE_DIR="/opt/oracle" SCOPE=SPFILE;
  • Создаем пустой файл dictionary.ora в этой директории.
  • Создаем файл dictionary.ora
    begin
     DBMS_LOGMNR_D.BUILD(
      'dictionary.ora' ,'/opt/oracle' ,
      options => DBMS_LOGMNR_D.store_in_flat_file
     );
    end;
  • Просматриваем список доступных логов
    select * from V$ARCHIVED_LOG order by recid desc
    .
  • Подключаем нужный файл
    begin
      DBMS_LOGMNR.ADD_LOGFILE( 
       LogFileName => '/opt/oracle/.../archivelog/2008_09_01/o1_mf_1_212_4cq415vr_.arc',
       Options => dbms_logmnr.ADDFILE);
    end;
    begin
      DBMS_LOGMNR.START_LOGMNR( DictFileName => '/opt/oracle/dictionary.ora' );
    end;
    .
  • Просматриваем содержание
    select * from V$LOGMNR_CONTENTS order by timestamp desc;
    .
  • Отключаем
    begin
     DBMS_LOGMNR.end_logmnr();
    end;
    .
Управление archivelog с помощью RMAN
  • Соединяемся:
    CONNECT TARGET sys/pwd;
  • Удаляем логи трехдневной давности:
    CROSSCHECK ARCHIVELOG ALL;
    delete noprompt archivelog until time 'SYSDATE-3';
    или
    CROSSCHECK ARCHIVELOG ALL;
    delete noprompt archivelog until sequence 88966 thread 1;
-
-
Hosted by uCoz