Oracle查詢歸檔日志


查看歸檔日志大小及使用情況
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

 

轉載自:https://blog.csdn.net/zhaoxiaofei0929/article/details/38826921


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM