ORACLE平行服務(wù)器應用
來(lái)源:投稿網(wǎng) 時(shí)間:2022-11-25 10:00:04
1概論
對于超大型系統,我們通常使用雙機或多機集群系統。在本文中,我們討論了設計超大型數據庫所采用的方法ORACLE8.0.6并行服務(wù)器為例。
2ORACLE并行服務(wù)器應用劃分策略。
ORACLE平行服務(wù)器應用分為以下四種方法:①根據功能模塊、不同節點(diǎn)運行不同應用;②根據用戶(hù),不同類(lèi)型的用戶(hù)在不同節點(diǎn)上運行;③根據數據訪(fǎng)問(wèn)不同的數據或索引;④根據時(shí)間,不同的應用程序在不同的時(shí)間運行。
3.設計數據庫物理結構。
3.1表和索引數據量估算和物理存儲參數設置。表和索引的initial和next存儲參數一般設置為等,pctincrease設置為0。
3.2表空間的設計。表空間設計一般考慮以下幾點(diǎn):①一般較大的表或索引單獨分配一個(gè)表空間。②Readonly對象或Readmostly對象分為一組,存在相應的表空間。③如果表空間中的對象是readonly對象,可以將表空間設置為readonly模式。備份時(shí),只需備份一次表空間。④高頻insert對象分為一組,存在于相應的表空間中。⑤添加.刪除.更改的對象分為一組,存在于相應的表空間中。⑥表和索引分別存在于不同的表空間中。⑦同一表空間中的表(或索引)的extent尺寸最好成倍,有利于空間的重用和碎片的減少。
3.3DBBLOCKSIZE。DBBLOCKSIZE一般在4KB到64KB,最常用的是8KB.16KB或32KB。選擇更大的DB。
BLOCKSIZE可以降低INDEX的高度,提高IO效率。
3.4Redologfilesoracle使用專(zhuān)用工藝redologwriter將日志寫(xiě)入日志文件。
3.5數據文件大小。
我們應該使用標準文件,以減少空間維護的時(shí)間。
3.6回滾段?;貪L段一般建在特殊的表空間中。每個(gè)INSTANCE實(shí)例都有自己的回滾段。
3.7臨時(shí)表空間。臨時(shí)表空間一般建在專(zhuān)用表空間內。
4.系統硬盤(pán)的劃分和分配。
考慮到以下情況:主機1上有DRD服務(wù)1,服務(wù)對應的數據文件有1.2.13.35.67等。此時(shí),如果主機2上的INSTANCE2需要讀取數據文件13,則主機1通過(guò)DRD服務(wù)訪(fǎng)問(wèn)磁盤(pán)陣列上的數據文件13,讀取INSTANCE2所需的數據,然后通過(guò)MEMORYIO將數據傳輸到主機2的INSTANCE2。寫(xiě)作操作是閱讀操作的逆過(guò)程。
考慮備份和恢復策略。
5.1ORACLE備份方法:①物理備份(用于磁盤(pán)介質(zhì)損壞或數據文件損壞)。1)物理冷備份(offlinebackup)。2)物理熱備份(onlinebackup)。3)歸檔日志文件備份(archivedlogfilebackup)。②邏輯備份(用于數據庫中的某些對象被破壞或用戶(hù)誤操作)。備份策略主要考慮以下三個(gè)方面:1)存儲空間;2)影響運行系統;3)影響恢復的時(shí)間。
5.2ORACLE的恢復方法采用物理備份恢復。以下三種恢復方法由ORACLE提供:①數據庫級恢復;②表空間恢復;③數據文件恢復。數據庫級恢復應在以下條件下運行:關(guān)閉數據庫但Mount狀態(tài)。然而,數據庫可以在恢復表空間和數據文件時(shí)運行。
5.3使用邏輯備份恢復的適用條件是:一是用戶(hù)操作錯誤導致數據損壞;二是在數據庫中破壞對象。
6.優(yōu)化設計。
6.1數據庫優(yōu)化自由結構OFA(Optimalflexiblearchitecture)優(yōu)化自由結構是可以在數據庫中任意分布邏輯數據對象。因此,應根據其使用方法和物理結構的影響,對數據庫中的邏輯對象進(jìn)行分類(lèi)。
6.2充分利用系統全局區域SGA(SYSTEMGLOBALAREA)
SGA有以下三個(gè)方面:①字典緩沖區。②數據塊緩沖區。③SQL共享池。④重做日志緩沖區。
6.3規范和反規范設計數據庫規范的原則是逐步解決數據依賴(lài)中不合適的部分,并在一定程度上實(shí)現模式中每個(gè)關(guān)系模式的一事一地模式。然而,有時(shí)為了提高一些查詢(xún)或應用程序的性能,故意破壞規范規則,保留非標準化限制,即反規范。
6.4索引Index的優(yōu)化設計是第一個(gè),使用集群。集群根據共同的代碼值將許多表中的數據存儲在Oracle塊中,以便Oracle塊同時(shí)獲得兩個(gè)表中的數據。第二,管理組織索引。在查詢(xún)大型表時(shí),索引數據可能會(huì )耗盡數據塊的緩存空間。Oracl必須經(jīng)常通過(guò)磁盤(pán)讀寫(xiě)獲取數據。因此,對于大型表分區,我們應該根據相關(guān)分區建立分區索引。
6.5使用最佳數據庫連接和SQL優(yōu)化方案。首先,使用直接OLEDB數據庫連接。通過(guò)ADO,我們可以通過(guò)傳統的ODBC和OLEDB連接數據庫。第二,采用ConnectionPol機制。其原理是在IIS+ASP系統中保持連接緩沖池?;诖?,下一個(gè)用戶(hù)可以在訪(fǎng)問(wèn)時(shí)直接獲得數據庫連接,避免重新連接數據庫。第三,高效設計SQL語(yǔ)句。一是減少數據庫查詢(xún)次數(系統資源要求);二是查詢(xún)時(shí)盡量使用非常相似的SQL語(yǔ)句;第三,可以限制動(dòng)態(tài)SQL的使用。