day10 日誌切換

2022-07-24 16:12:18 字數 1362 閱讀 1911

select * from v$log;

create table haha as select * from all_objects;

insert into haha select * from haha;

commit;

delete from haha;

select * from v$log;

alter system switch logfile;

select * from v$log;【不產生資料,手工切換日誌】

inactive:同步完成      active:有資料未同步完成

切換日誌時,切換到active狀態的日誌時,觸發check point,把活動的寫完了,或者變成同步完成狀態,然後才能切換,等十幾秒切換,所以切換有點慢。

十幾秒對於我們來說,這時間很有短暫,但對於生產庫,訪問量大的話,十幾秒太可怕了。

你想像一下,所有資料庫都是先寫日誌後操作,意味你在切換日誌時,外部的操作不能執行,因為你現在 正在切換日誌組

你沒法往日誌組裡寫,操作動作都得等,等日誌組正常,等切換完日誌才可以,

想像一下生產庫,寫滿50m等十幾秒鐘,再寫滿50m等十幾秒鐘,生產環境中50m太好寫完了,一會就寫完了,所以你在做資料庫維護時還有一塊,

日誌大小的調整,一定要滿足,公司的業務不要太頻繁的切換日誌。假如1分鐘切換1次,每過1分鐘等十幾秒鐘,領導肯定怒,體驗效果非常差。

把日誌組調得大點,根據業務來調整,一般情況下,保證1小時切換一次最好。

我見過最大的日誌組2g大小,這屬於大庫,日誌產生2g,是不是資料也產生2g?資料可能大於2g,也可能小於2g【增刪改】。

在公司中到底設定多大好,需要你自己去監控,維護資料庫,隔段時查詢一下。

比如:在業務峰值時,查詢當前查 序列號4,過了1小時後,再次查詢 序列號14,這證明你1小時內切換了10次日誌。那你可以把日誌大小調大10倍。

第2天你再繼續在業務高峰監控,如果當前序列是15,過了1小時再查詢是16了,那正常了。如果還不正常,繼續調整。

這個日誌切換太頻繁不好,不切換也不好。為什麼不讓你設定成無限大?因為你要設定太大了,總也不切換了,帶來乙個問題,很少產生歸檔。

如果當前日誌壞了,這段時間內你的資料全沒了。

所以,峰值時最好1小時切換1次。2小時強制切換。   

(1)強制切換  (2)計畫任務

如何通過指令碼實現?

抓取  v$log 中 sequence#的值,第1次是5,第2次是6,算一次時間就出來了。

set lines 300

spool '/home/oracle/aa.txt'

select max(sequence#) from v$log;

spool off;

來自為知筆記(wiz)

Day7 日誌檔案

學習筆記 一 日誌檔案 rsyslogd 主要記錄系統與網路等服務的資訊 klogd 主要記錄核心產生的各種資訊 logrotate 主要進行日誌檔案的輪替功能 二 rsyslogd的功能 1.日誌內容的一般格式 2.配置檔案位址 etc rsyslog.conf 3.資訊等級 1.info 2.n...

閉關日記 Day10

小雨。我想想怎麼寫,先挖坑。d 確認4.1 考科目三,估計過幾天要開始練車了。晚上去工作室敲 剛好看到他們在筆試,明天就是我筆試了,祝一切順利 專案f的電鋸聲識別,開始用比較勉強的方式實現,算是折衷吧,迫於時間,暫時如此,精準的識別想來是我目前做不出來的,如果畢設做這個,倒是也可以好好研究一些聲音方...

Day 10 遞迴函式

include long func int func函式呼叫 int main long func int n 呼叫形參 已知斐波那契函式1,2,3,5,8 n 1,n得到分段函式n 1時為1 n 2時為2 n 2時為 n 1 n 2 同理若求8的n次方時分段函式n 0時為1 n 1時為8 8 n ...