Oracle體系結(jié)構(gòu) (2)ppt課件_第1頁
Oracle體系結(jié)構(gòu) (2)ppt課件_第2頁
Oracle體系結(jié)構(gòu) (2)ppt課件_第3頁
Oracle體系結(jié)構(gòu) (2)ppt課件_第4頁
Oracle體系結(jié)構(gòu) (2)ppt課件_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Oracle體系構(gòu)造主要內(nèi)容Oracle體系構(gòu)造及其組件例程數(shù)據(jù)庫 例程 內(nèi)存構(gòu)造 后臺進(jìn)程 數(shù)據(jù)庫 物理構(gòu)造 邏輯構(gòu)造Oracle效力器的任務(wù)原理客戶機(jī)效力器效力器進(jìn)程(PGA區(qū))用戶進(jìn)程(SQL語句)Oracle server處置過程可以簡單的描畫為:用戶在其機(jī)器上運(yùn)轉(zhuǎn)基于Oracle的運(yùn)用程序(如:SQL*PLUS、PL/SQL Developer等),即啟動用戶進(jìn)程.客戶機(jī)、效力器之間建立銜接(Connect).效力器為用戶建立會話(Session),并為該會話建立一個PGA(Program Global Area,程序全局區(qū))以存儲與該會話相關(guān)的信息.在同一個銜接中,不同的用戶有不同

2、的會話.啟動效力進(jìn)程,由該效力進(jìn)程擔(dān)任執(zhí)行該會話的各項義務(wù).用戶進(jìn)程發(fā)送SQL語句(select、update、commit.)效力器進(jìn)程解析、編譯、執(zhí)行SQL語句,然后將結(jié)果寫入數(shù)據(jù)庫并前往結(jié)果給用戶進(jìn)程。用戶進(jìn)程接納前往的SQL執(zhí)行結(jié)果。在運(yùn)用程序中顯示SQL執(zhí)行結(jié)果.口令文件體系構(gòu)造及其組件綜述例程SGA重做日志緩沖區(qū)共享池數(shù)據(jù)字典高速緩存庫高速緩存DBWRSMONPMONCKPTLGWROthers用戶進(jìn)程效力器進(jìn)程PGA控制文件數(shù)據(jù)文件數(shù)據(jù)庫數(shù)據(jù)高速緩存重做日志Java 池大緩沖池參數(shù)文件歸檔日志圖示內(nèi)容如下:Oracle的體系構(gòu)造可分客戶端、效力器兩大部分。客戶端:在客戶機(jī)上安裝管

3、理工具后,運(yùn)轉(zhuǎn)工具啟動用戶進(jìn)程。效力器:包括例程和數(shù)據(jù)庫兩部分。 例程:包括SGA及后臺進(jìn)程。 數(shù)據(jù)庫:包括控制文件、數(shù)據(jù)文件、日志文件等操作系統(tǒng)文件.涉及三種構(gòu)造:Oracle的內(nèi)存構(gòu)造 Oracle的進(jìn)程構(gòu)造Oracle數(shù)據(jù)庫的存儲構(gòu)造物理構(gòu)造邏輯構(gòu)造內(nèi)存構(gòu)造: SGA和PGA,運(yùn)用內(nèi)存最多的是SGA,同時也是影響數(shù)據(jù)庫性能的最大參數(shù).進(jìn)程構(gòu)造:包括前臺進(jìn)程、后臺進(jìn)程。前臺進(jìn)程是指效力進(jìn)程和用戶進(jìn)程.前臺進(jìn)程是根據(jù)實踐需求而運(yùn)轉(zhuǎn)的,并在需求終了后立刻終了。后臺進(jìn)程是指在Oracle數(shù)據(jù)庫啟動后,自動啟動的幾個操作系統(tǒng)進(jìn)程.存儲構(gòu)造:分為邏輯存儲構(gòu)造、物理存儲構(gòu)造。 邏輯存儲構(gòu)造是描畫Ora

