超大型Oracle數據庫的基礎設計和優化設計的論文

學識都 人氣:8.87K

摘要:本文對Oracle數據庫的基礎設計的特點、並行服務器應用、劃分策略、數據庫物理結構的設計等《大型數據庫分析與設計》學習中的重點章節進行總結和論述;並從大型數據庫Oracle環境四個不同級別的調整分析入手,分析Oracle的系統結構和工作機理,從不同方面較全面地總結ORACLE數據庫的優化調整方案。

超大型Oracle數據庫的基礎設計和優化設計的論文

Abstract: This paper summarized and discussed the character of basic design, application of OPS, strategy of partition, and design of physical structure of Oracle data base in the important chapters of "Analysis and Design of Large Data Base", analyzed the principle of system architecture and work from the four-grade adjustment of large Oracle data base; and also summarized the optimization design plan of Oracle data base from different aspects.

關鍵詞:Oracle數據庫;環境調整;優化設計;方案

Key words: Oracle data base;environment adjustment;optimization design;plan

1 概論

對於超大型系統,我們通常使用雙機或多機集羣系統。在本文中,我們探討了設計超大型數據庫所採用的方法,同時,以在數據庫中使用ORACLE 8.0.6並行服務器作出舉例。

2 ORACLE並行服務器應用劃分策略

ORACLE並行服務器應用劃分有如下四種方法:①按照功能的模塊來區分,不一樣的節點運行不一樣的應用;②按照用戶來區分,不一樣類型的用戶運行在不一樣的節點之上;③按照數據來區分,對於不一樣的數據或者索引要用不一樣的節點進行訪問;④按照時間來區分,不一樣的應用要運行在不同的時間。

3 數據庫物理結構的設計

3.1 表及索引數據量估算及物理存儲參數的設置。表及索引的initial和next存儲參數一般設爲相等,pctincrease設爲0。

3.2 表空間的設計。在表空間設計時一般作以下考慮:①一般較大的`表或索引單獨分配一個表空間。②Read only對象或Read mostly對象分成一組,存在對應的表空間中。③若表空間中的對象皆是read only對象,可將表空間設置成read only模式,在備份時,只讀表空間只需備份一次。④高頻率的對象分成一組,存在對應的表空間中。⑤增、刪、改的對象分成一組,存在對應表空間中。⑥表和索引分別存於不同的表空間。⑦存於同一個表空間中的表(或索引)的extent 大小最好成倍數關係,有利於空間的重利用和減少碎片。

3.3 DB BLOCK SIZE 。超大型數據庫DB BLOCK SIZE一般在4KB 至 64KB,而最常用的是8KB、 16KB或32KB。選用較大的DB

BLOCK SIZE可使INDEX的高度降低,也會提高IO效率。

3.4 Redo Log Files ORACLE 使用專用的進程redo log writer (LGWR)將日誌寫入日誌文件。

3.5 數據文件大小。

我們應該採用標準的文件,這樣能夠縮減空間維護的時間。

3.6 回滾段。回滾段一般建在專用的表空間中。每一個INSTANCE實例擁有各自的回滾段。

3.7 臨時表空間。臨時表空間一般建在專用的表空間中。

4 系統硬盤的劃分及分配

考慮以下情況:主機1上有DRD服務1,該服務對應的數據文件有1、2、13、35、67等,這時如果主機2上的INSTANCE2需要讀取數據文件13,通過DRD服務調度,主機1通過DRD服務訪問磁盤陣列上的數據文件13,把INSTANCE2需要的數據讀到內存,然後通過MEMORY IO把數據傳到主機2的INSTANCE2。寫操作是讀操作的逆過程。

5 備份及恢復策略的考慮

5.1 ORACLE備份方法:

①物理備份 (用於磁盤介質損壞或數據文件損壞)。1)物理冷備份(offline backup)。2)物理熱備份(online backup)。3)歸檔日誌文件備份(archived log file backup)。

②邏輯備份(用於數據庫中的某些對象被破壞或用戶誤操作)。備份策略的考慮主要在以下三個方面:1)存儲的空間方面;2)針對於影響運行系統方面;3)影響恢復的時間方面。

5.2 ORACLE的恢復方法 採用物理備份恢復。以下三方面的恢復方法是由ORACLE提供:①數據庫級的恢復;②表空間的恢復;③數據文件的恢復。數據庫級的恢復要在以下條件中運行:關閉數據庫但Mount的狀態。然而,對於恢復表空間和數據文件時,可以運行數據庫。

5.3 採用邏輯備份恢復 其適用條件是:其一,用戶的操作失誤導致數據的破壞;其二,在數據庫中,破壞了某一個對象。

6 優化設計

6.1 數據庫優化自由結構OFA(Optimal flexible Architecture) 優化自由結構是在數據庫中能夠任意的分佈邏輯數據對象。所以,應該把數據庫中的邏輯對象按照它們的使用方法以及數據庫受到物理結構的影響來對邏輯對象進行分類。

6.2 充分利用系統全局區域SGA(SYSTEM GLOBAL AREA)

SGA有以下3方面的內容:①字典緩衝區。②數據塊緩衝區。③SQL共享池。④重做日誌緩衝區。

6.3 規範與反規範設計數據庫 規範的原則是在數據依賴中逐漸的解決不適宜的部分,將模式中每一個關係模式達到一定程度上的“一事一地”的模式。但是,有時爲了能提高一些查詢或者應用的性能,從而故意破壞規範規則,保留非範化限制,也就是反規範。

6.4 索引Index的優化設計 第一,使用聚簇。聚簇按照共同的碼值把許多表中的數據都存儲在一個Oracle塊裏,這樣,Oracle塊在同一時間就獲得了兩個表當中的數據。第二,管理組織索引,針對於查詢大型表的時候,索引數據或許將數據塊緩存空間用完,ORACL必須經常地通過磁盤讀寫來得到數據,所以,對大型表分區後,我們要按照有關的分區去建立分區索引。

6.5 使用最優的數據庫連接和SQL優化方案 第一,採用直接的OLE DB數據庫連接方式。通過ADO,我們可以採用傳統的ODBC以及OLE DB兩種方式對數據庫進行連接。第二,採用Connection Pool機制。其原理是在IIS+ASP體系中維持了一個連接緩衝池,基於此,下一個用戶在訪問的時候,能夠直接在其中獲得一個數據庫的連接,同時避免了重新對數據庫的連接。第三,高效率的對SQL語句進行設計。其一,可以使數據庫的查詢次數(系統資源的請求)減少;其二,在進行查詢時,應儘可能的採用十分類似的SQL語句;其三,對動態SQL的使用可以進行約束。

參考文獻:

[1]周渝斌.基於ORACLE8i的大型數據庫技術講座之一數據庫優化篇[J].電腦編程技巧與維護,2002.

[2]甕正科,王新英le 8.X For Windows NT 實用教程[M].清華大學出版社,2001.