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)及進(jìn)程。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)及進(jìn)程。
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)的控制文件,它們是較大的二進(jìn)制文件,主要是用于記錄數(shù)據(jù)庫的物理結(jié)構(gòu),如:數(shù)據(jù)庫名、數(shù)據(jù)庫的數(shù)據(jù)文件和日志文件的名字和位置等信息。作用于打開、存取數(shù)據(jù)庫。名字大多數(shù)為Ctrl*ctl格式,如Ctrl1CIMS.ctl。
配置文件
配置文件記錄Oracle數(shù)據(jù)庫運(yùn)行時的一些重要參數(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)系則詳細(xì)解釋了關(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ù)庫進(jìn)行操作的小于單位。
每個表空間按一個或多個數(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)於它們將重點(diǎn)在后面章節(jié)推薦。
3.OracleServer系統(tǒng)進(jìn)程與內(nèi)存結(jié)構(gòu)
當(dāng)在計算機(jī)服務(wù)器上啟動后Oracle數(shù)據(jù)庫后,稱服務(wù)器上起動了一個Oracle實(shí)例(Instance)。ORACLE實(shí)例(Instance)是存取和控制數(shù)據(jù)庫的軟件機(jī)制,它包含系統(tǒng)全局區(qū)(SGA)和ORACLE進(jìn)程兩部分。SGA是系統(tǒng)為實(shí)例分配的一組鏈接共享內(nèi)存緩沖區(qū),主要是用于貯存數(shù)據(jù)庫實(shí)例和控制信息,以實(shí)現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)的治理和操作。
進(jìn)程是操作系統(tǒng)中一個更為不重要的概念。一個進(jìn)程想執(zhí)行一組你的操作,能完成一個某個特定的任務(wù).對ORACLE數(shù)據(jù)庫治理系統(tǒng)來說,進(jìn)程由用戶進(jìn)程、服務(wù)器進(jìn)程和后臺進(jìn)程所排成。
當(dāng)用戶不運(yùn)行一個應(yīng)用程序時,系統(tǒng)就為它建立一個用戶進(jìn)程。服務(wù)器進(jìn)程如何處理與之相接的用戶進(jìn)程的請求,它與用戶進(jìn)程相通訊,為連通的用戶進(jìn)程的ORACLE只是請求服務(wù)。
為了想提高系統(tǒng)性能,更好地實(shí)現(xiàn)多用戶功能,ORACLE還在系統(tǒng)后臺正常啟動一些后臺進(jìn)程,主要用于數(shù)據(jù)庫數(shù)據(jù)操作。
系統(tǒng)進(jìn)程的后臺進(jìn)程要注意除了:
SMON系統(tǒng)監(jiān)控進(jìn)程:(systemmonitor)你們負(fù)責(zé)完成自動實(shí)例復(fù)原和回收公司分類(sort)表空間。
PMON進(jìn)程監(jiān)控進(jìn)程:(PRocess monitor)基于用戶進(jìn)程故障恢復(fù)、定時清理內(nèi)存區(qū)和釋放者該進(jìn)程所需資源等。
DBWR數(shù)據(jù)庫寫進(jìn)程:數(shù)據(jù)庫緩沖區(qū)的治理進(jìn)程。
在它的治理下,數(shù)據(jù)庫緩沖區(qū)中總保持有是有數(shù)量的自由緩沖塊,以以保證用戶進(jìn)程總能不能找到供其使用的自由緩沖塊。
LGWR日志文件寫進(jìn)程:是日志緩沖區(qū)的治理進(jìn)程,全權(quán)負(fù)責(zé)把日志緩沖區(qū)中的日志項寫入磁盤中的日志文件上。每個實(shí)例只有一個LGWR進(jìn)程。
ARCH裝訂歸檔進(jìn)程:(archiverprocess)把已經(jīng)填進(jìn)的大俠幫幫忙日志文件拷貝到一個更改的存儲設(shè)備上。僅當(dāng)日志文件組開關(guān)(switch)再次出現(xiàn)時,才通過ARCH操作。ARCH又不是需要的,而僅有當(dāng)自動歸檔可建議使用或是當(dāng)手工歸檔幫忙時才嘶嘶。
RECO完全恢復(fù)進(jìn)程:是在具高分布式選項時可以使用的一個進(jìn)程,主要用于解決語句分布式事務(wù)時所再次出現(xiàn)的故障。它只有在答應(yīng)你分布式事務(wù)的系統(tǒng)中再次出現(xiàn)。
LCKn封鎖進(jìn)程:用于左行服務(wù)器系統(tǒng),要注意結(jié)束實(shí)例之間的徹底封鎖。
內(nèi)存結(jié)構(gòu)(SGA)
SGA是Oracle為一個實(shí)例分配的一組鏈接共享內(nèi)存緩沖區(qū),它包涵該實(shí)例的數(shù)據(jù)和控制信息。SGA在實(shí)例啟動時時被自動出現(xiàn)分配,當(dāng)實(shí)例自動關(guān)閉時被收回。數(shù)據(jù)庫的所有數(shù)據(jù)操作都要來參與。
SGA中內(nèi)存根據(jù)存放信息的不同,這個可以兩類萬分感謝幾個區(qū)域:BufferCache:貯放數(shù)據(jù)庫中數(shù)據(jù)庫塊的拷入。它是由一組緩存塊所橫列,這些緩沖塊為所有與該實(shí)例相鏈接的用戶進(jìn)程所寬帶共享。緩沖塊的數(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ù)。后臺進(jìn)程LGWR將日志緩沖區(qū)中的信息寫入磁盤的日志文件中,可正常啟動ARCH后臺進(jìn)程參與日志信息歸檔。
c.寬帶共享池SharedPool:包涵用處處理的SQL語句信息。它乾坤二卦鏈接共享SQL區(qū)和數(shù)據(jù)字典存儲區(qū)。鏈接共享SQL區(qū)包含負(fù)責(zé)執(zhí)行某種特定的SQL語句所是用信息。數(shù)據(jù)字典區(qū)應(yīng)用于存放數(shù)據(jù)字典,它為所有用戶進(jìn)程所共享。
Oracle數(shù)據(jù)庫運(yùn)行越來越慢,應(yīng)該怎么優(yōu)化一下?
你先生成你運(yùn)行慢那一時間段的性能報告,然后是從里邊的指數(shù)看不是你的硬件問題還是你的語句的問題,SGA區(qū)小的話加SGA區(qū),接著再結(jié)論你的語句,看你是不是你這個語句的計劃任務(wù)是怎摸走的,如何確定沒走索引走了全表掃描后!以上就是我的觀點(diǎn)