4、cle數(shù)據(jù)庫中如何組織和管理數(shù)據(jù)。與操作系統(tǒng)平臺無關(guān)。 物理存儲構(gòu)造是Oracle數(shù)據(jù)庫的外部存儲構(gòu)造。它對應(yīng)操作系統(tǒng)相關(guān)文件。包括控制文件、數(shù)據(jù)文件、日志文件等操作系統(tǒng)文件.Oracle 效力器Oracle 數(shù)據(jù)庫效力器:主要由兩部分組成: 物理數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)。物理數(shù)據(jù)庫是保管數(shù)據(jù)的物理存儲設(shè)備。數(shù)據(jù)庫管理系統(tǒng)是用戶與物理數(shù)據(jù)庫之間的一個中間是軟件層,又稱例程。有一定的構(gòu)造?;蚍Q數(shù)據(jù)庫效力器由例程和數(shù)據(jù)庫組成Oracle server數(shù)據(jù)庫效力器啟動時:Oracle首先要在內(nèi)存中獲取、劃分、保管各種用途的區(qū)域,運(yùn)轉(zhuǎn)各種用途的后臺,即:創(chuàng)建一個例程(instance);然后由該例程裝載

5、(mount)、翻開(open)數(shù)據(jù)庫;最后由這個例程來訪問和控制數(shù)據(jù)庫的各種物理構(gòu)造 假設(shè)把Oracle數(shù)據(jù)庫比作一部汽車,instance相當(dāng)于汽車的發(fā)動機(jī)一樣,啟動oracle數(shù)據(jù)庫前提應(yīng)先啟動instance.當(dāng)用戶銜接到數(shù)據(jù)庫并運(yùn)用數(shù)據(jù)庫時,實踐上是銜接到該數(shù)據(jù)庫的例程,經(jīng)過例程來銜接、運(yùn)用數(shù)據(jù)庫。所以例程是用戶和數(shù)據(jù)庫之間的中間層。例程與數(shù)據(jù)庫的區(qū)別:數(shù)據(jù)庫指的是存儲數(shù)據(jù)的物理構(gòu)造,總是實踐存在的;例程那么是由內(nèi)存構(gòu)造和一系列進(jìn)程組成,可以啟動和封鎖。SID(系統(tǒng)標(biāo)識符)一臺計算機(jī)上可以創(chuàng)建多個Oracle數(shù)據(jù)庫,一個數(shù)據(jù)庫上可以有多個例程。為了使例程間不混淆,每個例程都稱為:SI

6、D(SystemIDentify)加以區(qū)分。例 程的組成 一個Oracle例程是存取和控制一個數(shù)據(jù)庫的軟件機(jī)制,是接觸Oracle數(shù)據(jù)庫的方式,存取數(shù)據(jù)庫中數(shù)據(jù)的一種手段,或者稱之Oracle數(shù)據(jù)庫管理系統(tǒng)。它由系統(tǒng)全局區(qū)System Global Area,簡稱SGA和后臺進(jìn)程組成。例程SGA重做日志緩沖區(qū)共享池數(shù)據(jù)字典高速緩存庫高速緩存DBWRSMONPMONCKPTLGWROthers數(shù)據(jù)高速緩存Java 池大緩沖池SGA后臺進(jìn)程銜接到例程建立銜接和會話 :建立用戶銜接建立會話建立會話數(shù)據(jù)庫用戶用戶進(jìn)程效力器進(jìn)程建立銜接Oracle server建立銜接: 是一個平安審核的過程。包括:提

