oracle數(shù)據(jù)庫-管理-體系結(jié)構(gòu)課件_第1頁
oracle數(shù)據(jù)庫-管理-體系結(jié)構(gòu)課件_第2頁
oracle數(shù)據(jù)庫-管理-體系結(jié)構(gòu)課件_第3頁
oracle數(shù)據(jù)庫-管理-體系結(jié)構(gòu)課件_第4頁
oracle數(shù)據(jù)庫-管理-體系結(jié)構(gòu)課件_第5頁
已閱讀5頁,還剩103頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1oracle管理科學(xué)數(shù)據(jù)庫技術(shù)培訓(xùn)1oracle管理科學(xué)數(shù)據(jù)庫技術(shù)培訓(xùn)2oracle數(shù)據(jù)庫的特點Oracle是oracle公司出品的十分優(yōu)秀的DBMS。目前,中國電信行業(yè)使用的數(shù)據(jù)庫系統(tǒng)基本上全部是oracle(不是windows下的)。其市場占有率為32.6%。如果實現(xiàn)的是高端企業(yè)應(yīng)用,需要處理的并發(fā)數(shù)據(jù)量很大,同時對數(shù)據(jù)庫的可靠性、安全性和可擴展性又很高的要求,那么oracle是很好的選擇。2oracle數(shù)據(jù)庫的特點Oracle是oracle公司出品3oracle數(shù)據(jù)庫的特點支持大數(shù)據(jù)庫、多用戶的高性能的事務(wù)處理ORACLE遵守數(shù)據(jù)存取語言、操作系統(tǒng)、用戶接口和通訊協(xié)議的工業(yè)標(biāo)準(zhǔn)。實施安全性控制和完整性控制支持分布式數(shù)據(jù)庫和分布處理。分布式系統(tǒng)像集中式數(shù)據(jù)庫具有一樣的透明性和數(shù)據(jù)一致性。具有可移植性、可兼容性和連接性。Oracle10g支持網(wǎng)格計算3oracle數(shù)據(jù)庫的特點支持大數(shù)據(jù)庫、多用戶的高性能的事務(wù)4第一章ORACLE的體系結(jié)構(gòu)Oracle的物理結(jié)構(gòu)Oracle的系統(tǒng)全局區(qū)Oracle的進程4第一章ORACLE的體系結(jié)構(gòu)5ORACLE的體系結(jié)構(gòu)

體系結(jié)構(gòu)概述物理結(jié)構(gòu)

數(shù)據(jù)文件、日志文件、控制文件、參數(shù)文件系統(tǒng)全局區(qū)(SystemGlobalArea)

共享池、數(shù)據(jù)緩沖區(qū)、日志緩沖區(qū)進程

用戶進程、服務(wù)器進程、后臺進程5ORACLE的體系結(jié)構(gòu)體系結(jié)構(gòu)概述物理結(jié)構(gòu)6共享池數(shù)據(jù)緩沖區(qū)日志緩沖區(qū)SGA數(shù)據(jù)文件日志文件參數(shù)文件控制文件DBWRARCHCKPTLGWRPMONLCKnRECOSMON存儲介質(zhì)ServerUserUserUserORACLE的體系結(jié)構(gòu)

體系結(jié)構(gòu)圖示6共享池數(shù)據(jù)緩沖區(qū)日志緩沖區(qū)SGA數(shù)據(jù)文件日志文件參數(shù)文件控7數(shù)據(jù)文件日志文件控制文件參數(shù)文件ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)7數(shù)據(jù)文件ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)8

數(shù)據(jù)文件(DataFile)是物理存儲ORACLE數(shù)據(jù)庫數(shù)據(jù)的文件。其特點如下:每一個數(shù)據(jù)文件只與一個數(shù)據(jù)庫相聯(lián)系。一個表空間可包含一個或多個數(shù)據(jù)文件。一個數(shù)據(jù)文件只能屬于一個表空間ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)8數(shù)據(jù)文件(DataFile)是物理存儲ORACL9

日志文件(LogFile)記錄所有對數(shù)據(jù)庫數(shù)據(jù)的修改,以備恢復(fù)數(shù)據(jù)時使用。其特點如下:每一個數(shù)據(jù)庫至少包含兩個日志文件組。日志文件組以循環(huán)方式進行寫操作。每一個日志文件成員對應(yīng)一個物理文件。ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)9日志文件(LogFile)記錄所有對數(shù)據(jù)庫數(shù)據(jù)的10

日志開關(guān)(LogSwitch)是為實現(xiàn)日志文件組的循環(huán)使用而設(shè)置的。出現(xiàn)日志開關(guān)的情況如下:當(dāng)一個日志文件組被填滿時關(guān)閉數(shù)據(jù)庫時

DBA手動轉(zhuǎn)移日志開關(guān)ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)10日志開關(guān)(LogSwitch)是為實現(xiàn)日志文件11日志文件寫操作圖示LogFile1LogFile2Group1Group2Member2.1Member1.1ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)11日志文件寫操作圖示LogFile1LogFile12

鏡像日志文件是為防止日志文件的丟失,在不同磁盤上同時維護兩個或多個聯(lián)機日志文件的副本。其特點如下:每個日志文件組至少包含兩個日志文件成員。每組的成員數(shù)目相同。同組的所有成員同時被修改。同組的成員大小相同,不同組的成員大小可不同。ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)12鏡像日志文件是為防止日志文件的丟失,在不同磁盤上13鏡像日志文件圖示Group1Group2LogFile1LogFile2Member2.1Member1.1LogFile3LogFile4Member2.2Member1.2Disk1Disk2ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)13鏡像日志文件圖示Group1Group2LogFi14共享池數(shù)據(jù)緩沖區(qū)日志緩沖區(qū)SGADBWRARCHCKPTLGWRPMONLCKnRECOSMON存儲介質(zhì)ServerUserUserUserORACLE的體系結(jié)構(gòu)

