1. 程式人生 > >oracle調優 效能與安全的權衡

oracle調優 效能與安全的權衡

效能與安全的權衡

    對於資料庫調優而言,沒有絕對的效能也沒有絕對的安全。正如魚和熊掌不能兼得一樣,是不能完全兼顧的,就像是矛和盾此消彼長。下面就對比較常見的幾個因素做一個簡要的闡述:

1、多元化控制檔案:

      多個地方,意味著更安全,一個損壞了可以轉儲另外一個繼續使用。但同樣,越多也意味著IO壓力越大,一般為2到3個控制檔案多元化。比如:假設3個控制檔案都損壞的概率已經相當低了,再多的控制檔案也就沒有意義了。因為一個控制檔案損壞,資料庫立刻就會崩潰,檢查點的發生會產生預警資訊,這樣就可以根據提示人為的做出干預,儘快對其解決。

2、多元化日誌組成員:

       多遠化日誌組成員一樣,越多也就意味著IO壓力越大,但對於日誌組,要根據實際生產環境去制定適宜的日誌組個數、日誌組成員的個數、日誌組的大小。

3、經常產生檢查點:

       發生檢查點以後,如果要做資料恢復的話,說明要從檢查點以後資料進行恢復,這就意味著檢查點發生的多,恢復的量級就少。即使資料丟失,也能確定發生這個檢查點的時候,資料都寫入到了資料檔案裡。但經常發生檢查點對於效能上IO量會大。因為發生檢查點時髒塊會同步到磁碟上,設計髒塊的目的就是一個髒塊修改了很多次,在將髒塊寫入到磁碟的時候可以一次完成。有一點要提及的就是修改記憶體中的資料狀態要比修改磁碟中的資料狀態快很多,設想一下把多次修改記憶體中的狀態,變成多次直接修改磁碟中的狀態,會有怎樣的變化。做一個極端化假設,髒塊每次細微變化就觸發一次檢查點,把髒塊寫入到磁碟中,是保證了資料的安全性,但這就破壞設計緩衝區的目的。記住一點,寫入磁碟的資料效率要遠低於寫入記憶體資料的效率。

4、資料檔案備份:

       沒有備份,資料丟失是無法恢復的。要明確的知道,在做資料的備份的時候,會產生大量的讀和大量的寫,這個過程需要很大的IO,做的多對資料庫是有影響的。但客戶都會有一個最長的恢復時間(到達現場的時間、轉儲環節、recover環節,經過測試能滿足客戶要求的最長的停機時間),如恢復一週資料需多長時間,要有備份策略,在做備份之前要跟客戶協調好,如果可以的話需要簽署某些備份協議以保證雙方應承擔的義務和責任。

5、開啟歸檔:

       一般生產庫均會開啟歸檔,排除某些允許資料可以丟失的現場環境,實際工作中很少有不開歸檔的。一旦存在這種情況的話,往往資料是可以從其它途徑恢復的。如把資料從庫中匯出,這樣就可以接受非歸檔。舉個例子可以不開歸檔,比如一個用於實驗或分析的庫,其中的資料是由另外的庫匯入的,這種情況就可以接受不開歸檔。

同樣的,歸檔的路徑越多,安全性越高,效能影響就會越大,這就是一個相互制衡的因素。

6、資料塊檢查:

舉例:

SQL> show parameter check

NAME                       TYPE      VALUE

------------------------------------     -----------    ------------------------------

db_block_checking             string      FALSE

db_block_checksum            string      TRUE

log_checkpoint_interval         integer     0

log_checkpoint_timeout         integer     1800

log_checkpoints_to_alert        boolean    FALSE

       由上圖的檢視可以查詢到db_block_checking引數:

FALSE:表示當從資料快取區把資料往磁碟上寫的時候,僅要求system表空間往下寫的時候,是需要驗證的,其它表空間不做驗證;

TRUE:表示所有表空間在寫髒塊時都做驗證。

     該資料庫檢查越多,IO越多,但資料越安全。這就要看事務的重要程度了。

7、併發的使用者和事務數量:

       這是對於系統資源損耗情況的討論,不能單從資源消耗多就判斷系統性能有問題,因為對於資源的使用上,比如說當使用多時可以接受很多的使用者操縱,在單位的時間內可以完成很多的事務。為了做到這點,負荷必然大,效能消耗必然多。這就是一個平衡點,一般需要保證系統在一個平穩的狀態下執行後,儘可能多的去承擔使用者的訪問為佳(即事務量越多越好)。

       優化的影響因素有很多,這只是對某幾點的一個簡單闡述,在部落格中會逐漸的通過幾方面去擴充套件優化。如果感興趣的話,可以關注一下。

相關推薦

oracle調 效能安全權衡

效能與安全的權衡     對於資料庫調優而言,沒有絕對的效能也沒有絕對的安全。正如魚和熊掌不能兼得一樣,是不能完全兼顧的,就像是矛和盾此消彼長。下面就對比較常見的幾個因素做一個簡要的闡述: 1、多元化

軟體效能測試分析調實踐之路-效能分析調思想調技術總結

本文主要闡述軟體效能測試中的一些調優思想和技術,節選自作者新書《軟體效能測試分析與調優實踐之路》部分章節歸納。 一、  效能分析與調優思想 1、效能分析調優模型 效能測試除了為獲取效能指標外,更多是為了發現效能瓶頸和效能問題,然後對效能問題和瓶頸進行分析和調優,在當今網際網路高速發展的時代,效能調優

oracle調 淺析有效的遊標管理

content -m pos 能夠 data 遊標 size 綁定 style 淺析有效的遊標管理 【思路分析】 能夠把遊標理解成共享的運行計劃,當sql不被共享時。常規的解決思路有兩個方向: 1、調整共享池的尺寸(共享池的庫緩存區中共享運行計劃);