7、交的網(wǎng)絡(luò)效力名能否正確;輸入的用戶名及密碼能否存在且正確,銜接的數(shù)據(jù)庫對象能否存在等等,對這些一系列的過程進(jìn)展審核。 經(jīng)過用戶進(jìn)程來銜接。 一旦建立了銜接,Oracle效力器會給該用戶調(diào)度一個效力器進(jìn)程來完成該用戶的懇求命令效力。建立會話: 效力器進(jìn)程解析用戶進(jìn)程提供來的SQL語句,完成該次會話執(zhí)行的各種義務(wù)。數(shù)據(jù)庫口令文件控制文件數(shù)據(jù)文件數(shù)據(jù)庫重做日志參數(shù)文件歸檔日志 Oracle 保管數(shù)據(jù)的容器。 分物理存儲構(gòu)造及邏輯存儲構(gòu)造。Oracle數(shù)據(jù)庫物理存儲構(gòu)造 物理存儲構(gòu)造是現(xiàn)實的數(shù)據(jù)存儲單元,對應(yīng)于操作系統(tǒng)文件。Oracle數(shù)據(jù)庫就是由駐留在效力器的磁盤上的這些操作系統(tǒng)文件所組成的。這些文

8、件有數(shù)據(jù)文件、日志文件、控制文件。物理存儲構(gòu)造物理構(gòu)造主要包括以下三種文件:控制文件數(shù)據(jù)文件重做日志控制文件數(shù)據(jù)文件重做日志數(shù)據(jù)文件(Data File)數(shù)據(jù)文件(Data File)是物理存儲Oracle數(shù)據(jù)庫數(shù)據(jù)的文件。其特點如下: 每一個數(shù)據(jù)文件只與一個數(shù)據(jù)庫相聯(lián)絡(luò)。 一個表空間可包含一個或多個數(shù)據(jù)文件。 一個數(shù)據(jù)文件只能屬于一個表空間。重做日志文件(Redo File) 重做日志文件(Redo Log File)記錄一切對數(shù)據(jù)庫數(shù)據(jù)的修正,以備恢復(fù)數(shù)據(jù)時運(yùn)用。其特點如下: 每一個數(shù)據(jù)庫至少包含兩個日志文件組。 日志文件組以循環(huán)方式進(jìn)展寫操作。 每一個日志文件成員對應(yīng)一個物理文件??刂莆?/p>

9、件 控制文件(Control File)是一個較小的二進(jìn)制文件,用于描畫數(shù)據(jù)庫構(gòu)造。描畫信息如下:數(shù)據(jù)庫建立的日期。數(shù)據(jù)庫名。數(shù)據(jù)庫中一切數(shù)據(jù)文件和日志文件的文件名及途徑。恢復(fù)數(shù)據(jù)庫時所需的同步信息。要點留意:在翻開和存取數(shù)據(jù)庫時都要訪問該文件。記錄控制文件名及途徑的參數(shù)為:CONTROL_FILES參數(shù)文件 參數(shù)文件Parameter File也被稱為初始化參數(shù)文件,用于存儲SGA、可選的Oracle特性和后臺進(jìn)程的配置參數(shù)。 當(dāng)數(shù)據(jù)庫啟動,并在創(chuàng)建例程或讀取控制文件之前,會先按其中的參數(shù)進(jìn)展例程的配置。 位置:$Oracle_home dbs口令文件:是個二進(jìn)制文件,驗證特權(quán)用戶。 位置:

10、$Oracle_home databasePWD%.ora歸檔日志文件:非活動的重做日志文件的備份。邏輯存儲構(gòu)造主要描畫Oracle數(shù)據(jù)庫的內(nèi)部存儲構(gòu)造,從技術(shù)概念上描畫Oracle數(shù)據(jù)庫中如何組織、管理數(shù)據(jù)。可以分為4部分:表空間、段、區(qū)、塊。表空間段數(shù)據(jù)塊區(qū)段Oracle的邏輯構(gòu)造是由一個或多個表空間組成。一個表空間(tablespace)由一組段組成 一個段(segment)由一組區(qū)組成 一個區(qū)(extent)由一批數(shù)據(jù)庫塊組成 一個數(shù)據(jù)庫塊(block)對應(yīng)一個或多個物理操作系統(tǒng)塊。表空間 表空間是數(shù)據(jù)庫的邏輯劃分的最大單元,一個Oracle數(shù)據(jù)庫至少有一個表空間,即system表空間