體系結(jié)構(gòu)圖示14共享池數(shù)據(jù)緩沖區(qū)日志緩沖區(qū)SGADBWRARCHCKPT15

控制文件(ControlFile)是一個較小的二進制文件,用于描述數(shù)據(jù)庫物理結(jié)構(gòu)。描述信息如下:數(shù)據(jù)庫建立的日期。數(shù)據(jù)庫名。數(shù)據(jù)庫中所有數(shù)據(jù)文件和日志文件的文件名及路徑。恢復(fù)數(shù)據(jù)庫時所需的同步信息。要點注意:在打開和存取數(shù)據(jù)庫時都要訪問該文件。鏡像控制文件。記錄控制文件名及路徑的參數(shù)為:

CONTROL_FILESORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)15控制文件(ControlFile)是一個較小的16

參數(shù)文件(PFILE)和服務(wù)器端參數(shù)文件(SPFILE)oracle8i以前的版本都是使用普通文本形式的本地初始化參數(shù)文件,initSID.ora。自oracle9i開始使用服務(wù)器端參數(shù)文件,SPFILE是二進制格式的,默認(rèn)名為SPFILE<SID>.ORA。盡管能夠打開并編輯器中的內(nèi)容,但是任何用戶都不應(yīng)該手工修改其中的內(nèi)容,否則實例將無法啟動。ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)16參數(shù)文件(PFILE)和服務(wù)器端參數(shù)文件(SPF17參數(shù)文件的作用:確定存儲結(jié)構(gòu)的大小。設(shè)置數(shù)據(jù)庫的全部缺省值。設(shè)置數(shù)據(jù)庫的范圍。設(shè)置數(shù)據(jù)庫的各種物理屬性。優(yōu)化數(shù)據(jù)庫性能。ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)17參數(shù)文件的作用:ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)18創(chuàng)建服務(wù)器端初始化參數(shù)文件

SPFILE在創(chuàng)建時必須基于一個傳統(tǒng)的文本初始化參數(shù)文件,而且必須在啟動實例之前完成創(chuàng)建工作。Sql>createSPFILE=‘D:\ORACLE\…’

FROMPFILE=‘D:\ORACLE\…\TEMPFILE\…’; PFILE子句是必需的,SPFILE子句可以省略,則SPFILE存貯在缺省位置<ORACLE_HOME>\DATABASE\下。ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)18創(chuàng)建服務(wù)器端初始化參數(shù)文件ORACLE的體系結(jié)構(gòu)19ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)查看服務(wù)器端參數(shù)文件

在SQLPLUS中使用SHOWPARAMETERS命令 查詢V$PARAMETER或V$PARAMETER2動態(tài)性能視圖,V$PARAMETER2的格式更加簡介。查詢V$SPPARAMETER動態(tài)性能視圖導(dǎo)出服務(wù)器端參數(shù)文件

SQL>CREATEPFILE=‘D:\…’FROMSPFILE=‘…’19ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)查看服務(wù)器端參數(shù)文20ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)修改服務(wù)器端參數(shù)文件

在9i中直接手工修改本地參數(shù)化文件是沒用的,不會改變數(shù)據(jù)庫的設(shè)置。

利用ALTERSYSTEMSETparameter=value語句可以在數(shù)據(jù)庫運行時修改初始化參數(shù)的值。 在SET子句中可以使用SCOPE選項來設(shè)置影響范圍,所謂影響范圍就是ALTERSYSTEM語句對參數(shù)的修改是僅對當(dāng)前實例有效(記錄在內(nèi)存中),還是永久有效(記錄在SPFILE中)。

20ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)修改服務(wù)器端參數(shù)文21ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)SCOPE選項有三種選擇:SCOPE=SPFILE對參數(shù)的修改僅記錄在SPFILE,改選項同時適用動態(tài)初始化參數(shù)和靜態(tài)初始化參數(shù)。修改后的參數(shù)在下次啟動后生效SCOPE=MEMORY對參數(shù)的修改僅記錄在內(nèi)存中,更改立即生效,僅對本次實例有效。對靜態(tài)參數(shù),不能使用這個選項值。SCOPE=BOTH對參數(shù)的修改同時記錄在內(nèi)存和SPFILE中,立即生效,下次啟動后使用修改后的參數(shù)。對于靜態(tài)參數(shù),不能使用這個選項。21ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)SCOPE選項有三22ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)主要的初始化參數(shù)

全局?jǐn)?shù)據(jù)庫名和SID

DB_NAME本地數(shù)據(jù)庫標(biāo)識,在只有一個實例的情況下,本地數(shù)據(jù)庫標(biāo)識和實例標(biāo)識SID相同。 DB_DOMAIN網(wǎng)絡(luò)域名 則全局名GLOBAL_NAME為DB_NAME.DB_DOMAIN

控制文件參數(shù)

control_files='d:\oracle\oradata\test\CONTROL01.CTL','d:\oracle\oradata\test\CONTROL02.CTL','d:\oracle\oradata\test\CONTROL03.CTL'22ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)主要的初始化參數(shù)23ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu) 數(shù)據(jù)塊參數(shù)

db_block_size,數(shù)據(jù)庫建立后不能修改。一般是操作系統(tǒng)塊的整數(shù)倍。對I/O密集的操作,使用雙倍大小的數(shù)據(jù)塊能提高40%左右的I/O性能,但是所這塊的增大,數(shù)據(jù)庫對內(nèi)存SGA的需求也增大,會對系統(tǒng)性能產(chǎn)生負(fù)面影響

