版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
4.4ORACLE數(shù)據(jù)庫規(guī)劃與實施ORACLE為信息系統(tǒng)提供了一個開放、綜合、集成的方法。使用ORACLE數(shù)據(jù)庫進行信息系統(tǒng)開發(fā)的步驟可以歸納為如下過程:建ORACLE數(shù)據(jù)庫建表空間建回滾段建用戶建數(shù)據(jù)庫對象開發(fā)本節(jié)介紹ORACLE數(shù)據(jù)庫的規(guī)劃與實施:4.4.1數(shù)據(jù)庫應用程序類型4.4.4ORACLE對象設計4.4.2ORACLE空間設計4.4.5DBA工具4.4.3ORACLE安全設計北京郵電大學軟件學院郭文明2003.064.4.1數(shù)據(jù)庫應用程序類型規(guī)劃和配置數(shù)據(jù)庫,需要知道將要操作數(shù)據(jù)庫的事務有什么,這些事務訪問數(shù)據(jù)庫的頻率有多大。針對不同的事務訪問情形,對內(nèi)存的要求不同,磁盤I/O操作的情形也不同。只有設置合適的ORACLE實例,才能使數(shù)據(jù)庫應用系統(tǒng)獲得快速、準確、可靠的事務響應。ORACLE既可以設置成處理長的密集型事務的系統(tǒng),也可以設置成處理大量的小型快速事務的系統(tǒng)。有三種通用的數(shù)據(jù)庫設置類型:聯(lián)機事務處理(OLTP)決策支持系統(tǒng)(DSS)批量作業(yè)系統(tǒng)混合系統(tǒng)北京郵電大學軟件學院郭文明2003.064.4.1數(shù)據(jù)庫應用程序類型聯(lián)機事務處理(OLTP)OLTP系統(tǒng)是一個包含繁重DML的應用,其面向事務的活動主要包括更新,但也包括一些插入和刪除。典型的例子是用于航空公司和旅館的預定系統(tǒng)。OLTP系統(tǒng)可以允許有很高的并發(fā)性。
OLTP的特點是有大量短的事務高頻率地訪問數(shù)據(jù)庫,每一個事務操作的數(shù)據(jù)量不是很多,但事務比較頻繁,而且要求數(shù)據(jù)庫響應事務的速度快。一般來說OLTP系統(tǒng)需要24*7地響應對數(shù)據(jù)庫的請求。根據(jù)這些要求,我們應該從以下幾方面考慮:1)大量的小回滾段。因為事務都不太大,對回滾段空間的需求不可能很大,但事務數(shù)量多,引發(fā)回滾段數(shù)量的增大。應該創(chuàng)建大量小的回滾段,把事務對回滾段的爭用減到最小。標準的配置可以考慮每四個活動事務用一個回滾段,每個事務接受一個區(qū)間。北京郵電大學軟件學院郭文明2003.064.4.1數(shù)據(jù)庫應用程序類型聯(lián)機事務處理(OLTP)2)OLTP應用的表可能插入或者刪除記錄,所以存放易變表和索引的表空間應被分配到它們最大的期望容量。3)適當?shù)墓烙嬛貙懭罩揪彌_區(qū)和日志文件大小,減少日志寫和日志切換的頻率,盡可能降低對響應事務請求的影響,另外頻繁的檢查點也可能影響事務響應速度。4)擁有大型共享池。不同客戶可能執(zhí)行同樣的SQL語句,SQL在共享池中緩沖,性能可提高(應用程序的SQL語句應當統(tǒng)一,另外WHERE中使用綁定變量查詢而不是直接的值查詢,使不同值的查詢共享SQL的執(zhí)行計劃)。5)數(shù)據(jù)擁有單獨的索引。OLTP的事務請求基本在規(guī)劃設計范圍之內(nèi),建立單獨有效的索引,并在獨立的表空間中創(chuàng)建主鍵和其他索引,且存放在獨立的存儲器上。6)使用小型臨時段。需要小的排序應在內(nèi)存中完成,盡量避免OLTP系統(tǒng)對臨時段的請求進入磁盤。北京郵電大學軟件學院郭文明2003.064.4.1數(shù)據(jù)庫應用程序類型決策支持系統(tǒng)(DSS)DSS系統(tǒng)通常是一個大型的、包含歷史性內(nèi)容的只讀數(shù)據(jù)庫,通常用于簡單的固定查詢或特別查詢。夜間處理任務被認為是DSS,查詢(選擇)是DSS的主要活動。根據(jù)這些要求,我們應該從以下幾方面考慮:1)擁有少量的較大的回滾段。大型工作要創(chuàng)建大型的回滾段,使用SETTRANSACTIONUSERROLLBACKSEGMENT語句使事務強制使用專用回滾段。2)為分類排序創(chuàng)建大型臨時表空間,DSS經(jīng)常超出內(nèi)存的使用空間而從內(nèi)存轉(zhuǎn)入磁盤(臨時表空間)。3)使用較小的共享SQL區(qū)域而采用較大的數(shù)據(jù)緩沖區(qū)高速緩沖。DSS中SQL的執(zhí)行頻率并不大,無需考慮SQL語句的共享,但應增加數(shù)據(jù)庫緩沖區(qū)高速緩沖的容量,使得更多的數(shù)據(jù)塊和回滾段在內(nèi)存中高速緩沖。北京郵電大學軟件學院郭文明2003.064.4.1數(shù)據(jù)庫應用程序類型決策支持系統(tǒng)(DSS)
4)如前所述,DSS希望Oracle塊一次讀取盡可能多的行。因為DSS查詢一般觸發(fā)整個表掃描,所以希望通過讀取多個連續(xù)的塊使系統(tǒng)讀取的塊達到最大值。把DB_BLOCK_SIZE和DB_FILE_MULTIBLOCK_READ_COUNT參數(shù)設置得盡可能高些。5)運行的SQL應當刪除不必要的排序并充分利用索引,以減少對臨時表空間和回滾段的壓力。2種方法:在沒有可以選擇的良好索引時不使用任何索引或屏蔽使用某些索引(參見4.3);使用位圖索引。6)不要在DSS應用代碼中使用綁定變量。在OLTP下,希望最小化應用進程開銷(語法分析)。然而,DSS的查詢,語法分析占用整個查詢時間的比例會更小。假如使用綁定變量,優(yōu)化程序不能調(diào)用它所存儲的統(tǒng)計信息(通過ANALYZE命令)以選出存取數(shù)據(jù)的最好方法。北京郵電大學軟件學院郭文明2003.064.4.1數(shù)據(jù)庫應用程序類型批量作業(yè)系統(tǒng)批作業(yè)處理系統(tǒng)是作用于數(shù)據(jù)庫的非交互性的自動應用。它通常含有繁忙DML語句并有較低的并發(fā)性。另外還有一些其他的應用類型:OLAP(聯(lián)機分析處理)系統(tǒng)可提供分析服務。該系統(tǒng)在數(shù)學、統(tǒng)計學、集合以及大量的計算方面區(qū)別于OLTP或DSS模型。可以把OLAP看作是在OLTP系統(tǒng)或DSS之上的一個擴展或一個附加的功能層次。地理信息系統(tǒng)(GeographicInformationSystems,GIS)或有關(guān)空間的數(shù)據(jù)庫和OLAP數(shù)據(jù)庫相集成,提供圖表的映射能力。例如用于社會統(tǒng)計的人口統(tǒng)計數(shù)據(jù)庫。VCDB(可變基數(shù)數(shù)據(jù)庫),這類數(shù)據(jù)庫通常被用作一個處理系統(tǒng)的數(shù)據(jù)庫后端,這樣就會導致在數(shù)據(jù)處理期間,數(shù)據(jù)庫中的表顯著地增長或收縮?;鶖?shù)是指在一個給定時間里一個表中行的數(shù)目。北京郵電大學軟件學院郭文明2003.064.4.1數(shù)據(jù)庫應用程序類型混合系統(tǒng)混合系統(tǒng)混合了前面介紹的幾種類型。許多實際應用系統(tǒng)往往是OLTP和DSS甚至其他模型的集成。從前面OLTP和DSS的需求對比來看,OLTP和DSS的基本特征似乎相反,如何協(xié)調(diào)這兩種需求的矛盾?一般有三種解決方法:1)在一個系統(tǒng)中的OLTP和DSS之間節(jié)流,白天運行OLTP,而夜間進行批量處理。即白天運行OLTP配置的數(shù)據(jù)庫,夜間跳回DSS配置的實例。這種方法的實際操作模式可以是以下兩種:OLTP不支持24*7工作方式,DSS時不支持OLTP;DSS操作的系統(tǒng)反跳之后,OLTP可以使用,但系統(tǒng)性能將受影響。DBA需要測試DSS和服務器反跳對Web用戶的影響,必要時選擇其他解決辦法來調(diào)整系統(tǒng)服務模式。北京郵電大學軟件學院郭文明2003.064.4.1數(shù)據(jù)庫應用程序類型混合系統(tǒng)2)同時運行兩個數(shù)據(jù)庫,一個服務于OLTP,一個服務于DSS。OLTP數(shù)據(jù)庫進行實時更新,在有規(guī)則的時間間隔內(nèi),將變化傳遞給DSS數(shù)據(jù)庫。這種方法的實際操作模式可以多種。DBA可以夜間執(zhí)行部分或全部OLTP系統(tǒng)的輸出,并輸入到DSS系統(tǒng)。較好的解決方法是對實時方式下傳遞變化的連接數(shù)據(jù)庫使用復制技術(shù),將變化的數(shù)據(jù)復制記錄下來,OLTP數(shù)據(jù)庫只傳遞變化的數(shù)據(jù)給DSS數(shù)據(jù)庫。第三種方法是使ORACLE中OLTP數(shù)據(jù)庫的歸檔日志自動應用于DSS數(shù)據(jù)庫,保證DSS系統(tǒng)緊跟在OLTP系統(tǒng)之后,DSS數(shù)據(jù)庫不僅作為OLTP的備用數(shù)據(jù)庫,而且自己又獨立地服務于決策支持。盡管這種方式可能不能保證OLTP和DSS數(shù)據(jù)庫的絕對同步,但在DSS的實時性要求不是很強時,是一種很好的方法。北京郵電大學軟件學院郭文明2003.064.4.1數(shù)據(jù)庫應用程序類型混合系統(tǒng)3)在一個系統(tǒng)中同時運行OLTP和DSS。這是最普遍的解決方法。系統(tǒng)經(jīng)常作為OLTP開始活動,逐漸加入DSS需求使系統(tǒng)漸漸成為混合系統(tǒng)。在這種情況下,DBA必須在OLTP和批量處理之間尋找平衡,并且應該偏向于OLTP用戶,創(chuàng)建與OLTP同樣多的回滾段,而且要創(chuàng)建少量專門為大型事務指定的大型回滾段,同時將高速緩沖和共享池保持合理的容量,使系統(tǒng)既支持OLTP對共享池的需求又支持DSS對數(shù)據(jù)庫緩沖區(qū)高速緩沖的需求。還要確保臨時表空間夠批量排序使用,同時將OLTP排序控制在內(nèi)存中。推薦在這種情況下使用專用服務器,并且配置ORACLE并行服務器(OracleParallelServer,OPS),因為OPS允許多個實例訪問同一個物理數(shù)據(jù)庫,一個實例為OLTP配置,另一些為批量處理配置。北京郵電大學軟件學院郭文明2003.064.4.2ORACLE空空間設計計ORACLE數(shù)數(shù)據(jù)庫的的結(jié)構(gòu)包包括邏輯輯結(jié)構(gòu)和和物理結(jié)結(jié)構(gòu)。在在進行應應用系統(tǒng)統(tǒng)數(shù)據(jù)庫庫設計時時,空間間設計是是非常重重要的,,它與今今后運行行系統(tǒng)的的性能、、可用、、維護、、管理等等有密切切的關(guān)系系。物理理結(jié)構(gòu)與與邏輯結(jié)結(jié)構(gòu)之間間的關(guān)系系如下圖圖:TablespaceSegmentExtentOracleblockDatafileOSblockDatabaseLogicalPhysical北京郵電電大學軟軟件學院院郭郭文文明2003.064.4.2.1ORACLE表空空間設計計ORACLE表表空間分分為兩大大類:系系統(tǒng)表空空間和非非系統(tǒng)表表空間。。系統(tǒng)表表空間是是建庫時時自動創(chuàng)創(chuàng)建的主主要用于于存儲數(shù)數(shù)據(jù)字典典、系統(tǒng)統(tǒng)回滾段段;非系系統(tǒng)表空空間是由由用戶創(chuàng)創(chuàng)建的表表空間,,主要用用于分離離段,方方便用戶戶的數(shù)據(jù)據(jù)管理。。ORACLE推薦一一種最佳佳靈活結(jié)結(jié)構(gòu)OFA(OptimalFlexibleArchitecture)可可以用于于表空間間的設計計。OFA是是ORACLE軟件安安裝和數(shù)數(shù)據(jù)文件件的推薦薦目錄結(jié)結(jié)構(gòu)。OFA只是一一組建議議,并不不是絕對對原則。。下面介介紹基本本OFA和擴展展OFA?;綩FA1)系統(tǒng)統(tǒng)表空間間(SYSTEM)::系統(tǒng)表表空間不不具有重重建性,,只用于于存放數(shù)數(shù)據(jù)字典典,其他他內(nèi)容如如數(shù)據(jù)段段信息等等都應從從系統(tǒng)表表空間中中移出。。北京郵電電大學軟軟件學院院郭郭文文明2003.064.4.2.1ORACLE表空空間設計計基本OFA2)分離離應用程程序數(shù)據(jù)據(jù)段(DATA):應應用程序序數(shù)據(jù)段段應是一一個獨立立的表空空間,即即數(shù)據(jù)表表空間。。建立單單獨數(shù)據(jù)據(jù)表空間間的理由由是:應應用程序序與數(shù)據(jù)據(jù)文件分分離有利利于減少少資源爭爭用,簡簡化文件件管理;;另外,,當數(shù)據(jù)據(jù)段產(chǎn)生生碎片時時利于管管理。3)分離離應用程程序索引引段(INDEX)::索引段段不應與與相關(guān)的的數(shù)據(jù)段段存儲在在一個表表空間,,以免產(chǎn)產(chǎn)生資源源爭用。。由于表表增長和和不正確確的尺寸寸設置可可能產(chǎn)生生索引段段的碎片片,分離離應用程程序索引引段,可可以減少少整理數(shù)數(shù)據(jù)表或或索引碎碎片所需需的管理理代價。。從數(shù)據(jù)據(jù)表分離離相應的的索引也也可以通通過ALTERINDEX命令來來實現(xiàn)。。4)分離離工具段段(TOOLS):許許多第三三方工具具會將數(shù)數(shù)據(jù)存儲儲在系統(tǒng)統(tǒng)表空間間中,為為了避免免這種情情況,可可將它們們的對象象移出系系統(tǒng)表空空間。北京郵電大學學軟件學院郭郭文文明2003.064.4.2.1ORACLE表空空間設計基本OFA5)分離回滾滾段(RBS):回滾段段會針對巨型型事務動態(tài)擴擴展尺寸,也也會動態(tài)收縮縮到指定的優(yōu)優(yōu)化尺寸(參參見4.3))。回滾段的的I/O通常常與數(shù)據(jù)和索索引表空間的的I/O同步步。將回滾段段分離出來是是出于減少I/O沖突的的考慮。6)分離臨時時段(TEMP):臨時時段是數(shù)據(jù)庫庫中動態(tài)生成成的對象,用用來存儲巨型型排序操作((如SELECTDISTINCT,UNION,CREATEINDEX等)的數(shù)據(jù)據(jù)。由于動態(tài)態(tài)特性,臨時時段不應與其其他類型段一一起存儲。通通常,在建立立用戶時,將將這些用戶使使用的臨時數(shù)數(shù)據(jù)段設置到到臨時表空間間。7)分離用戶戶(USER):為用戶戶帳號建立一一個USER表空間,在在建立用戶時時將用戶的操操作數(shù)據(jù)放在在用戶表空間間。以上7個表空空間是最基本本的表空間,,也是傳統(tǒng)OFA的基本本組成部分。。隨著應用的的深入,又有有擴展的OFA。北京郵電大學學軟件學院郭郭文文明2003.064.4.2.1ORACLE表空空間設計擴展的OFA1)分離低使使用數(shù)據(jù)段((DATA_2):在基基表中,有一一些是動態(tài)數(shù)數(shù)據(jù),一些是是靜態(tài)數(shù)據(jù),,而動態(tài)數(shù)據(jù)據(jù)和靜態(tài)數(shù)據(jù)據(jù)常常被并發(fā)發(fā)操作。靜態(tài)態(tài)數(shù)據(jù)在實際際使用時只是是被提取信息息,可以把這這些靜態(tài)數(shù)據(jù)據(jù)表設置到一一個專用表空空間(DATA_2),從而避免并并發(fā)操作沖突突。2)分離低使使用索引段((INDEX_2):數(shù)數(shù)據(jù)表分為靜靜態(tài)表和動態(tài)態(tài)表,則索引引亦如此。對對于靜態(tài)表的的索引表應建建立靜態(tài)索引引表空間(INDEX_2)。如果果索引已經(jīng)生生成,可以使使用ALTERINDEX語句來來移動這些索索引到一個新新的表空間中中。3)分離工具具索引(TOOLS_1):如果數(shù)數(shù)據(jù)庫對TOOLS表空空間有較多的的操作,則這這些工具表索索引可以移到到另一個表空空間(TOOLS_1)),這樣TOOLS表空空間就可看成成工具數(shù)據(jù)表表空間。北京郵電大學學軟件學院郭郭文文明2003.064.4.2.1ORACLE表空空間設計擴展的OFA4)分離特殊殊回滾段(RBS_2)):RBS表表空間的回滾滾段必須有適適當?shù)拇笮『秃蛿?shù)量,以適適應應用的使使用。但大型型事務可能超超過回滾段的的配置。為了了避免這種情情況,可以設設置一個特殊殊回滾段,使使大型事務只只使用特殊回回滾段。建立立一個特殊表表空間來容納納這個特殊回回滾段。5)分離特殊殊用戶臨時段段(TEMP_USER):和特殊殊回滾段一樣樣,一些特殊殊用戶在做特特殊操作時,,可以設置一一個特殊用戶戶臨時表空間間,這樣便于于系統(tǒng)管理。。附加的特殊殊應用OFA擴展1)SNAPS:用用于快照(Snapshots)??炜煺毡硎欠址植际綌?shù)據(jù)據(jù)庫處理的的一種特殊殊表,為此此類表建立立相應的表表空間。2)PARTITIONS::用于分區(qū)區(qū)(Partition)。。分區(qū)是為為了分配I/O并且且簡化巨型型表的管理理。3)TEMP_WORK:用用于大型數(shù)數(shù)據(jù)裝載。。北京郵電大大學軟件學學院郭郭文明2003.064.4.2.2數(shù)數(shù)據(jù)文件設設置根據(jù)ORACLE數(shù)數(shù)據(jù)庫結(jié)構(gòu)構(gòu)特點,每每個表空間間至少要有有一個數(shù)據(jù)據(jù)文件,因因此,應用用系統(tǒng)的每每個表空間間均具有各各自的數(shù)據(jù)據(jù)文件。Oracle7.2以后可可以支持數(shù)數(shù)據(jù)文件大大小的重新新定義,當當表空間需需要擴充時時,不必為為其增加數(shù)數(shù)據(jù)文件,,而簡單地地將其擴充充即可,避避免了預先先分配過大大的存儲空空間及過多多數(shù)據(jù)文件件的問題。。同時可以以支持數(shù)據(jù)據(jù)文件的自自動擴展,,避免當表表空間已滿滿時,DBA手工擴擴充表空間間對用戶使使用的影響響。對于一個不不太大的數(shù)數(shù)據(jù)庫,可可以將數(shù)據(jù)據(jù)庫軟件和和數(shù)據(jù)文件件都放置在在一個磁盤盤上,將它它們設計成成不同的子子文件即可可。對于大大型數(shù)據(jù)庫庫,需要指指定哪些文文件放置在在哪個磁盤盤上。北京郵電大大學軟件學學院郭郭文明2003.064.4.2.2數(shù)數(shù)據(jù)文件設設置表空間的磁磁盤分配:一般情況下下,90%以上的I/O操作作集中在系系統(tǒng)表空間間、數(shù)據(jù)表表空間、回回滾表空間間、索引表表空間這4個表空間間上,所以以這4個表空空間應單獨獨存儲在不不同的磁盤盤上。系統(tǒng)文件的的規(guī)劃:ORACLE有聯(lián)機機日志文件件、歸檔日日志文件、、控制文件件和系統(tǒng)軟軟件文件等等,如何放放置這些系系統(tǒng)文件也也是一件重重要的任務務。1)聯(lián)機日日志文件::每個數(shù)據(jù)據(jù)庫至少要要有兩個聯(lián)聯(lián)機日志文文件,由于于聯(lián)機日志志文件中保保留了數(shù)據(jù)據(jù)庫的當前前事務,所所以它無法法從備份中中恢復,他他們是ORACLE無法用備備份工具恢恢復的唯一一文件類型型。這類文文件應單獨獨存儲。北京郵電大大學軟件學學院郭郭文明2003.064.4.2.2數(shù)數(shù)據(jù)文件設設置系統(tǒng)文件的的規(guī)劃:2)控制文文件:前面面章節(jié)已經(jīng)經(jīng)說明了控控制文件的的重要性,,每個數(shù)據(jù)據(jù)庫應當至至少有3個個控制文件件的拷貝,,它們被分分布在3個個驅(qū)動器中中。3)歸檔日日志文件::如果歸檔檔日志文件件和聯(lián)機日日志文件放放在同一個個磁盤上,,當LGWR在讀盤盤時,ARCH也在在讀同一磁磁盤,勢必必造成I/O沖突,,所以歸檔檔日志文件件和聯(lián)機日日志文件應應分盤存儲儲。4)ORACLE軟軟件:Oracle軟件是系系統(tǒng)運行的的核心,這這些軟件應應放在獨立立的磁盤上上。磁盤規(guī)劃設設計:磁盤規(guī)劃設設計可以依依據(jù)下列準準則:數(shù)據(jù)據(jù)庫必須可可恢復;必必須對聯(lián)機機日志文件件進行鏡像像;必須最最小化DBWR、LGWR、、ARCH之間的沖沖突;必須須最小化DBWR磁磁盤間的沖沖突;估計計數(shù)據(jù)庫文文件的I/O量。北京郵電大大學軟件學學院郭郭文明2003.064.4.2.2數(shù)數(shù)據(jù)文件設設置磁盤規(guī)劃設設計:在磁盤規(guī)劃劃設計過程程中需要做做一些數(shù)據(jù)據(jù)庫測量,,以估計其其I/O量量,以下給給出一參照照的7磁盤盤設計方案案:磁盤存放內(nèi)容1Oracle軟件2SYSTEM表空間,控制文件13RBS,TEMP,TOOLS表空間,控制文件24DATA表空間,控制文件35INDEX表空間6聯(lián)機日志文件1,2,3,轉(zhuǎn)儲文件7應用軟件,歸檔日志文件北京郵電大大學軟件學學院郭郭文明2003.064.4.2.2數(shù)數(shù)據(jù)文件設設置表空間與數(shù)數(shù)據(jù)文件設設置舉例::connectsystem/managercreatetablespacetsp_acctdatafile‘‘d:\oracle\oradata\orcl\apacct.dbf’size32Mreuseautoextendonnext4Mmaxsizeunlimited;createtablespacetsp_publicdatafile‘‘d:\oracle\oradata\orcl\appublic.dbf’size100Mreuseautoextendonnext16Mmaxsizeunlimited;createtablespacetsp_tempdatafile‘‘d:\oracle\oradata\orcl\aptemp.dbf’size500Mreuseautoextendonnext32Mmaxsizeunlimited;連接數(shù)據(jù)庫庫創(chuàng)建tsp_acct表空間間創(chuàng)建回滾段段表空間創(chuàng)建臨時表表空間北京郵電大大學軟件學學院郭郭文明2003.064.4.2.3段段存儲分配配設置在數(shù)據(jù)庫中中,大量使使用的段包包括表段和和索引段,,還有回滾滾段、臨時時段。表的的邏輯定義義信息放在在DBA_TABLES和DBA_TAB_COLUMNS中,,索引的定定義信息放放在DBA_INDEXS和和DBA_IND_COLUMNS中中。從存儲儲管理角度度看,表和和索引都屬屬于段,只只是類型不不同而已,,有關(guān)段及及存儲定義義的系統(tǒng)數(shù)數(shù)據(jù)字典有有DBA_SEGMENTS和DBA_EXTENTS等。在應用系統(tǒng)統(tǒng)中,對大大量使用的的段的規(guī)劃劃主要是它它們的存儲儲方案的設設計,每個段由由區(qū)間組成成。每個段段使用的空空間由它的的存儲參數(shù)數(shù)決定,在在CREATETABLE、CREATEINDEX、CREATECLUSTER、CREATE北京郵郵電大大學軟軟件學學院郭郭文文明2003.064.4.2.3段段存儲儲分配配設置置如果在在創(chuàng)建建段的的命令令中不不指定定STORAGE參參數(shù),,則使使用它它所在在表空空間的的缺省省參數(shù)數(shù)。表表空間間的存存儲參參數(shù)或或段的的存儲儲參數(shù)數(shù)設計計不合合理將將直接接影響響數(shù)據(jù)據(jù)庫的的性能能,甚甚至直直接影影響到到數(shù)據(jù)據(jù)庫的的正常常運行行。對存儲儲參數(shù)數(shù)的確確定問問題,,前面面的討討論中中已經(jīng)經(jīng)說明明,應應根據(jù)據(jù)實際際初始始數(shù)據(jù)據(jù)量的的估算算和數(shù)數(shù)據(jù)的的動態(tài)態(tài)變化化情況況以及及段的的性質(zhì)質(zhì)等多多方面面來決決定。。注意,,ORACLE數(shù)據(jù)據(jù)庫在在創(chuàng)建建回滾滾段之之后,,狀態(tài)態(tài)為脫脫機,,因此此必須須由DBA將其其狀態(tài)態(tài)改為為聯(lián)機機,方方可使使用。。北京郵郵電大大學軟軟件學學院郭郭文文明2003.064.4.2.3段段存儲儲分配配設置置段存儲儲分配配設置置舉例例:createtablepat_master(pat_idvarchar2(10),namevarchar2(8),……)pctfree10pctused60storage(initial16Mnext16Mminextents1maxextentsunlimitedpctincrease0)tablespacetsp_acct;createindexpat_master_indexonpat_master(pat_id)pctfree20storage(initial4Mnext4Mminextents1maxextentsunlimitedpctincrease0)tablespacetsp_acct;createpublicrollbacksegmentrbs_publictablespacetsp_publicstorage(initial4Mnext4M);Alterrollbacksegmentrbs_publiconline;創(chuàng)建pat_master表表創(chuàng)建pat_master_index索索引創(chuàng)建回回滾段段北京郵郵電大大學軟軟件學學院郭郭文文明2003.064.4.2.4數(shù)數(shù)據(jù)塊塊利用用設置置數(shù)據(jù)塊塊空間間利用用參數(shù)數(shù)可以以控制制表段段和索索引段段中的的空間間使用用。分分兩類類:控控制并并發(fā)性性的參參數(shù)(INITRANS和MAXTRANS)、控控制數(shù)數(shù)據(jù)空空間使使用的的參數(shù)數(shù)(PCTFREE和PCTUSED)??梢允故褂肐NITRANS和和MAXTRANS來確確定一一個數(shù)數(shù)據(jù)庫庫塊上上活動動事務務的個個數(shù)。。INITRANS是每每個塊塊的初初始化化事務務入口口數(shù),,數(shù)據(jù)據(jù)段和和索引引段的的INITRANS的缺缺省值值分別別為1和2,增增大其其值則則允許許多個個事務務同時時操作作數(shù)據(jù)據(jù)塊。。MAXTRANS是在在每個個塊的的最大大事務務入口口,缺缺省值值為最最大值值255。。北京郵電電大學軟軟件學院院郭郭文文明2003.064.4.2.4數(shù)據(jù)據(jù)塊利用用設置通過選選擇適適當?shù)牡腜CTFREE和和PCTUSED可可以提提高性性能和和空間間利用用。對對于改改動較較少的的表,,在設設置數(shù)數(shù)據(jù)塊塊空間間利用用參數(shù)數(shù)時,,PCTFREE適適當降降低。。對于于經(jīng)常常改動動的表表,尤尤其是是數(shù)據(jù)據(jù)行長長度增增加的的改動動,應應該適適當提提高PCTFREE的設設置,,以免免發(fā)生生行轉(zhuǎn)轉(zhuǎn)移。。數(shù)據(jù)據(jù)行長長度增增加這這類應應用的的一個個例子子:醫(yī)醫(yī)療信信息系系統(tǒng)中中,病病案首首頁表表中行行的信信息開開始長長度可可能不不大(許多多字段段值為為空),但但隨著著病人人住院院的過過程,,行的的信息息不斷斷增加加。北京郵郵電大大學軟軟件學學院郭郭文文明2003.064.4.3ORACLE安安全設設計在ORACLE中,,DBA定定義訪訪問數(shù)數(shù)據(jù)庫庫的用用戶名名,安安全域域定義義作用用于用用戶的的有關(guān)關(guān)安全全方面面的設設置。。安全域域包括括:驗驗證機機制、、表空空間限限額、、默認認表空空間、、臨時時表空空間、、帳戶戶鎖、、資源源限制制、直直接權(quán)權(quán)限、、角色色權(quán)限限8個個方面面,如下下頁圖圖。ORACLE的的安全全性設設計圍圍繞用用戶的的安全全域展展開。。北京郵郵電大大學軟軟件學學院郭郭文文明2003.064.4.3ORACLE安安全設設計AccountlockingAuthenticationmechanismRoleprivilegesDirectprivilegesResourcelimitsTablespacequotasTemporarytablespaceDefaulttablespaceSecuritydomain默認表表空間間臨時表表空間間表空間間限額額資源限限額直接權(quán)權(quán)限角色權(quán)權(quán)限驗證機機制帳戶鎖鎖北京郵郵電大大學軟軟件學學院郭郭文文明2003.064.4.3ORACLE安安全設設計安全域域內(nèi)容容1)驗驗證機機制::用戶戶訪問問數(shù)據(jù)據(jù)庫可可以通通過數(shù)數(shù)據(jù)庫庫、操操作系系統(tǒng)、、網(wǎng)絡絡這三三種方方式中中的一一種進進行驗驗證,,一個個用戶戶究竟竟使用用何種種驗證證方式式,根根據(jù)具具體需需求決決定。。2)表表空間間限額額:表表空間間限額額,可可以控控制一一個數(shù)數(shù)據(jù)庫庫的用用戶對對數(shù)據(jù)據(jù)庫中中表空空間的的物理理存儲儲空間間的分分配數(shù)數(shù)量。。3)默默認表表空間間:定定義用用戶在在創(chuàng)建建段時時的存存儲位位置,,當用用戶創(chuàng)創(chuàng)建段段時,,如果果指定定存儲儲表空空間,,則使使用定定義段段時指指定的的表空空間,,否則則使用用這一一默認認表空空間。。北京郵郵電大大學軟軟件學學院郭郭文文明2003.064.4.3ORACLE安安全設設計安全域域內(nèi)容容4)臨臨時表表空間間:當當用戶戶執(zhí)行行排序序操作作時,,臨時時表空空間定定義臨臨時段段分配配的位位置。。5)帳帳戶鎖鎖:帳帳戶鎖鎖可以以防止止非法法用戶戶對系系統(tǒng)的的登錄錄。6)資資源限限制::對用用戶使使用資資源進進行一一定的的限制制。7)直直接權(quán)權(quán)限::通過過GRANT直直接授授予用用戶的的系統(tǒng)統(tǒng)權(quán)限限和對對象權(quán)權(quán)限。。8)角角色權(quán)權(quán)限::通過過GRANT將將系統(tǒng)統(tǒng)權(quán)限限和對對象權(quán)權(quán)限授授予角角色,,再將將角色色授予予用戶戶,使使用戶戶間接接獲得得權(quán)限限。北京郵郵電大大學軟軟件學學院郭郭文文明2003.064.4.3ORACLE安安全設設計口令和和資源源配置文文件是是命名名的一一組口口令和和資源源限制制的設設置集集合。。Oracle中存存在一一個名名為DEFAULT的配配置文文件,,默認認配置置文件件中的的所有有項目目都不不受限限制,,如果果創(chuàng)建建用戶戶時沒沒有指指定配配置文文件子子句,,則系系統(tǒng)將將DEFAULT指指定給給該用用戶。。Oracle中中允許許DBA修修改DEFAULT和用用戶定定義的的配置置文件件,用用ALTERPROFILE命命令。。允許許刪除除DEFAULT和和定義義的配配置文文件,,用DROPPROFILECASCADE命命令。。創(chuàng)建用用戶時時需確確定用用戶名名和驗驗證機機制、、指定定默認認表空空間和和臨時時表空空間、、確定定有關(guān)關(guān)表空空間的的限額額、指指定用用戶的的配置置文件件。ORACLE應應用系系統(tǒng)中中一般般定義義一系系列的的用戶戶和配配置文文件、、定義義一系系列的的角色色,然然后將將角色色和配配置文文件授授予((或指指定給給)用用戶。。北京郵郵電大大學軟軟件學學院郭郭文文明2003.064.4.3ORACLE安安全設設計權(quán)限和和角色色Oracle大大約有有100多多種的的系統(tǒng)統(tǒng)權(quán)限限,包包括諸諸如創(chuàng)創(chuàng)建表表空間間的系系統(tǒng)范范圍級級操作作權(quán)限限、諸諸如創(chuàng)創(chuàng)建表表的用用戶模模式內(nèi)內(nèi)對象象管理理權(quán)限限和諸諸如創(chuàng)創(chuàng)建任任意表表的任任意模模式內(nèi)內(nèi)對象象管理理權(quán)限限。系系統(tǒng)權(quán)權(quán)限和和對象象權(quán)限限可以以通過過GRANT或或REVOKE語句句授予予用戶戶或收收回。。角色是是被命命名的的一組組相關(guān)關(guān)的權(quán)權(quán)限,,角色色是屬屬于系系統(tǒng)范范圍的的,既既不屬屬于某某個用用戶,,也不不屬于于某個個模式式??煽梢园寻严到y(tǒng)統(tǒng)權(quán)限限和對對象權(quán)權(quán)限授授予角角色,,也可可以把把角色色授予予另一一個角角色,,最終終把角角色授授予用用戶,,由此此方便便Oracle的安安全管管理。。使用角角色的的步驟驟是::創(chuàng)建建角色色、為為角色色授予予相應應的權(quán)權(quán)限、、將角角色授授予特特定的的用戶戶。Oracle中中有一一些預預定義義角色色可以以使用用,例例如DBA、SELECT_CATALOG_ROLE等,,DBA可可以直直接使使用。。北京郵郵電大大學軟軟件學學院郭郭文文明2003.064.4.3ORACLE安安全設設計應用系系統(tǒng)的的用戶戶應用系系統(tǒng)的的安全全設計計一般般要對對用戶戶進行行分類類,然然后根根據(jù)用用戶類類型的的不同同,對對其進進行設設置、、維護護及管管理。。數(shù)據(jù)庫管理理員(DBA):默認的數(shù)數(shù)據(jù)庫管理理員internal、sys和system均具有DBA權(quán)限限。數(shù)據(jù)庫庫打開、關(guān)關(guān)閉、恢復復等操作時時,需使用用internal;修改數(shù)數(shù)據(jù)庫重要要參數(shù)時使使用sys;其他一一般管理應應使用system。所有者(OWNER):對大型的的應用系統(tǒng)統(tǒng),往往根根據(jù)不同的的用戶所屬屬將對象進進行劃分,,這樣不同同的用戶擁擁有不同的的數(shù)據(jù)庫對對象,創(chuàng)建建數(shù)據(jù)庫對對象的用戶戶稱為對象象的所有者者(模式))。此類用用戶需要有有RESOURCE的權(quán)限。。一般用戶((USER):一般用戶戶即應用系系統(tǒng)的最終終用戶。此此類用戶對對數(shù)據(jù)庫而而言僅需要要有CONNECT的權(quán)限即即可,但此此類用戶的的角色權(quán)限限和對象使使用權(quán)限需需要根據(jù)具具體工作和和應用進一一步規(guī)劃和和設計。北京郵電大大學軟件學學院郭郭文明2003.064.4.3ORACLE安安全設計應用系統(tǒng)的的一般用戶戶應用系統(tǒng)中中除創(chuàng)建一一系列數(shù)據(jù)據(jù)庫對象外外,還要創(chuàng)創(chuàng)建一系列列的應用程程序,不同同的應用程程序執(zhí)行不不同的操作作。對于一一般用戶來來講,使用用數(shù)據(jù)庫系系統(tǒng)是通過過使用用戶戶管理應用用程序開始始的,往往往限制其使使用一些應應用程序的的權(quán)力。對對于這種情情形,處理理辦法是::在數(shù)據(jù)庫庫和應用程程序之間建建立用戶管管理應用程程序?qū)哟危?,對每一個個用戶,授授予相應的的數(shù)據(jù)庫權(quán)權(quán)限和使用用應用程序序的權(quán)限。。一般用戶的的配置:系系統(tǒng)級權(quán)限限僅限于角角色CONNECT,對象級級權(quán)限僅限限于相關(guān)應應用系統(tǒng)的的自定義角角色,應用用程序使用用權(quán)限僅限限于相關(guān)應應用程序的的使用級別別。北京郵電大大學軟件學學院郭郭文明2003.064.4.3ORACLE安安全設計應用系統(tǒng)的的一般用戶戶在應用系統(tǒng)統(tǒng)內(nèi)部進行行多個層次次的檢查和和驗證:1)第一層層:Oracle數(shù)數(shù)據(jù)庫系統(tǒng)統(tǒng)層,判斷斷其能否建建立會話。。2)第二層層:應用程程序的使用用權(quán)限,檢檢查驗證用用戶能夠使使用哪些應應用程序。。3)第三層層:Oracle數(shù)數(shù)據(jù)庫的對對象級權(quán)限限,判斷用用戶能否操操縱其相應應的對象,,對象級權(quán)權(quán)限是通過過自定義Oracle角色來來設置的。。北京郵電大大學軟件學學院郭郭文明2003.064.4.3ORACLE安安全設計在ORACLE數(shù)據(jù)據(jù)庫中,當一個數(shù)據(jù)據(jù)庫用戶被被創(chuàng)建時,,系統(tǒng)就為為該用戶自自動創(chuàng)建一一個與用戶戶同名的模模式。用戶和模模式的概念念在某種程程度上是一一樣的。模模式或用戶戶可以擁有有的對象如如下圖。用用戶的定義義應與數(shù)據(jù)據(jù)庫的對象象定義結(jié)合合起來。SchemaObjectsTables表表Triggers觸觸發(fā)器器Constraints約約束Indexes索索引Views視視圖Sequences序序列列發(fā)生器Storedprogramunits存存儲過程程單元(PL/SQL寫)Synonyms同同義詞詞User_defineddatatypes用戶戶定義數(shù)據(jù)據(jù)類型(Oracle8i以以后)Databaselinks數(shù)數(shù)據(jù)庫連連接(分布布式數(shù)據(jù)庫庫時使用)北京郵電大大學軟件學學院郭郭文明2003.064.4.3ORACLE安安全設計安全設計舉舉例:createprofilegrace_5limitfailed_login_attempts3password_lock_timeunlimitedpassword_lift_time30password_grace_time5sessions_per_user2cpu_per_session10000idle_time60conenct_time480;createusercommidentifiedbycommdefaulttablespacedatatemporarytablespacetsp_tempquota15Mondataprofilegrace_5;grantconnect,resourcetocomm;創(chuàng)建配置文文件創(chuàng)建用戶授權(quán)北京郵電大大學軟件學學院郭郭文明2003.064.4.4ORACLE對對象設計數(shù)據(jù)庫應用用系統(tǒng)中肯肯定要建立立大量的模模式對象,,這些對象象應作出合合理的規(guī)劃劃,盡量減減少因設計計不周導致致性能下降降、表空間間不足、用用戶權(quán)限不不夠等問題題的出現(xiàn)。。表在創(chuàng)建表時時,需要注注意的事項項如下:1)對于表表名、列名名、約束名名、索引名名和聚集名名使用符合合命名規(guī)則則的并帶有有描述意義義的名稱。。2)建立相相應完全的的、詳細的的文檔資料料。3)所有表表都應當規(guī)規(guī)范(規(guī)范范化至少是是第三泛式式)。4)定義允允許為空的的列,并保保留一定的的存儲空間間。5)適當?shù)氐厥褂镁奂?,保留留一定的存存儲空間。。6)表段應應放在單獨獨的表空間間中。北京郵電大大學軟件學學院郭郭文明2003.064.4.4ORACLE對對象設計表7)為了減減少存儲碎碎片產(chǎn)生,,區(qū)間大小小最好是數(shù)數(shù)據(jù)塊的整整數(shù)倍。8)對于應應用系統(tǒng)中中頻繁使用用的數(shù)據(jù)行行較少的表表,考慮使使用CACHE選項項,即允許許其長期保保持在內(nèi)存存中,避免免反復讀取取,提高性性能。觸發(fā)器觸發(fā)器作為為Oracle標準準功能的補補充提供給給用戶。使使用它通常常實現(xiàn)如下下功能:1)自動生生成可以派派生的列值值。2)防止無無效的處理理。3)增強復復雜的安全全驗證。北京郵電大大學軟件學學院郭郭文明2003.064.4.4ORACLE對對象設計觸發(fā)器4)增強分分布式環(huán)境境中跨節(jié)點點的引用完完整性。5)增強復復雜的業(yè)務務規(guī)則。6)提供透透明的事件件登記。7)提供高高級的審計計。8)維護表表復制的同同步。9)采集關(guān)關(guān)于訪問表表的統(tǒng)計信信息。盡管觸發(fā)器器可實現(xiàn)許許多功能,,但是,能用其他方方式實現(xiàn)的的功能盡量量避免使用用觸發(fā)器。過多的觸觸發(fā)器導致致復雜的內(nèi)內(nèi)部相關(guān)性性,維護和和管理變得得復雜。特特別注意觸觸發(fā)器的語語句不要太太多,不要要創(chuàng)建遞歸歸調(diào)用的觸觸發(fā)器(如如一個對象象的AFTERUPDATE的活動動中又有該該對象的UPDATE操作)。北京郵電大大學軟件學學院郭郭文明2003.064.4.4ORACLE對對象設計索引索引一旦建建立,其使使用和維護護都是由Oracle自動實實現(xiàn)的。使使用它應注注意:1)索引可可以加速查查詢,但會會降低修改改速度,頻頻繁改動的的表,盡量量少建索引引。2)索引段段應存儲在在獨立的表表空間中。。3)為減少少存儲碎片片,區(qū)間大大小應是數(shù)數(shù)據(jù)塊的整整數(shù)倍。4)為了避避免索引的的建立和改改動操作生生成大量的的重做日志志,影響系系統(tǒng)的性能能,在創(chuàng)建建較大索引引時,使用用NOLOGGING選項。。5)由于索索引項相對對于數(shù)據(jù)項項要短,使使一個數(shù)據(jù)據(jù)塊中容納納索引的數(shù)數(shù)量要比數(shù)數(shù)據(jù)行多,,為了提高高索引在數(shù)數(shù)據(jù)塊一級級上操作的的并發(fā)性,,可適當提提高INITANS參數(shù)的值值。北京郵電大大學軟件學學院郭郭文明2003.064.4.4ORACLE對對象設計索引6)索引中中PCTFREE只只在創(chuàng)建索索引時使用用。對于單單調(diào)增加的的索引列值值,可以將將PCTFREE設設置得較低低。因為新新的索引項項始終是對對已經(jīng)存在在的索引項項的追加,,不需要在在兩個已經(jīng)經(jīng)存在的索索引項之間間插入,所所以沒必要要預留過多多的空間。。如果索引引列值是任任意值時,,則可能需需要預留較較多的空間間。視圖對視圖的操操作類似表表的使用,,表可以使使用的地方方,視圖一一般也可使使用。視圖圖可用于安安全控制和和簡化查詢詢的目的,,視圖只能能創(chuàng)建或刪刪除,不能能修改。北京郵電大大學軟件學學院郭郭文明2003.064.4.4ORACLE對對象設計序列應用系統(tǒng)中中,經(jīng)常使使用順序號號,并發(fā)用用戶中如何何保證順序序號的連續(xù)續(xù)且不重復復。序列發(fā)發(fā)生器是數(shù)數(shù)據(jù)庫的一一種模式對對象,可以以解決上述述問題,為為應用系統(tǒng)統(tǒng)開發(fā)人員員提供順序序號的自動動管理與維維護。Init.ora中的的參數(shù)SEQUENCE_CACHE_ENTRIES與序列發(fā)發(fā)生器有關(guān)關(guān),影響內(nèi)內(nèi)存中可以以保留的順順序號個數(shù)數(shù)。存儲過程可以調(diào)用存存儲過程的的環(huán)境有::另一個存存儲過程的的過程體或或一個觸發(fā)發(fā)器中,一一個存儲函函數(shù)可以從從一個SQL語句中中調(diào)用,其其使用方式式與調(diào)用Oracle內(nèi)置的的SQL函函數(shù)是一樣樣的。創(chuàng)建建存儲過程程時,應當當注意該存存儲過程的的模式歸屬屬。同義詞利用同義詞可可以將應用系系統(tǒng)中模式對對象的模式屏屏蔽掉。
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 交通事故賠償金協(xié)議書七篇
- 鮑恩病病因介紹
- 勞務派遣書面協(xié)議書七篇
- 《數(shù)據(jù)資產(chǎn)入表合規(guī)規(guī)范指南》(征求意見稿)
- (參考)雕刻工藝品投資項目可行性研究報告
- 2023年天津市南開區(qū)高考語文二模試卷
- 《廉政公署專題》課件
- 電工培訓課件之跌落熔絲的操作
- 《廣告創(chuàng)意文案設計》課件
- 內(nèi)蒙古呼倫貝爾市阿榮旗2023-2024學年七年級上學期期末考試數(shù)學試卷(含答案)
- 2024年新人教版一年級數(shù)學上冊課件 第六單元 復習與關(guān)聯(lián) 1.數(shù)與運算
- Unit 4 Ready for school(教學設計)-2024-2025學年人教PEP版(一起)(2024)英語一年級上冊
- 2024秋期國家開放大學《公共政策概論》一平臺在線形考(形考任務1至4)試題及答案
- 《2024版 CSCO非小細胞肺癌診療指南》解讀
- GB 44497-2024智能網(wǎng)聯(lián)汽車自動駕駛數(shù)據(jù)記錄系統(tǒng)
- 家具售后合同協(xié)議書
- 空氣動力學數(shù)值方法:有限體積法(FVM):離散化技術(shù)與數(shù)值通量
- 下肢靜脈曲張的靜脈內(nèi)射頻消融術(shù)
- 北師大版七上冊數(shù)學期末沖刺復習
- 物流管理專業(yè)培養(yǎng)專題方案調(diào)研綜合報告樣本
- 小學語文整本書閱讀《夏洛的網(wǎng)》導讀課公開課一等獎創(chuàng)新教學設計
評論
0/150
提交評論