數(shù)據(jù)庫管理員手冊樣本_第1頁
數(shù)據(jù)庫管理員手冊樣本_第2頁
數(shù)據(jù)庫管理員手冊樣本_第3頁
數(shù)據(jù)庫管理員手冊樣本_第4頁
數(shù)據(jù)庫管理員手冊樣本_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《Oracle8i數(shù)據(jù)庫管理員手冊》讀書筆記第1章Oracle體系構(gòu)造//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-2-1111:31數(shù)據(jù)塊緩區(qū)和SQL共享池(SharedSQLPool)是SGA中最大某些,普通占分派給SGA內(nèi)存95%以上。通過減少對數(shù)據(jù)文獻I/O次數(shù),這些存儲區(qū)域可以改進數(shù)據(jù)庫性能。//===============================================================-2-1111:45Oracle數(shù)據(jù)庫構(gòu)造可分為三個范疇: .數(shù)據(jù)庫內(nèi)部構(gòu)造(如表)。 .存儲區(qū)內(nèi)部構(gòu)造(涉及共享存儲區(qū)和進程)。 .數(shù)據(jù)庫外部構(gòu)造。//===============================================================-2-1111:53顧客SYS和SYSTEM所擁有表被稱為數(shù)據(jù)字典表(datadictionarytable),數(shù)據(jù)字典表提供一種數(shù)據(jù)庫用來管理自己系統(tǒng)目錄。數(shù)據(jù)字典由Oracle提供一組目錄腳本文獻創(chuàng)立。每當安裝或升級一種數(shù)據(jù)庫時,都需要使用創(chuàng)立或修改數(shù)據(jù)字典表腳本文獻。當在數(shù)據(jù)庫中安裝一種新選項時,也許要運營此外某些附加目錄腳本文獻。//===============================================================//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-2-131:31在Oracle8中,當把一種大表提成若干小表時,可以規(guī)定某些范疇供數(shù)據(jù)庫使用。這些稱作分區(qū)(partition)小表比大表管理更加簡樸。例如,可以截斷(truncate)一種分區(qū)數(shù)據(jù)而不截斷其她分區(qū)數(shù)據(jù)。Oracle將把分區(qū)表看作一種大表,但可以把這些分區(qū)作為某些獨立對象來管理。//===============================================================-2-131:31顧客SYS擁有數(shù)據(jù)字典表,這些表存儲了數(shù)據(jù)庫中其她構(gòu)造所有信息;顧客SYSTEM擁有訪問數(shù)據(jù)字典表視圖,這些視圖供數(shù)據(jù)庫中其她顧客使用。//===============================================================-2-131:31顧客帳號擁有對象集稱為顧客模式(schema)。//===============================================================-2-131:31在關(guān)系數(shù)據(jù)庫中,一種行物理位置無關(guān)緊要,除非數(shù)據(jù)庫需要找到它。為了能找到數(shù)據(jù),表中每一行均用一種RowID來標記。RowID告訴數(shù)據(jù)庫這一行精確位置(指出行所在文獻、該文獻中塊、該塊中行地址)。注意索引構(gòu)造表沒有老式OracleRowID,但是,其主鍵起一種邏輯RowID作用。//===============================================================-2-131:31索引是一種供服務器在表中迅速查找一種行數(shù)據(jù)庫構(gòu)造。索引有三種形式:簇索引、表索引和位映射索引。簇索引把簇核心字值存儲在簇中;下面一小節(jié)將對簇用途進行詳細描述。表索引除了擬定行物理位置(RowID)外,還存儲表行值。位映射索引是表索引一種特殊形式,用于支持對大表進行查詢(這些大表很少有不同值列)。每一種索引條目都由一種鍵值和RowID構(gòu)成。可以索引一種列或一組列,Oracle用B*樹(B*-tree)機制存儲索引條目,以保證用最短途徑訪問鍵值。當一種查詢訪問索引時,就能找到與查詢條件相匹配索引條目。與條目相匹配RowID值向Oracle提供有關(guān)行物理位置,以減輕定位數(shù)據(jù)所需要I/O承擔。//===============================================================-2-131:51視圖定義(涉及作為基本查詢、列安排、授予權(quán)限)存儲在數(shù)據(jù)字典中。//===============================================================//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-2-150:34函數(shù)、軟件包和過程源代碼被存儲在數(shù)據(jù)字典表中。//===============================================================-2-150:36觸發(fā)器分為兩種類型: .語句觸發(fā)器:對每一種觸發(fā)語句觸發(fā)一次。 .行觸發(fā)器:對受語句影響表中每一種行觸發(fā)一次。//===============================================================-2-1523:29對于Oracle8,可以創(chuàng)立INSTEADOF觸發(fā)器。INSTEADOF觸發(fā)器執(zhí)行一種代替操作來代替觸發(fā)器操作。也就是說,如果對表創(chuàng)立一種INSTEADOFINSERT觸發(fā)器,將執(zhí)行觸發(fā)器代碼且絕不會浮現(xiàn)引起觸發(fā)器執(zhí)行insert操作。//===============================================================-2-1523:30公用同義詞由一種特定數(shù)據(jù)庫所有顧客共享;私有同義詞只被數(shù)據(jù)庫各個顧客帳號所有者所擁有。//===============================================================-2-1523:30由于索引或觸發(fā)器只能在表操作過程中被數(shù)據(jù)庫訪問,因此沒有針對索引或觸發(fā)器訪問權(quán)限。//===============================================================-2-1523:39段由稱作盤區(qū)(extent)某些鄰接Oracle塊集合構(gòu)成。一旦段中既有盤區(qū)不能再容納新數(shù)據(jù),該段將獲取此外盤區(qū)。如果需要話,這種擴展將持續(xù)下去,直到表空間數(shù)據(jù)文獻中沒有自由空間或者已達到每個段內(nèi)部盤區(qū)最大數(shù)量為止。如果一種段中有各種盤區(qū),將無法保證這些盤區(qū)連接在一起。//===============================================================-2-1523:40當你撤除一種段時,該段所使用盤區(qū)就成為自由盤區(qū)。Oracle可以重新把這些自由盤區(qū)用于新段或既有段擴展。//===============================================================-2-1523:42Oracle用數(shù)據(jù)庫中回滾段來提供一種前映像數(shù)據(jù)。//===============================================================-2-1523:45顯形圖在構(gòu)造上與快照非常相似。它存儲基于一種基本查詢復制數(shù)據(jù)。快照普通存儲來自遠程數(shù)據(jù)庫數(shù)據(jù),而顯形圖普通則存儲從當前數(shù)據(jù)庫中復制數(shù)據(jù)。//===============================================================//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-2-160:01普通,數(shù)據(jù)塊緩存區(qū)只是數(shù)據(jù)庫大小1%~2%,Oracle使用近來至少使用(LRU,leastrecentlyused)算法來管理可用空間。//===============================================================-2-160:04數(shù)據(jù)字典緩存區(qū)通過近來至少使用(LRU)算法來管理。字典緩存區(qū)大小由數(shù)據(jù)庫內(nèi)部管理。字典緩存區(qū)是SQL共享池一某些,共享池大小由數(shù)據(jù)庫文獻init.ora中SHAREDPOOL-SIZE參數(shù)來設立。//===============================================================-2-160:10重做項描述對數(shù)據(jù)庫進行修改。它們寫到聯(lián)機重做日記文獻中,以便在數(shù)據(jù)庫恢復過程中用于向前滾動操作。//===============================================================-2-160:12在第二次運營(由任何顧客)相似SQL語句時,可以運用SQL共享池中可用語法分析信息來加快執(zhí)行速度。//===============================================================-2-160:16緩沖區(qū)數(shù)量必要至少比LRU鎖存器數(shù)量多50倍。//===============================================================-2-160:19當啟動一種數(shù)據(jù)庫時,SMON(SystemMonitor,系統(tǒng)監(jiān)控程序)進程執(zhí)行所需實例恢復操作(使用聯(lián)機重做日記文獻),它也可以清除數(shù)據(jù)庫,取消系統(tǒng)不再需要事務對象。SMON另一種用途是:將鄰接自由盤區(qū)構(gòu)成一種較大自由盤區(qū)。//===============================================================-2-160:26程序全局區(qū)(PGA,ProgramGlobalArea)是存儲區(qū)中一種區(qū)域,由一種Oracle顧客進程所使用,PGA中內(nèi)存不能共享。//===============================================================-2-160:26PMON(進程監(jiān)控程序)后臺進程清除失敗顧客進程,釋放顧客當時正在使用資源。//===============================================================-2-160:28DBWR(數(shù)據(jù)庫寫入程序)后臺進程負責管理數(shù)據(jù)塊緩存區(qū)及字典緩存區(qū)內(nèi)容。它以批方式把修改塊從SGA寫到數(shù)據(jù)文獻中。//===============================================================-2-160:31如果創(chuàng)立各種DBWR進程,這些進程就不叫做DBWR,它們將有一種數(shù)字分量。例如,如果創(chuàng)立5個DBWR進程,進程操作系統(tǒng)名就也許是DBW0、DBW1、DBW2、DBW3和DBW4。//===============================================================-2-160:33LGWR(日記寫入程序)后臺進程負責把聯(lián)機重做日記緩沖區(qū)內(nèi)容寫入聯(lián)機重做日記文//===============================================================-2-160:39檢查點使DBWR把上一種檢查點后來所有已修改數(shù)據(jù)塊寫入數(shù)據(jù)文獻,并更新數(shù)據(jù)文獻頭部和控制文獻以記錄該檢查點。當一種聯(lián)機重做日記文獻被填滿時,檢查點進程會自動浮現(xiàn)??梢杂脭?shù)據(jù)庫實例init.ora文獻中LOG_CHECKPOINT_INTERVAL參數(shù)來設立一種頻繁浮現(xiàn)檢查點。//===============================================================-2-160:42當Oracle以ARCHIVELOG(歸檔日記)模式運營時,數(shù)據(jù)庫在開始重寫重做日記文獻之前先對其進行備份。//===============================================================-2-160:43RECO(恢復進程)后臺進程用于解決分布式數(shù)據(jù)庫中故障問題。//===============================================================//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-2-1720:03Oracle保存所有數(shù)據(jù)庫事務日記。這些事務被記錄在聯(lián)機重做日記文獻(onlineredologfile)中。//===============================================================-2-1720:10一種Oracle數(shù)據(jù)庫最簡樸形式由下列組件構(gòu)成: .一種或各種數(shù)據(jù)文獻。 .一種或各種控制文獻。 .兩個或各種聯(lián)機重做日記文獻。//===============================================================-2-1720:12數(shù)據(jù)庫內(nèi)部構(gòu)造涉及: .多顧客/模式。 .一種或各種回滾段。 .一種或各種表空間。 .數(shù)據(jù)字典表。 .顧客對象(表、索引、視圖等)。//===============================================================-2-1720:14訪問數(shù)據(jù)庫服務器最小構(gòu)成如下: .一種SGA(其中涉及數(shù)據(jù)塊緩存區(qū)、重做日記緩存區(qū)、SQL共享池)。 .SMON后臺進程。 .PMON后臺進程。 .DBWR后臺進程。 .LGWR后臺進程。 .CKPT后臺進程。 .與PGA有關(guān)聯(lián)顧客進程。//===============================================================-2-1720:15全系統(tǒng)導出通慣用于消除數(shù)據(jù)庫中碎片。//===============================================================-2-1720:18對數(shù)據(jù)庫進行物理備份有兩種方式可供選取:聯(lián)機備份(onlinebackup)和脫機備份(offlinebackup)。//===============================================================-2-1720:23在聯(lián)機備份期間,先將表空間暫時置于一種備份狀態(tài),當文獻備份完畢后,再將表空間恢復為正常狀態(tài)。//===============================================================//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-2-1720:36Oracle8中LOB存儲區(qū)隱式采用1:1關(guān)系存儲LOB數(shù)據(jù)。如果LOB數(shù)據(jù)大小超過一種閾值,它就與基表分開存儲。//===============================================================-2-1720:50Oracle7.3之后版本提供了OracleEnterpriseManager(OEM,Oracle公司管理器)—圖形顧客界面(GUI)工具。//===============================================================第2章硬件配備研究//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-2-1721:04數(shù)據(jù)庫服務器(也叫做實例)由一組內(nèi)存構(gòu)造和訪問數(shù)據(jù)庫文獻后臺進程構(gòu)成。//===============================================================//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-2-1920:36對于Net8通信接受與解決,主機必要運營一種稱作listener(監(jiān)聽器)進程,這個監(jiān)聽器必要在與數(shù)據(jù)庫通信關(guān)于每一種主機上運營。//===============================================================-2-1920:40數(shù)據(jù)庫鏈接不能用于從LONG數(shù)據(jù)類型字段返回數(shù)值。//===============================================================//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-2-2223:48三層構(gòu)造是客戶機/服務器模型一種擴展。每一層功能都視你實現(xiàn)而定,普通這三層安排如下:.客戶機,用于提供應用程序。.應用程序服務器,用于應用程序業(yè)務邏輯解決。.數(shù)據(jù)庫服務器,用于數(shù)據(jù)存儲和檢索。//===============================================================-2-2223:54可以使用OracleTransparentGateway(透明網(wǎng)關(guān))從你數(shù)據(jù)庫中訪問非Oracle數(shù)據(jù)庫。每種被訪問數(shù)據(jù)庫引擎需要一種獨立網(wǎng)關(guān)。網(wǎng)關(guān)在被訪問數(shù)據(jù)源主機上運營。例如,如果源數(shù)據(jù)存儲在一種AS/400數(shù)據(jù)庫上,則AS/400OracleTransparentGateway軟件就安裝在AS/400服務器上。執(zhí)行時,網(wǎng)關(guān)軟件在源服務器上創(chuàng)立一種監(jiān)聽器,其作用與SQL*Net/Net8監(jiān)聽器同樣。如果有一種顧客名和這個數(shù)據(jù)庫口令,就可以訪問AS/400數(shù)據(jù)庫中特定數(shù)據(jù)對象。//===============================================================第3章數(shù)據(jù)庫邏輯設計//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-2-230:12為了在數(shù)據(jù)庫中高效地分布對象,必要一方面建立一種分類系統(tǒng)。數(shù)據(jù)庫中邏輯對象必要依照它們使用方式及其物理構(gòu)造對數(shù)據(jù)庫影響來進行分類。這種分類過程涉及將索引與表分開,將低活動性表與高活動性表分開。盡管對象活動量只能在產(chǎn)品使用時擬定,但頻繁使用數(shù)據(jù)表核心集普通可以分離出去。//===============================================================-2-230:15唯一能重建SYSTEM表空間辦法是重新創(chuàng)立數(shù)據(jù)庫//===============================================================-2-230:17數(shù)據(jù)字典段(Datadictionarysegment)—數(shù)據(jù)字典表物理存儲區(qū)—存儲在SYSTEM表空間中//===============================================================-2-230:21數(shù)據(jù)段(datasegment)是某些物理區(qū)域,用于存儲與表和簇有關(guān)數(shù)據(jù)。數(shù)據(jù)段經(jīng)常被數(shù)據(jù)庫訪問,也經(jīng)常執(zhí)行數(shù)據(jù)操作事務。對數(shù)據(jù)段訪問規(guī)定管理是產(chǎn)品數(shù)據(jù)庫重要目的。//===============================================================-2-230:22索引段不應與其有關(guān)表存儲在同一種表空間中,由于它們在數(shù)據(jù)管理和查詢時存在許多I/O沖突。//===============================================================-2-230:30在數(shù)據(jù)庫中,回滾段維護語句級和事務級讀一致性。//===============================================================-2-230:34暫時段(temporarysegment)是數(shù)據(jù)庫中動態(tài)創(chuàng)立對象,用以存儲大型排序操作(如selectdistinct、union、createindex等操作)中數(shù)據(jù)。由于它們動態(tài)性,因此暫時段不應與其她類型段一起存儲。//===============================================================-2-230:36如果把一種表空間指定為暫時表空間,將不能在這個表空間內(nèi)創(chuàng)立表和索引之類永久性段。此外,當有關(guān)命令結(jié)束時,不會撤除這個表空間中暫時段,只是空間管理量有所減少。//===============================================================-2-230:38普通,把SYSTEM和SYS顧客暫時表空間設立值變化成非SYSTEM表空間比較適當。//===============================================================//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-2-2322:03數(shù)據(jù)庫邏輯設計成果應當符合下述準則:.以相似方式使用段類型應當存儲在一起。.應當按照最普通使用狀況(事務大小、顧客數(shù)量、事務數(shù)量等)來設計系統(tǒng)。.應有用于例外狀況單獨區(qū)域。.應使表空間沖突最小化。.應將數(shù)據(jù)字典分離開。//===============================================================第4章數(shù)據(jù)庫物理設計//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-2-2322:55普通數(shù)據(jù)庫中90%以I/O都集中在數(shù)據(jù)(DATA)、回滾段(RBS)、系統(tǒng)(SYSTEM)、索引(INDEXES)四個表空間上。//===============================================================-2-2323:03每個數(shù)據(jù)庫至少要有兩個有效聯(lián)機重做日記文獻。//===============================================================-2-2323:12當Oracle以ARCHIVELOG模式運營時,數(shù)據(jù)庫會在重寫聯(lián)機重做日記文獻之前,對它進行拷貝。//===============================================================-2-2323:35要保證數(shù)據(jù)庫恢復能力,必要對聯(lián)機重做日記文獻進行鏡像。//===============================================================//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-2-2623:10當創(chuàng)立一種數(shù)據(jù)庫時,把數(shù)據(jù)庫提成叫作表空間(tablespace)各種邏輯區(qū)段。如第3章所述,SYSTEM表空間是創(chuàng)立第一種表空間,然后創(chuàng)立此外表空間以分別存儲不同種類數(shù)據(jù)。創(chuàng)立一種表空間時,會相應地創(chuàng)立數(shù)據(jù)文獻(datafile)以存儲數(shù)據(jù)。這些文獻及時分派在它們創(chuàng)立時指定空間。因而,在數(shù)據(jù)庫與表空間之間就存在著一對多關(guān)系,并且在表空間與數(shù)據(jù)文獻之間也存在一對多關(guān)系。一種數(shù)據(jù)庫可以有各種顧客,其中每個顧客都擁有一種模式(schema)。每個顧客模式是表和索引等數(shù)據(jù)庫邏輯對象集合。這些對象表達存儲在表空間物理數(shù)據(jù)構(gòu)造。顧客模式中對象可以存儲在各種表空間中,并且一種表空間可以包括各種模式中對象。當創(chuàng)立一種數(shù)據(jù)庫對象(如表或索引)時,可以通過顧客缺省值或特殊指令將其賦予一種表空間。這樣就會在該表空間中創(chuàng)立一種段(segment)以存儲與該對象有關(guān)數(shù)據(jù)。分派給這個段空間會始終保存著,直到該段被撤除、人工收縮或截斷。關(guān)于對分派給表、索引和簇空間進行人工收縮細節(jié),請參見本章4.9節(jié)“段空間重新分派辦法”。一種段由某些稱作盤區(qū)(extent)—某些持續(xù)Oracle塊—區(qū)段構(gòu)成。一旦既有盤區(qū)不能再存儲新數(shù)據(jù),這個段就要獲取另一種盤區(qū)。這種擴展過程將始終持續(xù)下去,直到表空間中數(shù)據(jù)文獻已沒有自由空間,或者已達到每個段最大內(nèi)部盤區(qū)數(shù)量為止。如果一種段由各種盤區(qū)構(gòu)成,則無法保證這些盤區(qū)持續(xù)性。//===============================================================-2-2623:24在表空間級設立pctincrease值為0,將影響Oracle自動合并表空間中自由空間能力。把表空間缺省pctincrease設立為一種非常低值,例如1。//===============================================================-2-2623:28表段(Tablesegment)普通也稱作數(shù)據(jù)段(datasegment),存儲著與表或簇關(guān)于行數(shù)據(jù)。每個數(shù)據(jù)段含一種標題塊,用作段空間目錄。//===============================================================-2-2623:36從數(shù)據(jù)表中刪除行對表所分派空間量沒有影響。//===============================================================-2-2623:45要最小化數(shù)據(jù)段中無用空間數(shù)量,需要調(diào)節(jié)pctfree參數(shù)。這個參數(shù)指定每一種數(shù)據(jù)塊中將保存自由空間數(shù)量。當NULL值列被更新為有數(shù)值時,或者行中其她值變化導致行長度增長時,就使用這一自由空間。pctfree參數(shù)確切設立是與應用狀況有關(guān),由于它取決于所執(zhí)行更新性質(zhì)。//===============================================================//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-2-2723:02對于暫時表,將initial和next盤區(qū)大小設為表空間大小1/20~1/50。對于這個表空間,initial和next缺省設立應當相等。將pctincrease值設為0,這樣,段將由同樣大小盤區(qū)構(gòu)成。當撤除這些段時,下一種暫時段將能重新運用這些已撤除盤區(qū)。//===============================================================-2-2723:03“暫時”表空間不能用于存儲任何永久段,只能存儲操作時創(chuàng)立暫時段。//===============================================================-2-2723:09一種表空間可以包括各種數(shù)據(jù)盤區(qū)和一種或各種自由盤區(qū)(見圖4-4a)。當一種段被撤除時,它盤區(qū)被釋放,并標記為“自由”。//===============================================================-2-2812:34可以使用altertablespace命令中coalesce子句來強制表空間合并其自由空間,如下所示:altertablespaceDATAcoalesce;這樣可以促使DATA表空間中相鄰自由盤區(qū)合并成更大自由盤區(qū)。注意這個altertablespace命令不能合并被數(shù)據(jù)盤區(qū)別隔自由盤區(qū)。合并只是對表空間內(nèi)部自由空間進行解決,并不能變化表空間整體大小。//===============================================================-2-2812:36可以用alterdatebase命令來手工擴展數(shù)據(jù)文獻,如下例所示:alterdatabasedatafile‘db05/oracle/CC1/data01.dbf’resize200M;//===============================================================-2-2812:43可以通過altertablespace命令來增長一種新數(shù)據(jù)文獻,從而使表空間具備自動擴展能力。下列程序清單中命令把一種新數(shù)據(jù)文獻添加給DATA表空間,并指定了autoextendon和maxsize為300MB:altertablespaceDATAadddatafile‘/db05/oracle/CC1/data02.dbf’size50MautoextendONmaxsize300M;要變化一種既有數(shù)據(jù)文獻屬性,可使用alterdatabase命令,如下所示: alterdatabase datafile‘/db05/oracle/CC11/data01.dbf’ autoextendON maxize300M;//===============================================================-2-2812:45移動數(shù)據(jù)文獻辦法有兩種:通過alterdatabase命令或altertablespace命令。altertablespace辦法僅用于其表空間不涉及SYSTEM、回滾段或暫時段數(shù)據(jù)文獻。alterdatabase辦法可用于所有數(shù)據(jù)文獻。alterdatabase辦法當使用alterdatabase辦法移動數(shù)據(jù)文獻時,數(shù)據(jù)文獻在實例關(guān)閉后移動。所涉及環(huán)節(jié)如下:關(guān)閉實例,使用OEM或ServerManager。使用操作系統(tǒng)命令來移動數(shù)據(jù)文獻。安裝數(shù)據(jù)庫并使用alterdatabase命令變化數(shù)據(jù)庫中文獻名。啟動實例。altertablespace辦法使用altertablespace辦法移動數(shù)據(jù)文獻時,數(shù)據(jù)文獻可以在實例運營期間移動。所涉及環(huán)節(jié)如下:設立表空間為脫機狀態(tài)。使用操作系統(tǒng)命令移動文獻。使用altertablespace命令更改數(shù)據(jù)庫中文獻名。重新設立表空間為聯(lián)機狀態(tài)。注意此辦法只合用于非SYSTEM表空間。不能用于具有活動回滾段或暫時段表空間。//===============================================================-2-2813:00聯(lián)機重做日記文獻可以在數(shù)據(jù)庫關(guān)閉時進行移動,并且通過alterdatabase命令在數(shù)據(jù)庫中重新命名。這一過程與用alterdatabase命令移動數(shù)據(jù)文獻過程非常相似。一方面,將數(shù)據(jù)庫關(guān)閉,移動聯(lián)機重做日記文獻。然后安裝數(shù)據(jù)庫,使用alterdatabase命令向數(shù)據(jù)庫告知聯(lián)機重做日記文獻新位置。這樣就可以用新位置上日記文獻打開實例。//===============================================================-2-2812:59控制文獻位置在實例init.ora文獻或config.ora文獻中指定,普通是config.ora文獻包括此信息。若要移動控制文獻,必要關(guān)閉實例,移動文獻,編輯config.ora文獻,然后再重新啟動該實例。//===============================================================-3-116:46oracle數(shù)據(jù)庫文獻由數(shù)據(jù)文獻(.dbf)、控制文獻(.ctl)、日記文獻(.log)三種文獻構(gòu)成。所有表空間數(shù)據(jù)都是放在數(shù)據(jù)文獻(.dbf)中。//===============================================================//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-2-2922:51高水位標志是段中已存儲過數(shù)據(jù)最大塊數(shù)。如果在表中插入數(shù)千行記錄,則此標志會不斷增大;如果刪除記錄,此標志卻不減少。除了撤除并重新創(chuàng)立表外,這個標志只有在發(fā)出一種truncate命令或數(shù)據(jù)段被撤除又重新創(chuàng)立時,才會被重新設立。//===============================================================-2-2923:12可以通過altercluster命令deallocateunused子句來重新分派簇中空間。同樣,可以用alterindex命令中deallocateunused子句來重新分派索引空間。但是,如下節(jié)所述,索引尚有一種選項—alterindexrebuild命令,它使你能更靈活地管理索引空間使用。//===============================================================第5章開發(fā)過程管理//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-3-111:44CONNECT角色不只予以顧客可以在數(shù)據(jù)庫中創(chuàng)立會話權(quán)限。除了CREATESESSI0N系統(tǒng)權(quán)限外,CONNECT角色還予以顧客如下權(quán)限:ALTERSESSION、CREATECLUSTER、CREATEDATABASELINK、CREATESEQUENCE、CREATESYNONYM、CREATETABLE和CREATEVIEW。然而,顧客不具備創(chuàng)立表和簇能力(這些對象都會占用數(shù)據(jù)庫空間),除非授予顧客相應表空間定額,或被授予RESOURCE角色。//===============================================================-3-111:46權(quán)限只代表了你具備做這件事資格,而能不能作還要看你能力。就如上面你有建表權(quán)限,但是由于其他條件不滿足(沒有空間能力)也不能建表。//===============================================================-3-113:18RESOURCE角色具備如下系統(tǒng)權(quán)限:CREATECLUSTER、CREATEINDEXTYPE、CREATEOPERATOR、CREATEPROCEDURE、CREATESEQUENCE、CREATETABLE、CREATETRIGGER和CREATETYPE。具備RESOURCE角色顧客也被授予UNLIMITEDTABLESPACE權(quán)限,因而這些顧客可超越為她們定義空間定額。應當把RESOURCE角色授予那些需要創(chuàng)立進程和觸發(fā)器等PL/SQL對象開發(fā)人員。如果開發(fā)人員使用了ObjectsOption(對象選項),RESOURCE角色將予以她們CREATETYPE權(quán)限,該權(quán)限容許她們創(chuàng)立和執(zhí)行類型和辦法。//===============================================================-3-113:22DBA角色擁有帶withadminoption所有系統(tǒng)權(quán)限,withadminoption意味著DBA可以授予其她顧客系統(tǒng)權(quán)限。//===============================================================-3-113:52注意連字符(-)是SQL*Plus中一種持續(xù)符號,容許一種命令跨越多行。//===============================================================//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-3-123:35當分派空間時,Oracle遵循下列內(nèi)部規(guī)則:Oracle只分派整個塊,而不分派塊某些。Oracle分派塊組,普通是5塊倍數(shù)。依照表空間中可用自由空間,Oracle可分派更大或更小塊組。//===============================================================-3-123:39必要對的設立盤區(qū)大小,而不論表中盤區(qū)數(shù)量。盤區(qū)大小真正影響性能。//===============================================================-3-123:42Oracle以兩種辦法從表中讀數(shù)據(jù):通過RowID(普通直接跟在一種索引訪問后)和通過全表掃描。如果通過RowID來讀數(shù)據(jù),那么表中盤區(qū)數(shù)就不是讀性能一種因素。Oracle將從其物理位置(按RowID)讀取每一行并檢索數(shù)據(jù)。如果通過全表掃描讀取數(shù)據(jù),那么盤區(qū)大小也許會影響性能。當通過全表掃描讀取數(shù)據(jù)時,Oracle將每次讀出各種塊。每次讀取塊數(shù)通過init.ora參數(shù)DB_FILE_MULTIBLOCK_READ_COUNT來設立并受操作系統(tǒng)I/O緩沖區(qū)大小限制。例如,如果數(shù)據(jù)庫塊大小是4KB,操作系統(tǒng)I/O緩沖區(qū)大小是64KB,那么在全表掃描時每次最多可讀取16塊。在這種狀況下,把DB_FILE_MULTIBLOCK_READ_COUNT值設立為不不大于16不會變化全表掃描性能。//===============================================================-3-123:45因而,要避免為盤區(qū)大小付出性能代價,必要選取如下兩種方略之一:創(chuàng)立明顯不不大于I/O容量盤區(qū)。如果盤區(qū)非常大,雖然盤區(qū)大小不是I/O緩沖區(qū)大小倍數(shù),也只需要很少附加讀操作。創(chuàng)立其大小是操作系統(tǒng)I/O緩沖區(qū)大小倍數(shù)盤區(qū)。//===============================================================-3-123:50當撤除一種段時,其盤區(qū)就被加回可用自由盤區(qū)池中。必要時其她段可分派撤除盤區(qū)。如果使用一致盤區(qū)大小,Oracle就更有也許重新使用撤除盤區(qū),因而更有效地運用表空間中空間。//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-3-56:34Oracle并不總是在主表外存儲LOB數(shù)據(jù)。普通狀況下,如果LOB數(shù)據(jù)不超過4KB長,就不在主表外存儲LOB數(shù)據(jù)。//===============================================================-3-56:42當查詢抽象數(shù)據(jù)類型屬性時,必要使用該表名有關(guān)變量。//===============================================================//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-3-712:32當創(chuàng)立同義詞時,Oracle并不檢查正為其創(chuàng)立同義詞對象有效性。如果創(chuàng)立synonymxfory,Oracle將不檢查該“y”與否是有效對象名或有效對象類型。只有通過同義詞訪問該對象時,才檢查該對象通過同義詞訪問有效性。//===============================================================-3-712:34不能創(chuàng)立公共數(shù)據(jù)類型,也不能創(chuàng)立數(shù)據(jù)類型公共同義詞。因而,需要引用數(shù)據(jù)類型擁有者,或者在每個能在數(shù)據(jù)庫中創(chuàng)立表帳戶之下創(chuàng)立這個數(shù)據(jù)類型。這兩者都不是數(shù)據(jù)類型管理問題簡樸解決辦法。//===============================================================//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-3-1217:47要撤除一種列,可使用altertable命令中setunused子句或drop子句。不能撤除偽列、嵌套表中列或分區(qū)鍵列。//===============================================================-3-1217:49如果撤除列是主鍵一某些或唯一約束,那么還必要使用cascadeconstraints子句作為altertable命令一某些。如果撤除一種屬于主鍵列,Oracle就將同步撤除該列和該主鍵索引。//===============================================================第6章多數(shù)據(jù)庫監(jiān)控//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-3-1611:34對于數(shù)據(jù)庫監(jiān)控方式,必要考慮到它們特殊構(gòu)造和用途。監(jiān)控重點應當放在揭示系統(tǒng)執(zhí)行中問題上,而不是放在跟蹤問題征兆上。//===============================================================-3-1611:37監(jiān)控重點應當放在揭示系統(tǒng)執(zhí)行中問題上,而不是放在跟蹤問題征兆上。撲滅賓館中一場火災會引起注重滅火裝置。但這并不意味著這個賓館后來就不會發(fā)生火災。要弄清晰導致系統(tǒng)浮現(xiàn)問題癥結(jié);否則,只是看到問題表面現(xiàn)象,而依然留下潛在禍因。要避免這種DBA滅火模式,需要做好如下4點:相應用程序如何使用數(shù)據(jù)庫要有定義完好合同。一種構(gòu)造完美數(shù)據(jù)庫。一套測定數(shù)據(jù)庫狀態(tài)度量原則。進行測量與決定發(fā)展趨勢一種系統(tǒng)辦法。//===============================================================-3-1611:40不但應當對表空間中當前可用自由空間進行監(jiān)控,還應對可用空間變化趨勢進行監(jiān)控—當前可用自由空間比一星期前可用空間是多還是少。必要可以擬定當前空間分派效率及對將來預測。//===============================================================-3-1611:43當暫時段建立時,其存儲參數(shù)不會因表空間缺省存儲參數(shù)變化而變化。暫時段隨需要而自我擴展,當操作完畢或遇到錯誤時就自行丟棄。//===============================================================-3-1611:44每一種發(fā)生在數(shù)據(jù)庫內(nèi)事務都包括著回滾段。它們使數(shù)據(jù)庫能在多事務解決之間保持讀一致性??捎没貪L段數(shù)量和大小在數(shù)據(jù)庫創(chuàng)立時由DBA擬定,但后來不能修改。//===============================================================-3-1611:45單獨一種事務不能跨越各種回滾段。//===============================================================-3-1611:48數(shù)據(jù)庫中每一種段均有一種容許最大盤區(qū)數(shù)量。自Oracle7.3起,可以規(guī)定段最大盤區(qū)數(shù)量不受限制。如果段最大盤區(qū)數(shù)量設立為不受限制,則可以由數(shù)據(jù)庫塊大小來決定盤區(qū)最大數(shù)量。對于一種2048字節(jié)塊,段最多可達121個盤區(qū);對4096字節(jié)塊,盤區(qū)最大數(shù)量為249。//===============================================================-3-1611:50若要將pctincrease為0影響降至最低限度,可以在夜間運營一種腳本文獻以合并表空間自由空間。//===============================================================-3-1611:51如果表空間pctincrease缺省值不是0,Oracle自動將相鄰自由盤區(qū)合并為一種大盤區(qū)。但是自由盤區(qū)也許被其她數(shù)據(jù)盤區(qū)物理地分開,阻礙它們與其她自由盤區(qū)合并。//===============================================================//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-3-2115:23Oracle數(shù)據(jù)字典中值是近來一次對對象分析值,如果要得到當前狀態(tài),就需要對對象重新進行分析//===============================================================第7章回滾段管理/>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-3-221:14SQLrollback命令使顧客能撤除對數(shù)據(jù)庫所做事務。這種功能對任何update、insert或者delete事務均有效;但對數(shù)據(jù)庫對象變動則無能為力(如altertable命令)。當選取其她顧客正在變化數(shù)據(jù)時,Oracle使用回滾段來展示變動前數(shù)據(jù)。//===============================================================-3-221:17第一種回滾段被稱為SYSTEM,它存儲在SYSTEM表空間中。接下來回滾段普通也在此外至少一種表空間中創(chuàng)立。//===============================================================-3-221:19回滾段條目(rollbacksegmententry)是“前”映像數(shù)據(jù)塊集合,具有被一種事務修改數(shù)據(jù)行。每個回滾段條目必要完整地包括在回滾段內(nèi)。一種回滾段可以支持各種回滾段條目。//===============================================================-3-221:25數(shù)據(jù)庫按照循環(huán)(round-robin)方式,向產(chǎn)品回滾段分派回滾段條目。//===============================================================-3-221:27SYSTEM回滾段不會在init.ora文獻中列出,并且SYSTEM回滾段不能被撤除;它總是同實例能獲得其她回滾段一起被獲取。//===============================================================-3-221:30可以用settransaction命令指定一種事務解決應使用回滾段。但應在實行大事務解決前使用這個命令,以保證這個事務解決使用為它們特別創(chuàng)立回滾段。//===============================================================-3-221:35一旦一種事務完畢,它數(shù)據(jù)不會從回滾段中刪除。舊回滾數(shù)據(jù)保存在回滾段中,以便對提交前開始執(zhí)行事務和查詢提供服務。//===============================================================-3-221:45可以對回滾段進行收縮??梢杂胊lterrollbacksegment命令中shrink子句,將回滾段收縮到想要大小。若沒有指定收縮尺寸,回滾段將收縮到其optimal值。但不能把回滾段收縮到不大于兩個盤區(qū)。//===============================================================/>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-3-231:02關(guān)閉數(shù)據(jù)庫將會復位V$ROLLSTAT表中記錄值。//===============================================================-3-231:25高效管理回滾段核心因素是使非激活、但正在被使用(IIU)條目數(shù)據(jù)至少。//===============================================================/>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-3-251:52Oracle建議每個回滾段含4個事務。//===============================================================-3-251:55回滾段optimal值必要適合事務量及管理事務所需系統(tǒng)開銷。這種設計也應當能在一種盤區(qū)中解決大多數(shù)事務。因而,回滾段中事務數(shù)量應按盤區(qū)預計。每一種回滾段所需盤區(qū)數(shù)量為:每個回滾段盤區(qū)數(shù)=每盤區(qū)中小事務數(shù)+((長事務覆蓋數(shù)+1)×平均長事務數(shù))//===============================================================-3-251:58回滾段optimal值及optimal存儲參數(shù)值為:optimal=(每回滾段最小數(shù)據(jù)盤區(qū)數(shù)+回滾段頭盤區(qū)+未激活但正使用+自由空間盤區(qū))×盤區(qū)尺寸//===============================================================-3-252:11當使用OracleImport實用程序時,它缺省功能是為每個表數(shù)據(jù)執(zhí)行一次提交。要支持這一點,就需要有與該數(shù)據(jù)表同尺寸一種回滾段。//===============================================================-3-252:12數(shù)據(jù)裝載事務必要指定給回滾段??梢允褂胹ettransactionuserollbacksegmentSEGMENTS_NAME;命令,或者除了只保存一種回滾段為激活狀態(tài)外,使所有其她回滾段都變成非激活狀態(tài)(在非峰值期)。使用本章前面提到V$ROLLSTAT查詢來測量數(shù)據(jù)裝載事務大小。//===============================================================-3-252:17若要為一種OLTP數(shù)據(jù)庫配備回滾段,必要一方面擬定數(shù)據(jù)庫中并發(fā)顧客數(shù)量。如果有一種數(shù)據(jù)庫,就可以查詢V$LICENSE視圖Sessions_Highwater列,查看最后一次啟動數(shù)據(jù)庫以來達到最大并發(fā)顧客數(shù)量。selectsessions_highwaterfromv$license;//===============================================================-3-252:27以顧客為中心表設計不同于以理論為中心表設計,它將產(chǎn)生一種能較好滿足顧客需求系統(tǒng)。設計選項涉及將一種表提成幾種表,也同樣涉及將幾種表合并成一種表。重點應放在向顧客提供一種能按她們規(guī)定格式訪問數(shù)據(jù)最直接途徑。//===============================================================第8章數(shù)據(jù)庫調(diào)節(jié)/>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-3-260:59通過DBA_SOURCE視圖中Text(文本)列,可以查看一種數(shù)據(jù)庫中所有過程SQL文本。USER_SOURCE視圖將顯示顧客所擁有過程。這些視圖引用SYS.SOURCE$表。由于這個表是數(shù)據(jù)字典一某些,因此過程代碼就存儲在SYSTEM表空間中。因而,如果使用這些對象,就必要保證給SYSTEM表空間分派更多空間—普通是它兩倍。//===============================================================-3-261:01在大多數(shù)Oracle表中,每個行均有與行有關(guān)RowID(行標志)。RowID具關(guān)于于行物理位置信息(行文獻、文獻中數(shù)據(jù)塊、數(shù)據(jù)塊中行)。Oracle7和Oracle8中RowID格式截然不同。//===============================================================/>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-3-2917:31若要分析一種模式中所有對象,可以使用DBMS_UTILITY軟件包中ANALYZE_SCHEMA過程。下面例子中具有兩個參數(shù):模式名稱和analyze選項(COMPUTE或ESTIMATE):executeDBMS_UTILITY.ANALYZE_SCHEMA('SCOTT','COMPUTE');當執(zhí)行上面例子中命令時,將使用analyze命令computestatistics選項對屬于APPOWNER模式所有對象進行分析。//===============================================================-3-2917:34可以對一種表各個分區(qū)進行分析。例如,如果表TAB1有一種PART1分區(qū),可以通過下列命令來分析該分區(qū):analyzetableTAB1partition(PART1)computestatistics;//===============================================================-3-2917:45段類型涉及TABLE、INDEX、CLUSTER、ROLLBACK、TEMPORARY、DEFERREDROLLBACK和CACHE。//===============================================================-3-2918:50若啟動SMON進程合并這些盤區(qū),就應將表空間pctincrease值設為非零。在下面例子中,將DEMONDX表空間缺省存儲參數(shù)pctincrease設為1:altertablespaceDEMONDXdefaultstorage(pctincrease1);若要手工合并表空間自由盤區(qū),請使用altertablespace命令coalesce選項。altertablespaceDEMONDXcoalesce;//===============================================================/>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-4-218:04創(chuàng)立各種DBWR從進程

溫馨提示

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

評論

0/150

提交評論