db_cache_size指定SGA區(qū)數(shù)據(jù)庫告訴緩沖區(qū)的大小。Oracle8i中是使用db_block_buffers來決定的。 撤銷空間的管理方式undo_management='AUTO‘\’MANUAL’undo_tablespace='UNDOTBS1'23ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu) 數(shù)據(jù)塊參數(shù)24共享池數(shù)據(jù)緩沖區(qū)日志緩沖區(qū)SGA數(shù)據(jù)文件日志文件參數(shù)文件控制文件DBWRARCHCKPTLGWRPMONLCKnRECOSMON存儲介質(zhì)ServerUserUserUserORACLE的體系結(jié)構(gòu)

體系結(jié)構(gòu)圖示24共享池數(shù)據(jù)緩沖區(qū)日志緩沖區(qū)SGA數(shù)據(jù)文件日志文件參數(shù)文件25共享池數(shù)據(jù)庫緩沖區(qū)日志緩沖區(qū)ORACLE的體系結(jié)構(gòu)系統(tǒng)全局區(qū)25共享池ORACLE的體系結(jié)構(gòu)26實例(INSTANCE)是存取和控制數(shù)據(jù)庫的軟件機制,它由系統(tǒng)全局區(qū)(SystemGlobalArea,簡稱SGA)和后臺進程組成。ORACLE的體系結(jié)構(gòu)系統(tǒng)全局區(qū)26實例(INSTANCE)ORACLE的體系結(jié)構(gòu)27SGA是ORACLE系統(tǒng)為實例分配的一組共享緩沖存儲區(qū),用于存放數(shù)據(jù)庫數(shù)據(jù)和控制信息,以實現(xiàn)對數(shù)據(jù)庫數(shù)據(jù)的管理和操作。ORACLE的體系結(jié)構(gòu)系統(tǒng)全局區(qū)27SGA是ORACLE系統(tǒng)為實例分配的一組共享緩沖存儲區(qū),28ORACLE的體系結(jié)構(gòu)系統(tǒng)全局區(qū)SGA區(qū)的初始化參數(shù)

DB_CACHE_SIZE數(shù)據(jù)庫緩存的大小

LOG_BUFFER重做日志緩存的大小

SHARED_POOL_SIZE共享池的大小

LARGE_POOL_SIZE大型池的大小為了優(yōu)化系統(tǒng)性能,SGA區(qū)最好全部位于物理內(nèi)存中。如果超過了系統(tǒng)物理內(nèi)存的大小,則不得不使用虛擬內(nèi)存來補償,部分SGA區(qū)必須由操作系統(tǒng)進行換頁操作,將在很大程度上降低系統(tǒng)性能。共享池數(shù)據(jù)緩沖區(qū)日志緩沖區(qū)SGA28ORACLE的體系結(jié)構(gòu)系統(tǒng)全局區(qū)SGA區(qū)的初始化參29共享池(SharedPool)由共享SQL區(qū)和數(shù)據(jù)字典區(qū)組成。參數(shù)SHARED_POOL_SIZE確定共享池的大小。共享SQL區(qū)包括

SQL或PL/SQL語句的文本

SQL或PL/SQL語句的語法分析形式

SQL或PL/SQL語句的執(zhí)行方案數(shù)據(jù)字典區(qū)用于存放數(shù)據(jù)字典信息行。ORACLE的體系結(jié)構(gòu)系統(tǒng)全局區(qū)29共享池(SharedPool)由共享SQL區(qū)和數(shù)據(jù)字典30數(shù)據(jù)緩沖存儲區(qū)(DatabaseBufferCache)用于存儲從數(shù)據(jù)文件中讀的數(shù)據(jù)的備份。數(shù)據(jù)緩沖區(qū)數(shù)據(jù)文件DB_BLOCK_SIZE