Spark調--效能調

前天跟大家聊spark優化,說了個大體上的方案,今天就效能調優跟大家聊聊,首先分如下4塊 一>  分配更多資源 分配哪些資源? Executor的數量,每個executor所能分配的cpu數量,記憶體量,driver分配的記憶體量 在哪裡分配呢? 在開發中,提交s

cephfs調 & 效能測試 & 監控 & 常用命令

前言 k8s對ceph rbd模式不支援ReadWriteMany(RWX),為了滿足k8s的靈活性需求,採用支援多點掛載的cephfs工作模式.網上少有針對cephfs調優的文章,因此在本篇,將針對cephfs進行一些引數調優及效能測試 硬體規劃 配置調優

JVM調方案思路?(小白篇)

堆設定 -Xmx3550m:設定JVM最大堆記憶體為3550M。 -Xms3550m:設定JVM初始堆記憶體為3550M。此值可以設定與-Xmx相同,以避免每次垃圾回收完成後JVM重新分配記憶體。 -Xss128k:設定每個執行緒的棧大小。JDK5.0以後每個執行緒棧大小為

[轉]JVM調原理常見異常處理方案

在jvm調優之前,我們必須先了解jvm的記憶體模型與GC回收機制,這些在我前面的文章裡面有介紹!接下來我們通過一個案例來調整jvm效能。 一 測試案例: 1.1 編寫demo import java.text.DecimalFormat; /** -XX:+PrintGC

Mongodb效能調 -效能優化建議

摘要 1. MongoDB 適用場景簡介 2. Mongodb 效能監控與分析 3. Mongodb 效能優化建議 關於Mongodb的幾個大事件 1.根據美國資料庫知識大全官網釋出的DB熱度排行,Mongodb的熱度排名從2014年的第5名,在2015年躍升為第4名,僅次於主流DB(Oracle

關於boost庫效能安全的一些總結

最近工作上遇到幾個問題都與boost庫有關,所以做一下簡單的總結。 1.多執行緒環境使用boost庫引起的crash 專案中使用到boost::filesystem::is_regular_file來做判斷,但是在多執行緒環境下出現了crash,檢視原因是在boost庫中進

落落的專欄 專注SQL調 效能調

大家好,我是落落 QQ692162374,其實我選擇Oracle是一件很神奇的事情,但是現在回想起來又覺得是命中註定。我2006年就讀於西南大學軟體工程專業,我之所以選擇軟體工程是因受了電影黑客帝

oracle調】表掃描還是索引掃描

在資料庫優化的時候,最常用的手段就是建索引了。但實際情況是建了索引,資料庫也不一定會走索引,我們首先來看看,優化器根據什麼決定走索引還是走全表。 1、查詢出來的記錄數 優化器顯示的返回的記錄數為優化器估計的數值,並不一定是實際查出來的記錄數。在對列有直方圖的情況下,這個預估

Nginx 下部署 HTTPS 安全調

quest tro efault attribute you attr inf [] validate 什麽是 HTTPS?# HTTPS(全稱:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全為目標的

深入理解Java虛擬機器總結一虛擬機器效能監控工具效能調(三)

深入理解Java虛擬機器總結一虛擬機器效能監控工具與效能調優(三) JDK的命令列工具 JDK的視覺化工具 效能調優 JDK的命令列工具 主要有以下幾種: jps (Java Process Status Tool): 虛擬機器程序

nginx監控效能調

監控 nginx有自帶的監控模組,編譯nginx的時候,加上引數 --with-http_stub_status_module #配置指令 ./configure --prefix=/usr/local --user=nginx --group=nginx

Tomcat效能調以及遠端管理(Tomcat managerpsi-probe監控)

tomcat優化的我用到的幾個點: 1.記憶體優化 2.執行緒優化 docs/config/http.html maxConnections acceptCount(配置的太大是沒有意義的) maxThreads minSpareThreads 最小空閒的工作

JVM虛擬機器效能監控調(JDK命令列、JConsole)

很多資料在介紹JDK命令列工具時並不是在Java8環境下,因此還在使用過時的永久區系列的引數,給一些讀者造成困難。 Java8使用Metaspace(元空間)代替永久區,對於64位平臺,為了壓縮JVM物件中的_klass指標的大小,引入了類指標壓縮空間(Compressed Class Pointer Sp

JVM 垃圾回收機制GC效能調

一、GC概要: JVM堆相關知識     為什麼先說JVM堆?     JVM的堆是Java物件的活動空間,程式中的類的物件從中分配空間,其儲存著正在執行著的應用程式用到的所有物件。這些物件的建立方式就是那些new一類的操作,當物件

Redis 基礎、高階特性效能調

本文將從Redis的基本特性入手,通過講述Redis的資料結構和主要命令對Redis的基本能力進行直觀介紹。之後概覽Redis提供的高階能力,並在部署、維護、效能調優等多個方面進行更深入的介紹和指導。 本文適合使用Redis的普通開發人員,以及對Redis進行選型、架構設計和效能調優的架構設計人員。 &n

oracle:swap效能調

目標:解決大量Log寫入佔用大量的File Cache,內容利用不充分導致swap 基本原則:儘量使用記憶體,減少swap,同時,儘早flush到外存,早點釋放記憶體給寫cache使用。---特別在持續的寫入操作中,此優化非常有效。 調優措施: vm.swapiness :60

Linux安全調1:CentOS防火墻的設置優化

2.6 裝載 協議棧 先後 sys ip協議 ive 實現 被拒 CentOS防火墻的設置與優化 時間:2014-09-11 02:11來源:blog.csdn.net 作者:成長的小蟲 的BLOG 舉報 點擊:4908次 一、設置主機防火墻。 開放: 服務器的:we