oracle歸檔日志滿怎么辦 oracle數(shù)據(jù)庫應(yīng)用結(jié)構(gòu)包括?
oracle數(shù)據(jù)庫應(yīng)用結(jié)構(gòu)包括?Oracle數(shù)據(jù)庫的體系結(jié)構(gòu)除了四個方面:數(shù)據(jù)庫的物理結(jié)構(gòu)、邏輯結(jié)構(gòu)、內(nèi)存結(jié)構(gòu)及進程。1.物理結(jié)構(gòu)物理數(shù)據(jù)庫結(jié)構(gòu)是由組成數(shù)據(jù)庫的操作系統(tǒng)文件所做出決定,Oracle數(shù)據(jù)
oracle數(shù)據(jù)庫應(yīng)用結(jié)構(gòu)包括?
Oracle數(shù)據(jù)庫的體系結(jié)構(gòu)除了四個方面:數(shù)據(jù)庫的物理結(jié)構(gòu)、邏輯結(jié)構(gòu)、內(nèi)存結(jié)構(gòu)及進程。
1.物理結(jié)構(gòu)
物理數(shù)據(jù)庫結(jié)構(gòu)是由組成數(shù)據(jù)庫的操作系統(tǒng)文件所做出決定,Oracle數(shù)據(jù)庫文件除了:
數(shù)據(jù)文件(DataFile)
數(shù)據(jù)文件用來存儲數(shù)據(jù)庫中的全部數(shù)據(jù),比如數(shù)據(jù)庫表中的數(shù)據(jù)和索引數(shù)據(jù).正常情況還以為*.dbf格式,例如:userCIMS.dbf。
日志文件(Redo Log File)
日志文件應(yīng)用于記錄數(shù)據(jù)庫所做的完全變更手續(xù)(如增加、刪掉、改)、以備萬一在系統(tǒng)發(fā)生故障時,用它對數(shù)據(jù)庫并且完全恢復(fù)。名字大多數(shù)為Log*.dbf格式,如:Log1CIMS.dbf,Log2CIMS.dbf。
完全控制文件(Control File)
每個Oracle數(shù)據(jù)庫都有吧相對應(yīng)的控制文件,它們是較大的二進制文件,主要是用于記錄數(shù)據(jù)庫的物理結(jié)構(gòu),如:數(shù)據(jù)庫名、數(shù)據(jù)庫的數(shù)據(jù)文件和日志文件的名字和位置等信息。作用于打開、存取數(shù)據(jù)庫。名字大多數(shù)為Ctrl*ctl格式,如Ctrl1CIMS.ctl。
配置文件
配置文件記錄Oracle數(shù)據(jù)庫運行時的一些重要參數(shù),如:數(shù)據(jù)塊的大小,內(nèi)存結(jié)構(gòu)的配置等。名字正常情況為init*.ora格式,如:initCIMS.ora。
2邏輯結(jié)構(gòu)
Oracle數(shù)據(jù)庫的邏輯結(jié)構(gòu)具體解釋了數(shù)據(jù)庫從邏輯上如何來存儲數(shù)據(jù)庫中的數(shù)據(jù)。邏輯結(jié)構(gòu)除了表空間、段、區(qū)、數(shù)據(jù)塊和模式對象。數(shù)據(jù)庫的邏輯結(jié)構(gòu)將意志一個數(shù)據(jù)庫如何修改系統(tǒng)的物理空間.模式對象非盈利組織會計之間的直接聯(lián)系則詳細解釋了關(guān)系數(shù)據(jù)庫之間的設(shè)計.
一個數(shù)據(jù)庫從邏輯上說是由一個或多個表空間所組成,表空間是數(shù)據(jù)庫中物理編組的數(shù)據(jù)倉庫,每一個表空間是由段(segment)橫列,一個段是由一組區(qū)(extent)所橫列,一個區(qū)是由一組在不的數(shù)據(jù)庫塊(databaseblock)組成,而一個數(shù)據(jù)庫塊對應(yīng)硬盤上的一個或多個物理塊。一個表空間存放一個或多個數(shù)據(jù)庫的物理文件(即數(shù)據(jù)文件).一個數(shù)據(jù)庫中的數(shù)據(jù)被邏輯地存儲位置在表空間上。
表空間(tablespace)
Oracle數(shù)據(jù)庫被再劃分為一個或多個稱為表空間的邏輯結(jié)構(gòu),它包括兩類表空間,System表空間和非System表空間,其中,System表空間是直接安裝數(shù)據(jù)庫時自動組建的,它包含數(shù)據(jù)庫的全部數(shù)據(jù)字典,存儲過程、包、函數(shù)和觸發(fā)器的定義這些系統(tǒng)快速回滾段。外,還能夠真包含用戶數(shù)據(jù)。。
一個表空間中有許多段,每個段有一些也可以不后的區(qū)橫列,每個區(qū)由一組連續(xù)的數(shù)據(jù)塊排成,數(shù)據(jù)塊是數(shù)據(jù)庫進行操作的小于單位。
每個表空間按一個或多個數(shù)據(jù)文件,每個數(shù)據(jù)文件只有不屬于一個表空間。
數(shù)據(jù)庫塊(databaseblock)
數(shù)據(jù)庫塊也稱邏輯塊或ORACLE塊,它按磁盤上一個或多個物理塊,它的大小由初始化參數(shù)db-block-size(在文件init.ora中)確定,啊是的大小是2k。Pckfree和pctused兩個參數(shù)用處系統(tǒng)優(yōu)化數(shù)據(jù)塊空間的使用。
區(qū)(extent)
區(qū)是由一組后的數(shù)據(jù)塊所分成的數(shù)據(jù)庫存儲空間分配的邏輯單位。
段(segment)
段是一個或多個不在不的區(qū)的集合,它包括一個表空間內(nèi)某種特定邏輯結(jié)構(gòu)的所有數(shù)據(jù),段又不能跨表空間貯放。Oracle數(shù)據(jù)庫除開數(shù)據(jù)段、索引段、預(yù)備段、回滾段等。
模式對象(schemaobject)
Oracle數(shù)據(jù)庫的模式對象除開表、視圖、序列、表示同意詞、索引、觸發(fā)器、存儲.過程等,關(guān)於它們將重點在后面章節(jié)推薦。
3.OracleServer系統(tǒng)進程與內(nèi)存結(jié)構(gòu)
當(dāng)在計算機服務(wù)器上啟動后Oracle數(shù)據(jù)庫后,稱服務(wù)器上起動了一個Oracle實例(Instance)。ORACLE實例(Instance)是存取和控制數(shù)據(jù)庫的軟件機制,它包含系統(tǒng)全局區(qū)(SGA)和ORACLE進程兩部分。SGA是系統(tǒng)為實例分配的一組鏈接共享內(nèi)存緩沖區(qū),主要是用于貯存數(shù)據(jù)庫實例和控制信息,以實現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)的治理和操作。
進程是操作系統(tǒng)中一個更為不重要的概念。一個進程想執(zhí)行一組你的操作,能完成一個某個特定的任務(wù).對ORACLE數(shù)據(jù)庫治理系統(tǒng)來說,進程由用戶進程、服務(wù)器進程和后臺進程所排成。
當(dāng)用戶不運行一個應(yīng)用程序時,系統(tǒng)就為它建立一個用戶進程。服務(wù)器進程如何處理與之相接的用戶進程的請求,它與用戶進程相通訊,為連通的用戶進程的ORACLE只是請求服務(wù)。
為了想提高系統(tǒng)性能,更好地實現(xiàn)多用戶功能,ORACLE還在系統(tǒng)后臺正常啟動一些后臺進程,主要用于數(shù)據(jù)庫數(shù)據(jù)操作。
系統(tǒng)進程的后臺進程要注意除了:
SMON系統(tǒng)監(jiān)控進程:(systemmonitor)你們負責(zé)完成自動實例復(fù)原和回收公司分類(sort)表空間。
PMON進程監(jiān)控進程:(PRocess monitor)基于用戶進程故障恢復(fù)、定時清理內(nèi)存區(qū)和釋放者該進程所需資源等。
DBWR數(shù)據(jù)庫寫進程:數(shù)據(jù)庫緩沖區(qū)的治理進程。
在它的治理下,數(shù)據(jù)庫緩沖區(qū)中總保持有是有數(shù)量的自由緩沖塊,以以保證用戶進程總能不能找到供其使用的自由緩沖塊。
LGWR日志文件寫進程:是日志緩沖區(qū)的治理進程,全權(quán)負責(zé)把日志緩沖區(qū)中的日志項寫入磁盤中的日志文件上。每個實例只有一個LGWR進程。
ARCH裝訂歸檔進程:(archiverprocess)把已經(jīng)填進的大俠幫幫忙日志文件拷貝到一個更改的存儲設(shè)備上。僅當(dāng)日志文件組開關(guān)(switch)再次出現(xiàn)時,才通過ARCH操作。ARCH又不是需要的,而僅有當(dāng)自動歸檔可建議使用或是當(dāng)手工歸檔幫忙時才嘶嘶。
RECO完全恢復(fù)進程:是在具高分布式選項時可以使用的一個進程,主要用于解決語句分布式事務(wù)時所再次出現(xiàn)的故障。它只有在答應(yīng)你分布式事務(wù)的系統(tǒng)中再次出現(xiàn)。
LCKn封鎖進程:用于左行服務(wù)器系統(tǒng),要注意結(jié)束實例之間的徹底封鎖。
內(nèi)存結(jié)構(gòu)(SGA)
SGA是Oracle為一個實例分配的一組鏈接共享內(nèi)存緩沖區(qū),它包涵該實例的數(shù)據(jù)和控制信息。SGA在實例啟動時時被自動出現(xiàn)分配,當(dāng)實例自動關(guān)閉時被收回。數(shù)據(jù)庫的所有數(shù)據(jù)操作都要來參與。
SGA中內(nèi)存根據(jù)存放信息的不同,這個可以兩類萬分感謝幾個區(qū)域:BufferCache:貯放數(shù)據(jù)庫中數(shù)據(jù)庫塊的拷入。它是由一組緩存塊所橫列,這些緩沖塊為所有與該實例相鏈接的用戶進程所寬帶共享。緩沖塊的數(shù)目由系統(tǒng)初始化參數(shù)DB_BLOCK_BUFFERS判斷,緩沖塊的大小由系統(tǒng)初始化參數(shù)DB_BLOCK_SIZE確定。大的數(shù)據(jù)塊可能提高查詢速度。它由DBWR能操作。
b.日志緩沖區(qū)Redo Log Buffer:貯放數(shù)據(jù)操作的更改信息。它們以日志項(redoentry)的形式存放在日志緩沖區(qū)中。當(dāng)要參與數(shù)據(jù)庫恢復(fù)時,日志項作用于重構(gòu)或回滾對數(shù)據(jù)庫所做的變更。日志緩沖區(qū)的大小由初始化操作參數(shù)LOG_BUFFER考慮。大的日志緩沖區(qū)可下降日志文件I/O的次數(shù)。后臺進程LGWR將日志緩沖區(qū)中的信息寫入磁盤的日志文件中,可正常啟動ARCH后臺進程參與日志信息歸檔。
c.寬帶共享池SharedPool:包涵用處處理的SQL語句信息。它乾坤二卦鏈接共享SQL區(qū)和數(shù)據(jù)字典存儲區(qū)。鏈接共享SQL區(qū)包含負責(zé)執(zhí)行某種特定的SQL語句所是用信息。數(shù)據(jù)字典區(qū)應(yīng)用于存放數(shù)據(jù)字典,它為所有用戶進程所共享。
Oracle數(shù)據(jù)庫運行越來越慢,應(yīng)該怎么優(yōu)化一下?
你先生成你運行慢那一時間段的性能報告,然后是從里邊的指數(shù)看不是你的硬件問題還是你的語句的問題,SGA區(qū)小的話加SGA區(qū),接著再結(jié)論你的語句,看你是不是你這個語句的計劃任務(wù)是怎摸走的,如何確定沒走索引走了全表掃描后!以上就是我的觀點