確定數(shù)據(jù)塊的大小,一般為2K或4K,對于大數(shù)據(jù)塊的數(shù)據(jù)庫,此參數(shù)值為物理塊的倍數(shù)。DB_CACHE_SIZE(oracle9i)DB_BLOCK_BUFFERS(oracle8i)確定數(shù)據(jù)塊的數(shù)目。ORACLE的體系結(jié)構(gòu)系統(tǒng)全局區(qū)30數(shù)據(jù)緩沖存儲區(qū)(DatabaseBufferCach31數(shù)據(jù)緩沖存儲區(qū)分為

臟列表包括被修改過但尚未寫到數(shù)據(jù)文件的緩沖塊。

LRU(LeastRecentlyUsed)列表

包括空閑緩沖塊、正在存取的緩沖塊、已被修改但尚未移到臟列表的緩沖塊。ORACLE的體系結(jié)構(gòu)系統(tǒng)全局區(qū)31數(shù)據(jù)緩沖存儲區(qū)分為ORACLE的體系結(jié)構(gòu)系統(tǒng)全局32日志緩沖存儲區(qū)(LogBuffer)以記錄項的形式備份數(shù)據(jù)庫緩沖區(qū)中被修改的緩沖塊,這些記錄將被寫到日志文件中。LOG_BUFFER

確定日志緩沖區(qū)的大小。日志緩沖區(qū)日志文件ORACLE的體系結(jié)構(gòu)系統(tǒng)全局區(qū)32日志緩沖存儲區(qū)(LogBuffer)以記錄項的形式備份33共享池數(shù)據(jù)緩沖區(qū)日志緩沖區(qū)SGA數(shù)據(jù)文件日志文件參數(shù)文件控制文件DBWRARCHCKPTLGWRPMONLCKnRECOSMON存儲介質(zhì)ServerUserUserUserORACLE的體系結(jié)構(gòu)

體系結(jié)構(gòu)圖示33共享池數(shù)據(jù)緩沖區(qū)日志緩沖區(qū)SGA數(shù)據(jù)文件日志文件參數(shù)文件34用戶進程服務(wù)器進程后臺進程ORACLE的體系結(jié)構(gòu)進程34用戶進程ORACLE的體系結(jié)構(gòu)進程35

ORACLE實例分為單進程實例和多進程實例兩種。

SINGLE_PROCESS單進程/多進程實例的轉(zhuǎn)換。ORACLE的體系結(jié)構(gòu)進程35ORACLE實例分為單進程實例和多進程實36單進程/單用戶一個進程執(zhí)行全部ORACLE代碼。SGAORACLEServer數(shù)據(jù)庫應(yīng)用ORACLE的體系結(jié)構(gòu)進程36單進程/單用戶SGAORACLEServerO37多進程/多用戶使用多個進程執(zhí)行ORACLE的不同代碼,對于每一個連接的用戶都有一個進程。SGA服務(wù)器進程用戶進程后臺進程ORACLE的體系結(jié)構(gòu)進程37多進程/多用戶SGA服務(wù)器進程用戶進程后臺進程38用戶進程當(dāng)用戶運行一個應(yīng)用程序時,就建立一個用戶進程。ORACLE的體系結(jié)構(gòu)用戶進程38用戶進程ORACLE的體系結(jié)構(gòu)用戶進程39服務(wù)器進程處理用戶進程的請求。處理過程分析SQL命令并生成執(zhí)行方案。從數(shù)據(jù)緩沖存儲區(qū)中讀取數(shù)據(jù)。將執(zhí)行結(jié)果返回給用戶。ORACLE的體系結(jié)構(gòu)服務(wù)器進程39服務(wù)器進程ORACLE的體系結(jié)構(gòu)服務(wù)器進程40后臺進程為所有數(shù)據(jù)庫用戶異步完成各種任務(wù)。主要的后臺進程有

DBWR數(shù)據(jù)庫寫進程

LGWR日志寫進程

CKPT檢查點寫進程

SMON系統(tǒng)監(jiān)控進程

PMON進程監(jiān)控進程

ARCH歸檔進程

RECO恢復(fù)進程

LCKn封鎖進程ORACLE的體系結(jié)構(gòu)后臺進程40后臺進程主要的后臺進程有ORACLE的體系結(jié)構(gòu)后41ORACLE的體系結(jié)構(gòu)后臺進程DBWR(DataBaseWriter)

將數(shù)據(jù)緩沖區(qū)中所有修改過的緩沖塊數(shù)據(jù)寫到數(shù)據(jù)文件中,并使用LRU(Least-Recently-Used)算法來保持緩沖區(qū)中的數(shù)據(jù)塊為最近經(jīng)常使用的,以減少I/O次數(shù)。該進程在啟動實例時自動啟動41ORACLE的體系結(jié)構(gòu)后臺進程DBWR(Data42DBWR進行寫操作的情況:臟列表達到最低限制。相當(dāng)于參數(shù)DB_BLOCK_WRITE_BATCH值的一半。一個進程在LRU列表中掃描指定數(shù)目的緩沖塊,未找到空閑緩沖塊。參數(shù)DB_BLOCK_MAX_SCAN_CNT確定掃描數(shù)目。ORACLE的體系結(jié)構(gòu)后臺進程42DBWR進行寫操作的情況:ORACLE的體系結(jié)構(gòu)43ORACLE的體系結(jié)構(gòu)后臺進程出現(xiàn)超時3秒鐘內(nèi)該進程未活動,則該進程將在LRU列表中查找尚未查找的緩沖塊,這組緩沖塊的數(shù)目相當(dāng)于參數(shù)DB_BLOCK_WRITE_BATCH值的2倍。出現(xiàn)檢查點。43ORACLE的體系結(jié)構(gòu)后臺進程出現(xiàn)超時44LGWR(LogWriter)

將日志緩沖區(qū)中的所有記錄項寫到日志文件中。該進程在啟動實例時自動啟動。ORACLE的體系結(jié)構(gòu)后臺進程44LGWR(LogWriter)ORACLE的體系結(jié)構(gòu)45ORACLE的體系結(jié)構(gòu)后臺進程LGWR進行寫操作的情況:用戶進程提交一個事務(wù)(Commit)

日志緩沖區(qū)達到1/3范圍

DBWR對一個檢查點需要清除緩沖塊出現(xiàn)超時(3秒鐘內(nèi)未活動,則進行一次寫操作。)45ORACLE的體系結(jié)構(gòu)后臺進程LGWR進行寫操作46ORACLE的體系結(jié)構(gòu)后臺進程檢查點(Checkpoint):在檢查點出現(xiàn)期間,DBWR進程將數(shù)據(jù)緩沖區(qū)中的所有臟緩沖塊寫到數(shù)據(jù)文件中,LGWR進程將日志緩沖區(qū)中的所有記錄項寫到日志文件中,以確保上一個檢查點至今修改過的所有數(shù)據(jù)塊都被寫到磁盤上。46ORACLE的體系結(jié)構(gòu)后臺進程檢查點(Check47檢查點:預(yù)定數(shù)目的記錄項被填滿。參數(shù)LOG_CHECKPOINT_INTERVAL確定了預(yù)定數(shù)目。設(shè)置指定的秒數(shù)。 參數(shù)LOG_CHECKPOINT_TIMEOUT確定了間隔秒數(shù)。每個日志開關(guān)處關(guān)閉實例時

DBA手動操作。ORACLE的體系結(jié)構(gòu)后臺進程47檢查點:ORACLE的體系結(jié)構(gòu)后臺進程48CKPT(Checkpointer)

在控制文件中記錄檢查點。參CHECKPOINT_PROCESS確定了檢查點的啟動/不啟動狀態(tài)。若CKPT進程不啟動,則該進程的工作將由LGWR進程代勞。(如果數(shù)據(jù)庫的數(shù)據(jù)文件過多,這樣操作會降低系統(tǒng)性能。)

oracle9i中已經(jīng)廢棄了這個參數(shù),在實例啟動時將會自動啟動CKPT進程。如果仍然在參數(shù)文件中設(shè)置這個參數(shù),將會導(dǎo)致實例啟動失敗。ORACLE的體系結(jié)構(gòu)后臺進程48CKPT(Checkpointer)ORACLE的體系結(jié)49ARCH(Archiver)歸檔進程在日志文件組出現(xiàn)切換時,將舊日志文件的內(nèi)容拷貝到脫機存儲介質(zhì)上,出現(xiàn)介質(zhì)失敗時用于恢復(fù)數(shù)據(jù)。

LOG_ARCHIVE_START確定了該進程的啟動/不啟動狀態(tài)。ARCH存儲介質(zhì)ORACLE的體系結(jié)構(gòu)后臺進程49ARCH(Archiver)歸檔進程ARCH存儲介質(zhì)OR50ARCH(Archiver)LOG_ARCHIVE_DEST當(dāng)數(shù)據(jù)庫在歸檔模式下操作時,該參數(shù)確定了日志文件的歸檔目標(biāo)。

LOG_ARCHIVE_FORMAT當(dāng)數(shù)據(jù)庫在歸檔模式下操作時,該參數(shù)確定了歸檔日志文件的缺省文件名格式。ARCH存儲介質(zhì)ORACLE的體系結(jié)構(gòu)后臺進程50ARCH(Archiver)ARCH存儲介質(zhì)ORACLE51ORACLE的體系結(jié)構(gòu)后臺進程SMON(SystemMonitor)系統(tǒng)監(jiān)視進程負(fù)責(zé)完成自動實例恢復(fù)。該進程在啟動實例時自動啟動。PMON(ProcessMonitor)進程監(jiān)視進程撤消異常中斷的用戶進程,并釋放該進程已獲得的系統(tǒng)資源或鎖。51ORACLE的體系結(jié)構(gòu)后臺進程SMON(Syst52ORACLE的體系結(jié)構(gòu)后臺進程RECO(Recover)恢復(fù)進程在分布式操作的情況下,恢復(fù)一個事務(wù)的失敗。LCKn(Lock)鎖進程在并行服務(wù)器系統(tǒng)間加鎖,最多可加10個鎖,分別為LCK0,LCK1,,LCK9。52ORACLE的體系結(jié)構(gòu)后臺進程RECO(Reco53共享池數(shù)據(jù)緩沖區(qū)日志緩沖區(qū)SGA數(shù)據(jù)文件日志文件參數(shù)文件控制文件DBWRARCHCKPTLGWRPMONLCKnRECOSMON存儲介質(zhì)ServerUserUserUserORACLE的體系結(jié)構(gòu)

總結(jié)53共享池數(shù)據(jù)緩沖區(qū)日志緩沖區(qū)SGA數(shù)據(jù)文件日志文件參數(shù)文件謝謝謝謝55oracle管理科學(xué)數(shù)據(jù)庫技術(shù)培訓(xùn)1oracle管理科學(xué)數(shù)據(jù)庫技術(shù)培訓(xùn)56oracle數(shù)據(jù)庫的特點Oracle是oracle公司出品的十分優(yōu)秀的DBMS。目前,中國電信行業(yè)使用的數(shù)據(jù)庫系統(tǒng)基本上全部是oracle(不是windows下的)。其市場占有率為32.6%。如果實現(xiàn)的是高端企業(yè)應(yīng)用,需要處理的并發(fā)數(shù)據(jù)量很大,同時對數(shù)據(jù)庫的可靠性、安全性和可擴展性又很高的要求,那么oracle是很好的選擇。2oracle數(shù)據(jù)庫的特點Oracle是oracle公司出品57oracle數(shù)據(jù)庫的特點支持大數(shù)據(jù)庫、多用戶的高性能的事務(wù)處理ORACLE遵守數(shù)據(jù)存取語言、操作系統(tǒng)、用戶接口和通訊協(xié)議的工業(yè)標(biāo)準(zhǔn)。實施安全性控制和完整性控制支持分布式數(shù)據(jù)庫和分布處理。分布式系統(tǒng)像集中式數(shù)據(jù)庫具有一樣的透明性和數(shù)據(jù)一致性。具有可移植性、可兼容性和連接性。Oracle10g支持網(wǎng)格計算3oracle數(shù)據(jù)庫的特點支持大數(shù)據(jù)庫、多用戶的高性能的事務(wù)58第一章ORACLE的體系結(jié)構(gòu)Oracle的物理結(jié)構(gòu)Oracle的系統(tǒng)全局區(qū)Oracle的進程4第一章ORACLE的體系結(jié)構(gòu)59ORACLE的體系結(jié)構(gòu)

體系結(jié)構(gòu)概述物理結(jié)構(gòu)

數(shù)據(jù)文件、日志文件、控制文件、參數(shù)文件系統(tǒng)全局區(qū)(SystemGlobalArea)

共享池、數(shù)據(jù)緩沖區(qū)、日志緩沖區(qū)進程

用戶進程、服務(wù)器進程、后臺進程5ORACLE的體系結(jié)構(gòu)體系結(jié)構(gòu)概述物理結(jié)構(gòu)60共享池數(shù)據(jù)緩沖區(qū)日志緩沖區(qū)SGA數(shù)據(jù)文件日志文件參數(shù)文件控制文件DBWRARCHCKPTLGWRPMONLCKnRECOSMON存儲介質(zhì)ServerUserUserUserORACLE的體系結(jié)構(gòu)

體系結(jié)構(gòu)圖示6共享池數(shù)據(jù)緩沖區(qū)日志緩沖區(qū)SGA數(shù)據(jù)文件日志文件參數(shù)文件控61數(shù)據(jù)文件日志文件控制文件參數(shù)文件ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)7數(shù)據(jù)文件ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)62

數(shù)據(jù)文件(DataFile)是物理存儲ORACLE數(shù)據(jù)庫數(shù)據(jù)的文件。其特點如下:每一個數(shù)據(jù)文件只與一個數(shù)據(jù)庫相聯(lián)系。一個表空間可包含一個或多個數(shù)據(jù)文件。一個數(shù)據(jù)文件只能屬于一個表空間ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)8數(shù)據(jù)文件(DataFile)是物理存儲ORACL63

日志文件(LogFile)記錄所有對數(shù)據(jù)庫數(shù)據(jù)的修改,以備恢復(fù)數(shù)據(jù)時使用。其特點如下:每一個數(shù)據(jù)庫至少包含兩個日志文件組。日志文件組以循環(huán)方式進行寫操作。每一個日志文件成員對應(yīng)一個物理文件。ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)9日志文件(LogFile)記錄所有對數(shù)據(jù)庫數(shù)據(jù)的64

日志開關(guān)(LogSwitch)是為實現(xiàn)日志文件組的循環(huán)使用而設(shè)置的。出現(xiàn)日志開關(guān)的情況如下:當(dāng)一個日志文件組被填滿時關(guān)閉數(shù)據(jù)庫時

DBA手動轉(zhuǎn)移日志開關(guān)ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)10日志開關(guān)(LogSwitch)是為實現(xiàn)日志文件65日志文件寫操作圖示LogFile1LogFile2Group1Group2Member2.1Member1.1ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)11日志文件寫操作圖示LogFile1LogFile66