11、。數(shù)據(jù)庫表空間1表空間2表空間3數(shù)據(jù)文件數(shù)據(jù)文件數(shù)據(jù)文件數(shù)據(jù)文件數(shù)據(jù)文件表空間1表空間2表空間3數(shù)據(jù)文件數(shù)據(jù)文件數(shù)據(jù)文件數(shù)據(jù)文件數(shù)據(jù)文件表表表安裝完Oracle 10g后,自動創(chuàng)建的表空間為:Example 例如表空間,存放例子數(shù)據(jù)庫的方案對象。SYSTEM 系統(tǒng)表空間,存放關(guān)于表空間稱號、控制文件、數(shù)據(jù)文件等管理信息,它屬于sys、system方案。不能刪除或重命名。SYSAUX 輔助系統(tǒng)表空間 ,用于減少系統(tǒng)表空間的負(fù)荷,提高效率。是Oracle 10g新添加的表空間。TEMP 暫時表空間,存放暫時表和暫時數(shù)據(jù),用于排序。USERS 用戶表空間,存放永久性用戶對象及私有信息,也稱數(shù)據(jù)表空間

12、。留意:每一個數(shù)據(jù)庫都應(yīng)該有一個用戶表空間,以便在創(chuàng)建用戶時分配給用戶,否那么用戶的數(shù)據(jù)將會運(yùn)用SYSTEM表空間。UNDOTBS1 重做表,段 Segment段數(shù)據(jù)表段索引段暫時段回退段段是表空間的下一個邏輯單位,是表空間中一個指定類型的邏輯存儲構(gòu)造,它由一個或多個區(qū)組成,段將占用并增長存儲空間。分類如下 :區(qū)(extent) 區(qū)(Extent)是由物理上延續(xù)存放的塊構(gòu)成,區(qū)是Oracle存儲分配的最小單位,由一個或多個塊 組成。 當(dāng)在數(shù)據(jù)庫中創(chuàng)建帶有實踐存儲構(gòu)造的方案對象如表、索引時,Oracle將為該方案對象分配假設(shè)干個區(qū),以便組成一個對應(yīng)的段來為該方案對象提供初始的存儲空間。當(dāng)段中已分

13、配的區(qū)都寫滿后,Oracle就為該段分配一個新的區(qū),以便包容更多的數(shù)據(jù)。 分配的第一個區(qū)稱初始區(qū),以后分配的區(qū)稱增量區(qū)。數(shù)據(jù)庫塊(Block)數(shù)據(jù)庫塊Database Block是數(shù)據(jù)庫運(yùn)用的I/O最小單元,又稱邏輯塊或ORACLE塊。 一個數(shù)據(jù)庫塊對應(yīng)一個或多個物理操作系統(tǒng)塊,塊的大小由參數(shù)DB_BLOCK_SIZE確定。數(shù)據(jù)塊的大小是操作系統(tǒng)塊大小的整數(shù)倍. 以Win2K為例,操作系統(tǒng)塊(OS block)的大小為4kb,所以O(shè)racle Block的大小可以是4kb,8kb,16kb等等。存儲構(gòu)造總結(jié)物理存儲構(gòu)造與邏輯存儲構(gòu)造之間的關(guān)系從物理上看,數(shù)據(jù)庫由控制文件、數(shù)據(jù)文件、重做日志文件

14、等操作系統(tǒng)文件組成;從邏輯上來看,數(shù)據(jù)庫是由系統(tǒng)表空間、用戶表空間等組成。表空間是最大的邏輯單位,塊是最小的邏輯單位。邏輯存儲構(gòu)造中的塊最后對應(yīng)到操作系統(tǒng)中的塊.內(nèi)存構(gòu)造Oracle內(nèi)存構(gòu)造由兩個部分組成:系統(tǒng)全局區(qū)(SGA): 在啟動例程時分配, 是Oracle例程的根底組件。程序全局區(qū)(PGA): 當(dāng)啟動效力器進(jìn)程時分配。系統(tǒng)全局區(qū)(SGA)SGA是ORACLE系統(tǒng)為實例分配的一組共享緩沖存儲區(qū),用于存放數(shù)據(jù)庫數(shù)據(jù)和控制信息,以實現(xiàn)對數(shù)據(jù)庫數(shù)據(jù)的管理和操作。 每個例程都只需一個SGA. 它是不同用戶進(jìn)程與效力進(jìn)程進(jìn)展通訊的中心,數(shù)據(jù)庫的各種操作主要在SGA中進(jìn)展,所以稱其為系統(tǒng)全局區(qū). 創(chuàng)

