您好,登錄后才能下訂單哦!
Oracle 如何規范清理v$archived_log記錄實例詳解
單機實例上面,v$archived_log 很多,有上萬條記錄了,所以得清理一下,不然每次查詢都直接滾屏幕了
SQL> select sequence#,applied from v$archived_log order by sequence# ; SEQUENCE# APPLIED .................... SEQUENCE# APPLIED ---------- --------- 9376 NO 9377 NO 9377 NO 9378 NO 9378 NO 9379 NO 9379 NO 9380 NO 9380 NO 9381 NO 9381 NO SEQUENCE# APPLIED ---------- --------- 9382 NO 9382 NO 11200 rows selected. SQL>
然后查看下當前的歸檔記錄
SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 164 Next log sequence to archive 166 Current log sequence 166 SQL>
看到歸檔記錄才是164,和v$archived_log里面上W的記錄數不匹配,這是因為這是rman備份恢復遺留下來的記錄,所以需要清理一下。
清理記錄,采用sys.dbms_backup_restore.resetCfileSection(11);清理:
SQL> execute sys.dbms_backup_restore.resetCfileSection(11); PL/SQL procedure successfully completed. SQL> select sequence#,applied from v$archived_log order by sequence# ; no rows selected SQL>
再次測試,可以查看到日志記錄變化了,v$archived_log已經是最新的,只有一條記錄數存在了:
SQL> alter system switch logfile; System altered. SQL> select sequence#,applied from v$archived_log order by sequence# ; SEQUENCE# APPLIED ---------- --------- 166 NO SQL> execute sys.dbms_backup_restore.resetCfileSection(11); PL/SQL procedure successfully completed. SQL> select sequence#,applied from v$archived_log order by sequence# ; no rows selected SQL>
擴展話題,單機實例可以用上,述辦法操作,那么Oracle集群比如dg呢,分析master庫、standby庫
#master庫上v$archived_log表記錄數: SQL> select count(1) from v$archived_log; COUNT(1) ---------- 623616 SQL> #standby庫上v$archived_log表記錄數: SQL> select count(1) from v$archived_log; COUNT(1) ---------- 2226823 SQL>
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。