鏡像日志文件是為防止日志文件的丟失,在不同磁盤上同時維護兩個或多個聯(lián)機日志文件的副本。其特點如下:每個日志文件組至少包含兩個日志文件成員。每組的成員數(shù)目相同。同組的所有成員同時被修改。同組的成員大小相同,不同組的成員大小可不同。ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)12鏡像日志文件是為防止日志文件的丟失,在不同磁盤上67鏡像日志文件圖示Group1Group2LogFile1LogFile2Member2.1Member1.1LogFile3LogFile4Member2.2Member1.2Disk1Disk2ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)13鏡像日志文件圖示Group1Group2LogFi68共享池數(shù)據(jù)緩沖區(qū)日志緩沖區(qū)SGADBWRARCHCKPTLGWRPMONLCKnRECOSMON存儲介質(zhì)ServerUserUserUserORACLE的體系結(jié)構(gòu)

體系結(jié)構(gòu)圖示14共享池數(shù)據(jù)緩沖區(qū)日志緩沖區(qū)SGADBWRARCHCKPT69

控制文件(ControlFile)是一個較小的二進制文件,用于描述數(shù)據(jù)庫物理結(jié)構(gòu)。描述信息如下:數(shù)據(jù)庫建立的日期。數(shù)據(jù)庫名。數(shù)據(jù)庫中所有數(shù)據(jù)文件和日志文件的文件名及路徑。恢復(fù)數(shù)據(jù)庫時所需的同步信息。要點注意:在打開和存取數(shù)據(jù)庫時都要訪問該文件。鏡像控制文件。記錄控制文件名及路徑的參數(shù)為:

CONTROL_FILESORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)15控制文件(ControlFile)是一個較小的70

參數(shù)文件(PFILE)和服務(wù)器端參數(shù)文件(SPFILE)oracle8i以前的版本都是使用普通文本形式的本地初始化參數(shù)文件,initSID.ora。自oracle9i開始使用服務(wù)器端參數(shù)文件,SPFILE是二進制格式的,默認(rèn)名為SPFILE<SID>.ORA。盡管能夠打開并編輯器中的內(nèi)容,但是任何用戶都不應(yīng)該手工修改其中的內(nèi)容,否則實例將無法啟動。ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)16參數(shù)文件(PFILE)和服務(wù)器端參數(shù)文件(SPF71參數(shù)文件的作用:確定存儲結(jié)構(gòu)的大小。設(shè)置數(shù)據(jù)庫的全部缺省值。設(shè)置數(shù)據(jù)庫的范圍。設(shè)置數(shù)據(jù)庫的各種物理屬性。優(yōu)化數(shù)據(jù)庫性能。ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)17參數(shù)文件的作用:ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)72創(chuàng)建服務(wù)器端初始化參數(shù)文件

SPFILE在創(chuàng)建時必須基于一個傳統(tǒng)的文本初始化參數(shù)文件,而且必須在啟動實例之前完成創(chuàng)建工作。Sql>createSPFILE=‘D:\ORACLE\…’

FROMPFILE=‘D:\ORACLE\…\TEMPFILE\…’; PFILE子句是必需的,SPFILE子句可以省略,則SPFILE存貯在缺省位置<ORACLE_HOME>\DATABASE\下。ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)18創(chuàng)建服務(wù)器端初始化參數(shù)文件ORACLE的體系結(jié)構(gòu)73ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)查看服務(wù)器端參數(shù)文件

在SQLPLUS中使用SHOWPARAMETERS命令 查詢V$PARAMETER或V$PARAMETER2動態(tài)性能視圖,V$PARAMETER2的格式更加簡介。查詢V$SPPARAMETER動態(tài)性能視圖導(dǎo)出服務(wù)器端參數(shù)文件

SQL>CREATEPFILE=‘D:\…’FROMSPFILE=‘…’19ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)查看服務(wù)器端參數(shù)文74ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)修改服務(wù)器端參數(shù)文件

在9i中直接手工修改本地參數(shù)化文件是沒用的,不會改變數(shù)據(jù)庫的設(shè)置。

利用ALTERSYSTEMSETparameter=value語句可以在數(shù)據(jù)庫運行時修改初始化參數(shù)的值。 在SET子句中可以使用SCOPE選項來設(shè)置影響范圍,所謂影響范圍就是ALTERSYSTEM語句對參數(shù)的修改是僅對當(dāng)前實例有效(記錄在內(nèi)存中),還是永久有效(記錄在SPFILE中)。

20ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)修改服務(wù)器端參數(shù)文75ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)SCOPE選項有三種選擇:SCOPE=SPFILE對參數(shù)的修改僅記錄在SPFILE,改選項同時適用動態(tài)初始化參數(shù)和靜態(tài)初始化參數(shù)。修改后的參數(shù)在下次啟動后生效SCOPE=MEMORY對參數(shù)的修改僅記錄在內(nèi)存中,更改立即生效,僅對本次實例有效。對靜態(tài)參數(shù),不能使用這個選項值。SCOPE=BOTH對參數(shù)的修改同時記錄在內(nèi)存和SPFILE中,立即生效,下次啟動后使用修改后的參數(shù)。對于靜態(tài)參數(shù),不能使用這個選項。21ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)SCOPE選項有三76ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)主要的初始化參數(shù)

全局?jǐn)?shù)據(jù)庫名和SID

DB_NAME本地數(shù)據(jù)庫標(biāo)識,在只有一個實例的情況下,本地數(shù)據(jù)庫標(biāo)識和實例標(biāo)識SID相同。 DB_DOMAIN網(wǎng)絡(luò)域名 則全局名GLOBAL_NAME為DB_NAME.DB_DOMAIN

控制文件參數(shù)

control_files='d:\oracle\oradata\test\CONTROL01.CTL','d:\oracle\oradata\test\CONTROL02.CTL','d:\oracle\oradata\test\CONTROL03.CTL'22ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu)主要的初始化參數(shù)77ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu) 數(shù)據(jù)塊參數(shù)

db_block_size,數(shù)據(jù)庫建立后不能修改。一般是操作系統(tǒng)塊的整數(shù)倍。對I/O密集的操作,使用雙倍大小的數(shù)據(jù)塊能提高40%左右的I/O性能,但是所這塊的增大,數(shù)據(jù)庫對內(nèi)存SGA的需求也增大,會對系統(tǒng)性能產(chǎn)生負(fù)面影響

db_cache_size指定SGA區(qū)數(shù)據(jù)庫告訴緩沖區(qū)的大小。Oracle8i中是使用db_block_buffers來決定的。 撤銷空間的管理方式undo_management='AUTO‘\’MANUAL’undo_tablespace='UNDOTBS1'23ORACLE的體系結(jié)構(gòu)物理結(jié)構(gòu) 數(shù)據(jù)塊參數(shù)78共享池數(shù)據(jù)緩沖區(qū)日志緩沖區(qū)SGA數(shù)據(jù)文件日志文件參數(shù)文件控制文件DBWRARCHCKPTLGWRPMONLCKnRECOSMON存儲介質(zhì)ServerUserUserUserORACLE的體系結(jié)構(gòu)

體系結(jié)構(gòu)圖示24共享池數(shù)據(jù)緩沖區(qū)日志緩沖區(qū)SGA數(shù)據(jù)文件日志文件參數(shù)文件79共享池數(shù)據(jù)庫緩沖區(qū)日志緩沖區(qū)ORACLE的體系結(jié)構(gòu)系統(tǒng)全局區(qū)25共享池ORACLE的體系結(jié)構(gòu)80實例(INSTANCE)是存取和控制數(shù)據(jù)庫的軟件機制,它由系統(tǒng)全局區(qū)(SystemGlobalArea,簡稱SGA)和后臺進程組成。ORACLE的體系結(jié)構(gòu)系統(tǒng)全局區(qū)26實例(INSTANCE)ORACLE的體系結(jié)構(gòu)81SGA是ORACLE系統(tǒng)為實例分配的一組共享緩沖存儲區(qū),用于存放數(shù)據(jù)庫數(shù)據(jù)和控制信息,以實現(xiàn)對數(shù)據(jù)庫數(shù)據(jù)的管理和操作。ORACLE的體系結(jié)構(gòu)系統(tǒng)全局區(qū)27SGA是ORACLE系統(tǒng)為實例分配的一組共享緩沖存儲區(qū),82ORACLE的體系結(jié)構(gòu)系統(tǒng)全局區(qū)SGA區(qū)的初始化參數(shù)

DB_CACHE_SIZE數(shù)據(jù)庫緩存的大小

LOG_BUFFER重做日志緩存的大小

SHARED_POOL_SIZE共享池的大小

LARGE_POOL_SIZE大型池的大小為了優(yōu)化系統(tǒng)性能,SGA區(qū)最好全部位于物理內(nèi)存中。如果超過了系統(tǒng)物理內(nèi)存的大小,則不得不使用虛擬內(nèi)存來補償,部分SGA區(qū)必須由操作系統(tǒng)進行換頁操作,將在很大程度上降低系統(tǒng)性能。共享池數(shù)據(jù)緩沖區(qū)日志緩沖區(qū)SGA28ORACLE的體系結(jié)構(gòu)系統(tǒng)全局區(qū)SGA區(qū)的初始化參83共享池(SharedPool)由共享SQL區(qū)和數(shù)據(jù)字典區(qū)組成。參數(shù)SHARED_POOL_SIZE確定共享池的大小。共享SQL區(qū)包括

SQL或PL/SQL語句的文本

SQL或PL/SQL語句的語法分析形式

SQL或PL/SQL語句的執(zhí)行方案數(shù)據(jù)字典區(qū)用于存放數(shù)據(jù)字典信息行。ORACLE的體系結(jié)構(gòu)系統(tǒng)全局區(qū)29共享池(SharedPool)由共享SQL區(qū)和數(shù)據(jù)字典84數(shù)據(jù)緩沖存儲區(qū)(DatabaseBufferCache)用于存儲從數(shù)據(jù)文件中讀的數(shù)據(jù)的備份。數(shù)據(jù)緩沖區(qū)數(shù)據(jù)文件DB_BLOCK_SIZE