15、建例程時,Oracle為SGA分配內(nèi)存; 終止例程時,釋放SGA所占用的內(nèi)存.系統(tǒng)全局區(qū)SGA由以下內(nèi)存構(gòu)造組成:共享池數(shù)據(jù)高速緩存重做日志緩沖區(qū)在SGA內(nèi)可以配置以下內(nèi)存構(gòu)造:大緩沖池Java池SGA重做日志緩沖區(qū)共享池數(shù)據(jù)字典高速緩存庫高速緩存數(shù)據(jù)高速緩存Java 池大緩沖池SGA共享池用于存儲:最近執(zhí)行的SQL語句最近運(yùn)用的數(shù)據(jù)定義由兩個關(guān)鍵的內(nèi)存構(gòu)造組成:庫高速緩存數(shù)據(jù)字典高速緩存尺寸由參數(shù)SHARED_POOL_SIZE控制共享池數(shù)據(jù)字典高速緩存庫高速緩存ALTER SYSTEM SET SHARED_POOL_SIZE = 64M;庫高速緩存存儲最近解析運(yùn)用的SQL和PL/SQL語

16、句信息 Oracle 在執(zhí)行用戶進(jìn)程提交的各種SQL語句、PL/SQL前要對其進(jìn)展解析包括語法解析、對象確認(rèn)、權(quán)限判別、操作優(yōu)化等并生成執(zhí)行方案,占用一定的系統(tǒng)資源。由兩個部分組成:共享SQL區(qū)共享PL/SQL區(qū)數(shù)據(jù)字典高速緩存最近運(yùn)用的對象定義集合包括數(shù)據(jù)庫文件、表、索引、列、用戶、權(quán)限和其它數(shù)據(jù)庫對象的信息在解析階段, 效力器進(jìn)程查看數(shù)據(jù)字典信息以解析對象名數(shù)據(jù)字典緩存信息到內(nèi)存,以提高查詢和DML呼應(yīng)時間尺寸由共享池尺寸確定數(shù)據(jù)高速緩存存儲從數(shù)據(jù)文件檢索的數(shù)據(jù)塊副本經(jīng)過LRU算法管理DB_BLOCK_SIZE確定了緩沖區(qū)數(shù)據(jù)塊大小數(shù)據(jù)高速緩存數(shù)據(jù)緩沖區(qū)數(shù)據(jù)文件 初次訪問數(shù)據(jù)時,Oracl

17、e將讀取磁盤上的數(shù)據(jù)文件,將數(shù)據(jù)放入數(shù)據(jù)高速緩存,再處置數(shù)據(jù); 假設(shè)數(shù)據(jù)曾經(jīng)位于數(shù)據(jù)高速緩存中時,Oracle直接操作數(shù)據(jù)。數(shù)據(jù)高速緩存的緩存塊分為三類:臟緩存塊: 存放曾經(jīng)被修正正的緩存塊. 當(dāng)SQL修正某個緩存塊中的數(shù)據(jù),那么這個緩存塊被標(biāo)志為臟緩存塊空閑緩存塊: 等待寫入數(shù)據(jù)的空閑緩存塊.命中緩存塊: 最近正在被訪問的緩存塊.管理緩存塊的列表Oracle經(jīng)過2個列表來管理上述緩存塊: 臟列表(DIRTY) 包括被修正正但尚未寫到數(shù)據(jù)文件的緩沖塊。 LRU(Least Recently Used)列表 包括空閑緩沖塊、命中緩存塊,以及還沒有移到臟列表的緩沖塊。數(shù)據(jù)高速緩存任務(wù)原理讀數(shù)據(jù)入數(shù)

