2. 資料庫體系結構:
1. redo log buffer cache日誌檔案緩衝區log_buffer
每3秒寫一次; commit提交; 達到1m的時候; 資料庫寫程序開始磁碟寫之前寫;
髒資料讀取機制,多版本,這個版本複製在redo log緩衝區中
日誌檔案緩衝區(存放的是改變的資料; 按照順序寫到磁碟中,不用查詢相應的dbspace和block,所以速度最快)
用於例程恢復的時候前滾資料
參考值:
日誌大小建議切換的時間為30分鐘切換一次較好,太小會引起因為日誌切換引起的觸發checkpoint,而checkpoint會觸發dbwr程序寫資料到磁碟,導致寫等待
檢查點檢查: showparameter log_checkpoint 如果log_checkpoints_to_alert 為true,則自動記錄在alter日誌中
2. undo log buffer cache 回退段緩衝區(存放是改變的資料,資料量較大)
注意提交的時候不寫資料庫檔案,而僅僅寫redo log
檢查點開始的時候寫
配置檢查點參考值: 15秒 檢查點開始的時候,會把檢查點資訊寫到每個資料檔案的檔案頭.
3. 資料庫啟動:
3.1 啟動例程(sga+程序)
讀引數檔案
分配sga
啟動後台程序
開啟跟蹤和警告檔案
3.2 裝載資料庫
開啟控制檔案(資料庫結構)
開啟所有的資料檔案及日誌檔案(如果非重要資料庫檔案損壞,則需要手工將該檔案offline,後起來)
3.3 open資料庫
系統資訊----
動態效能檢視: **於記憶體和控制檔案(控制檔案需要資料庫mount狀態才可以用)
資料字典: **於資料庫檔案
4. 優化步驟
4.1 收集統計資訊
alert log檔案; (主要是出問題的時候診斷問題**;如: 檢查是否有ora-600和是否有塊錯誤)
使用者跟蹤檔案
動態效能檢視(v$開頭)
如 v$event_name.name = 'buffer busy waits' 可能原因 磁碟io等待,
如v$filesstat 表 phyrds*phyblkrd 物理讀塊數;
資料字典(dba開頭的系統表) 影響sql執行路徑的優化策略
工具(awr ,statpack,em,addm) 執行: $oracle_home/rdbms/admin/utlbstat.sql utlestat.sql utl開頭的是產生某種功能的指令碼;
第三方工具
4.2衡量指標(根據經驗指標)
4.3 調整指標
5. io 優化(less 06)
裸裝置; 檔案系統;asm
5.1 raid5經濟,適合資料倉儲 讀速度慢,小資料量的寫需要奇偶校驗,效率低; 聯機交易系統建議0+1
5.2 ofm管理檔案系統
alter system set db_create_file_dest = '目錄名稱' 建立的表空間時候不需要指定目錄和檔名,這時候這個檔案由oracle給定乙個唯一的名稱. 這個時候drop掉表空間的時候,表空間檔案跟著一塊刪除.
5.3 asm 磁碟組
做映象,跨越磁碟條帶化
5.4 oracle io優化
rollback 單獨的表空間
表和索引分開
使用者表空間和系統表空間分開
單獨的大物件表空間
select substr(rowid,7,3),count(*) from emp2 group by 1 這個是記錄自動分部在多個檔案上;
第一次建立表的時候有效果.
Itween筆記 第三節
itween關於動畫執行的補充.itween.camerafadefrom itween.hash amount 1f,time 2f 在兩秒結束後.itween.camerafadefrom itween.hash amount 1f,time 2f,oncomplete itweentest o...
Python學習筆記 第三節
算術運算子 就是我們常用的 兩個物件相加 也可以用來字串的連線 兩個數相減 得到的數可以是負值 兩個數做乘法運算,或者將乙個字串重複幾次 兩個數做除法運算,需要注意 在python2版本裡邊,兩個相除,得到的也是整數,如果想要得到浮點數,只要把其中乙個數變為浮點數就好 例程環境 python 3 冪...
第三節課上筆記
沒有彈出輸入賬戶框,顯示如下,先輸入使用者名稱,碼雲的註冊手機號或者郵箱,回車,輸入碼雲註冊密碼 如果輸入錯誤,按如下操作 git add 2.git commit m 檔名稱 3.git push u origin master git add 當前資料夾所有內容 git commit m 備註資...