確定數(shù)據(jù)塊的大小,一般為2K或4K,對于大數(shù)據(jù)塊的數(shù)據(jù)庫,此參數(shù)值為物理塊的倍數(shù)。DB_CACHE_SIZE(oracle9i)DB_BLOCK_BUFFERS(oracle8i)確定數(shù)據(jù)塊的數(shù)目。ORACLE的體系結(jié)構(gòu)系統(tǒng)全局區(qū)30數(shù)據(jù)緩沖存儲區(qū)(DatabaseBufferCach85數(shù)據(jù)緩沖存儲區(qū)分為

臟列表包括被修改過但尚未寫到數(shù)據(jù)文件的緩沖塊。

LRU(LeastRecentlyUsed)列表

包括空閑緩沖塊、正在存取的緩沖塊、已被修改但尚未移到臟列表的緩沖塊。ORACLE的體系結(jié)構(gòu)系統(tǒng)全局區(qū)31數(shù)據(jù)緩沖存儲區(qū)分為ORACLE的體系結(jié)構(gòu)系統(tǒng)全局86日志緩沖存儲區(qū)(LogBuffer)以記錄項的形式備份數(shù)據(jù)庫緩沖區(qū)中被修改的緩沖塊,這些記錄將被寫到日志文件中。LOG_BUFFER

確定日志緩沖區(qū)的大小。日志緩沖區(qū)日志文件ORACLE的體系結(jié)構(gòu)系統(tǒng)全局區(qū)32日志緩沖存儲區(qū)(LogBuffer)以記錄項的形式備份87共享池數(shù)據(jù)緩沖區(qū)日志緩沖區(qū)SGA數(shù)據(jù)文件日志文件參數(shù)文件控制文件DBWRARCHCKPTLGWRPMONLCKnRECOSMON存儲介質(zhì)ServerUserUserUserORACLE的體系結(jié)構(gòu)

體系結(jié)構(gòu)圖示33共享池數(shù)據(jù)緩沖區(qū)日志緩沖區(qū)SGA數(shù)據(jù)文件日志文件參數(shù)文件88用戶進程服務(wù)器進程后臺進程ORACLE的體系結(jié)構(gòu)進程34用戶進程ORACLE的體系結(jié)構(gòu)進程89

ORACLE實例分為單進程實例和多進程實例兩種。

SINGLE_PROCESS單進程/多進程實例的轉(zhuǎn)換。ORACLE的體系結(jié)構(gòu)進程35ORACLE實例分為單進程實例和多進程實90單進程/單用戶一個進程執(zhí)行全部ORACLE代碼。SGAORACLEServer數(shù)據(jù)庫應(yīng)用ORACLE的體系結(jié)構(gòu)進程36單進程/單用戶SGAORACLEServerO91多進程/多用戶使用多個進程執(zhí)行ORACLE的不同代碼,對于每一個連接的用戶都有一個進程。SGA服務(wù)器進程用戶進程后臺進程ORACLE的體系結(jié)構(gòu)進程37多進程/多用戶SGA服務(wù)器進程用戶進程后臺進程92用戶進程當(dāng)用戶運行一個應(yīng)用程序時,就建立一個用戶進程。ORACLE的體系結(jié)構(gòu)用戶進程38用戶進程ORACLE的體系結(jié)構(gòu)用戶進程93服務(wù)器進程處理用戶進程的請求。處理過程分析SQL命令并生成執(zhí)行方案。從數(shù)據(jù)緩沖存儲區(qū)中讀取數(shù)據(jù)。將執(zhí)行結(jié)果返回給用戶。ORACLE的體系結(jié)構(gòu)服務(wù)器進程39服務(wù)器進程ORACLE的體系結(jié)構(gòu)服務(wù)器進程94后臺進程為所有數(shù)據(jù)庫用戶異步完成各種任務(wù)。主要的后臺進程有

DBWR數(shù)據(jù)庫寫進程

LGWR日志寫進程

CKPT檢查點寫進程

SMON系統(tǒng)監(jiān)控進程

PMON進程監(jiān)控進程

ARCH歸檔進程

RECO恢復(fù)進程

LCKn封鎖進程ORACLE的體系結(jié)構(gòu)后臺進程40后臺進程主要的后臺進程有ORACLE的體系結(jié)構(gòu)后95ORACLE的體系結(jié)構(gòu)后臺進程DBWR(DataBaseWriter)

將數(shù)據(jù)緩沖區(qū)中所有修改過的緩沖塊數(shù)據(jù)寫到數(shù)據(jù)文件中,并使用LRU(Least-Recently-Used)算法來保持緩沖區(qū)中的數(shù)據(jù)塊為最近經(jīng)常使用的,以減少I/O次數(shù)。該進程在啟動實例時自動啟動41ORACLE的體系結(jié)構(gòu)后臺進程DBWR(Data96DBWR進行寫操作的情況:臟列表達到最低限制。相當(dāng)于參數(shù)DB_BLOCK_WRITE_BATCH值的一半。一個進程在LRU列表中掃描指定數(shù)目的緩沖塊,未找到空閑緩沖塊。參數(shù)DB_BLOCK_MAX_SCAN_CNT確定掃描數(shù)目。ORACLE的體系結(jié)構(gòu)后臺進程42DBWR進行寫操作的情況:ORACLE的體系結(jié)構(gòu)97ORACLE的體系結(jié)構(gòu)后臺進程出現(xiàn)超時3秒鐘內(nèi)該進程未活動,則該進程將在LRU列表中查找尚未查找的緩沖塊,這組緩沖塊的數(shù)目相當(dāng)于參數(shù)DB_BLOCK_WRI

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論