18、據(jù)高速緩存之前,先在LRU中搜索空閑緩存塊;在搜索過程中假設(shè)發(fā)現(xiàn)臟緩存塊,那么將其移入DIRTY;找到足夠的空閑塊,將一切數(shù)據(jù)讀入;3,假設(shè)空閑塊缺乏,那么暫停搜索,Oralce立刻啟動DBWR進(jìn)程,將DIRTY中的臟緩存塊數(shù)據(jù)寫入數(shù)據(jù)文件釋放足夠的空閑緩存塊。數(shù)據(jù)庫寫進(jìn)程重做日志緩沖區(qū)記錄一切數(shù)據(jù)塊變化。當(dāng)執(zhí)行DML, 如:update、delete、insert或者create、alter、drop 等語句時,Oracle都會為這些操作生成重做記錄.主要目的是恢復(fù)Oracle總是先記錄日志、后記錄數(shù)據(jù)由LOG_BUFFER初始化參數(shù)定義重做日志緩沖區(qū)重做日志高速緩存任務(wù)原理日志寫進(jìn)程歸檔進(jìn)

19、程為提高效率,重做記錄并不直接寫入磁盤的重做日志文件,而是先寫入重做日志緩存;當(dāng)重做日志緩存中的重做記錄到達(dá)一定數(shù)量時,由LGWR進(jìn)程寫入重做日志.(先內(nèi)存后磁盤)當(dāng)2個(至少2個)重做日志切換時,由ARCH將重做日志中的數(shù)據(jù)寫入歸檔日志文件,以做備份.大池 大池用于需求大內(nèi)存操作提供相對獨立的內(nèi)存空間,以便提高性能。 大池是可選的內(nèi)存構(gòu)造。 DBA可以決議能否需求在SGA中創(chuàng)建大池。 需求大池的操作: 數(shù)據(jù)庫備份和恢復(fù) 大量排序的SQL語句 并行化的數(shù)據(jù)庫操作Java池8i以后提供的對Java的支持,用于存放Java代碼、Java程序等.普通不小于20M,以便虛擬機(jī)運(yùn)轉(zhuǎn).尺寸由JAVA_PO

20、OL_SIZE控制程序全局區(qū)PGA為每個銜接到數(shù)據(jù)庫的用戶進(jìn)程預(yù)留內(nèi)存當(dāng)建立效力器進(jìn)程時分配當(dāng)終止效力器進(jìn)程時釋放只能由一個進(jìn)程運(yùn)用用戶進(jìn)程PGA效力器進(jìn)程進(jìn)程構(gòu)造Oracle運(yùn)用各種類型進(jìn)程:用戶進(jìn)程: 當(dāng)用戶懇求銜接到Oracle server時啟動效力進(jìn)程: 銜接到例程,并且當(dāng)用戶建立會話時啟動后臺進(jìn)程: 當(dāng)啟動例程時啟動用戶進(jìn)程懇求與Oracle server交互的程序必需首先建立銜接不會與Oracle server直接交互數(shù)據(jù)庫用戶效力進(jìn)程用戶進(jìn)程建立銜接效力器進(jìn)程直接與Oracle server交互的程序完成調(diào)用并前往結(jié)果可以是公用的或者共享的建立銜接建立會話數(shù)據(jù)庫用戶用戶進(jìn)程效力器進(jìn)程Oracle server后臺進(jìn)程作用:維護(hù)并加強(qiáng)物理構(gòu)造和內(nèi)存構(gòu)造的關(guān)系。必需后臺進(jìn)程:DBWnPMONCKPTLGWRSMON可選后臺進(jìn)程:ARCnLMDn QMNnCJQ0LMON RECODnnnLMS SnnnLCKnPnnnDBWn例程SGA控制文件數(shù)據(jù)文件重做日志數(shù)據(jù)庫DBWn數(shù)據(jù)高速緩存1. 作用 把Database buffer cache中的臟數(shù)據(jù)

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論