OracleRDBMS應用系統設計與開發_第1頁
OracleRDBMS應用系統設計與開發_第2頁
OracleRDBMS應用系統設計與開發_第3頁
OracleRDBMS應用系統設計與開發_第4頁
OracleRDBMS應用系統設計與開發_第5頁
已閱讀5頁,還剩53頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

OracleRDBMS應用系統設計與開發趙元杰2007.07.04136013656811內容提要 團隊與合作問題;Oracle關鍵問題;數據庫設計方法問題;Oracle功能的發現與使用問題;嚴謹的程序設計問題;測試階段管理問題;試用問題。2團隊與合作-現代軟件項目特 互聯網的時代:項目小組:項目小組的成熟度和能力,而非個別程序員的個人魅力;

程序員準確定位;程序員不是斗士;一般是殺不凈的BUG。幾百個數字英雄卻很難鑄造出一個強勁的產業:流水線的軟件產業;

強有力的團隊共同協作;擔任不同角色和責任。管理者要做:將多個自由英雄團結起來;組建出高效的開發小組;中國不缺個人英雄,而是缺乏強有力的團隊。3團隊與合作-項目小組角色與分工 經常面臨的問題

:項目無法按期完成,完成以后還要不斷修補完善,對軟件人員和用戶來說象一場噩夢遙遙無期;

項目進行當中人員流失,產品夭折;

客戶需求不斷改變,永遠對開發完成的產品不滿意;

開發成員之間矛盾不斷,互相抱怨,工程進展緩慢;小組成員分工不均,工作分配失去平衡等等;

問題對策

:項目負責人責任(稱之為組長或項目經理);項目負責人能力(古人云:一將無能,累死千軍);項目經理根據需求制定出開發的目標;確實落實到實際中。4團隊與合作-項目小組角色與分工角色與分工:角色性質角色分工項目管理人員

項目經理

產品經理技術經理系統分析人員

框架設計系統分析員軟件設計師商務分析人員業務流程分析員業務功能設計員數據庫工程師

數據庫設計員

5團隊與合作-項目小組角色與分工角色與分工:角色性質角色分工程序開發人員

軟件實施員

質量控制人員集成測試員測試設計師課程設計師技術文檔編寫員技術支持人員售前工程師售后工程師系統管理人員系統管理員

輔助設計人員專業美工VI設計師6團隊與合作-項目小組角色與分工 形成一致的意見:是否已經很清晰的理解了開發的需求和目標,并使每個人員充滿斗志地準備開始完成共同的目標?是否制定了一套規范的、經過評測的、可復用的技術框架;每個人的角色分工是不是都非常清楚地落實了;是不是已經制定了開發過程中的周期劃分及評估辦法?而不是冒險等項目期限快到的時候才發現補牢已晚;7團隊與合作-項目小組角色與分工 形成一致的意見(續):項目管理人員是否有隨時把握開發進度的有效手段?小組人員是否都互相認識而且熟悉;每個人是否都明白和他關聯的角色是誰,相互之間的工作流程?是否忘了布置文檔撰寫及管理的方法或標準?8團隊與合作-DBA-總設計師-開發人員一般DBA與開發者存在障礙;主要問題是“所有權”:職責與分工問題;DBA覺得是問題的替罪羊;需要溝通。問題在于對策:搞好關系,責任明確;DBA是數據庫的維護者;開發者是使用數據庫人員;為了共同的目標。9團隊與合作-DBA責任一般DBA負責數據庫管理;也涉及數據庫的邏輯設計;執行物理設計的實現;協作開發人員工作;確保高性能、安全及備份恢復。10內容提要要團隊與合合作問題題;Oracle關鍵問題題;數據庫設設計方法法問題;;Oracle功能的發發現與使使用問題題;嚴謹的程程序設計計問題;;測試階段段管理問問題;試用問題題。11Oracle關鍵問題題-Oracle安裝問題題操作系統統的安裝裝問題:規劃磁盤盤空間;;交換空間間問題;;一般空間問題題。Oracle安裝建議:默認安裝與自自定義安裝問問題;數據文件與日日志文件等問問題;安裝需要的選選件問題。12Oracle關鍵問題-表表空間與數據據文件開發階段考慮慮的問題:要接近將來的的實際情況;;磁盤空間的分分配;開發環境與實實際環境的空空間比例問題題。為開發階段創創建USER/INDEX表空間;表空間存放開開發階段的對對象;不要將對象創創建在SYSTEM表空間上:ALTERUSERQUOTA限制;用EXP/IMP將用戶對象從從SYSTEM表空間移出;;或ALTERTABLEMOVE移動。13Oracle關鍵問題-表表空間與數據據文件數據文件大小小問題:在OS允許情況下,,要中庸一些些為好;不要輕易RESIZE;與實際數據量量比例計算;;Oracle10g的BIGFILE問題:支持大文件;;與OS有關;與32bit和64bit有關;與Oracle塊大小有關。。Oracle9i/10g的OMF問題:支持OMF管理;維護帶來危險險;文件大小也不不合理。14Oracle關鍵問題-日日志文件問題題日志文件分布布問題:樹立開發環境境就是實際的的模擬;一般開始就應應注意安全與與性能;日志文件在不不同的磁盤;;與歸檔日志文文件分開。日志文件大小小問題:應用DML并發數據量;;8i默認太小;9i默認太大;10g默認還合理;;可創建合理大大小并刪除小小的日志文件件。15Oracle關鍵問題-臨臨時表空間問問題臨時表與臨時時文件問題:8i臨時表對應數數據文件;排序的最大數據量的估計。臨時文件大小問題:臨時文件一次給足;告訴程序不要隨便用ORDERBY等語句;總設計師對排序的理解與估計;索引、集合操作等。16Oracle關鍵問題-用用戶、權限于于角色總設計師規劃劃與DBA創建;創建用戶名與與實際用戶問問題;Oracle系統角色:Oracle默認系統權限限;開發權限與管管理權限;是否創建應用用角色問題。。17用戶權限角色UPDATEONEMPINSERTONEMPSELECTONEMPCREATETABLECREATESESSIONHR_CLERKHR_MGRABCOracle關鍵問題-用用戶角色與權權限18Oracle關鍵問題-用用戶與權限160多種系統權限限(systemprivileges):參考原版OracledatabaseSQLreference參考原版OracledatabaseadministratorSELECTDISTINCTPRIVILEGEFROMdba_sys_privsorderbyPRIVILEGE對象權限(Objectprivileges):參考原版OracledatabaseSQLreference參考原版Oracledatabaseadministrator角色(老三樣樣)CONNECT、RESOURCE、DBAselect*fromdba_roles19Oracle關鍵問題-用用戶與權限一般用戶權限限:權限說明CREATESESSION

允許用戶聯到ORACLE數據庫,用戶可訪問ORACLE

ALTERSESSION

允許用戶發出ALTERSESSION設置系統參數

FORCETRANSACTION

允許用戶在本地數據庫中提交或回滾分布數據庫事務.一般不用設置該權限

20Oracle關鍵問題-用用戶與權限一般開發者權權限:權限說明CREATECLUSTER創建屬于開發者自己的表聚簇,開發者也能撤消他們擁有的聚簇

CREATEPROCEDURE創建屬于開發者的存儲過程,軟件包和函數.開發者也能撤消他們所擁有的這些對象

CREATEDATABASELINK定義一個數據庫連接,因為這是一個命名的指向其它數據庫的指針,所以這個特性類似同義詞,主要差別是可以存儲遠程系統中的Oracleid和口令作連接的一部分

21Oracle關鍵問題-用用戶與權限一般開發者權權限(2):權限說明CREATEPUBLICSYNONYM為了引用一個諸如表或視圖的數據庫對象所創建的一個替代名,實例中的任何用戶都能使用這個名稱調用它所代表的對象,用戶要訪問對象仍需要對象權限DROPPUBLICSYNONYM為了引用數據庫對而刪除替代名稱,該數據庫對象可實例中的所有用戶使用

CREATESEQUENCE創建一個開發者所有的序列,開發者也能撤消任何他們建立的序列

22Oracle關鍵問題-用用戶與權限一般開發者權權限(3):權限說明CREATESNAPSHOT為了引用一個諸如表或視圖的數據庫對象所創建的一個替代名,實例中的任何用戶都能使用這個名稱調用它所代表的對象,用戶要訪問對象仍需要對象權限DROPPUBLICSYNONYM為了引用數據庫對而刪除替代名稱,該數據庫對象可實例中的所有用戶使用

CREATESEQUENCE創建一個開發者所有的序列,開發者也能撤消任何他們建立的序列

23Oracle關鍵問題-用用戶與權限一般開發者權權限(4):權限說明CREATESNAPSHOTP創建一個位于另一個ORACLE實例中的表的本地考備,開發者也能撤消他們擁有的快照CREATESYNONYM創建一個專用的同義詞(僅供開發者使用),開發者也能撤消他們擁有的任何同義詞CREATETABLE開發者可以創建表和刪除表24Oracle關鍵問題-用用戶與權限一般開發者權權限(5):權限說明CREATETRIGGER開發者可以創建或刪除他們擁有的觸發器CREATEVIEW開發者可以創建或刪除他們擁有的視圖UNLIMITEDTABLESPACE允許開發者在表空間中創建對象而不受表空間大小限制CREATETYPEDROPTYPE允許開發者創建新的對象類型刪除對象類型CREATELIBRARY允許開發者創建新的對象庫刪除對象庫25Oracle關鍵問題-用用戶與權限DBA權限與ANY:能做任何的意意思,如CREATEANYTABLE;SYS具有此權限;;普通開發者不不需要ANY。動態的PL/SQL用ANY:在SQL>下能將對象創創建到另外用用戶下;一般在PL/SQL下不能,請用用ANY即可;進入測試后建建議不要用ANY。26Oracle關鍵問題-用用戶與權限DBA權限與ANY:權限說明ANALYZEANY允許用戶收集最優化統計,使結構有效或識別在數據庫的任何表,表聚簇中被移動和被鏈接的行ADUITANY允許用戶對數據庫中的任何對象進行審計CREATEANYCLUSTER允許用戶創建聚簇,并給數據庫中的任何用戶賦予所有權27Oracle關鍵問題-用用戶與權限SYSDBA與SYSOPER:SYSDBA(以sysdba連接才有效):執行STARTUP和SHUTDOWN操作ALTERDATABASE:open,mount,backup,或changecharactersetCREATEDATABASEDROPDATABASECREATESPFILEALTERDATABASEARCHIVELOGALTERDATABASERECOVER包括RESTRICTEDSESSION權限28Oracle關鍵問題-用用戶與權限SYSDBA與SYSOPER:SYSOPER:執行STARTUP和SHUTDOWNCREATESPFILEALTERDATABASEOPEN/MOUNT/BACKUPALTERDATABASEARCHIVELOGALTERDATABASERECOVER包括RESTRICTEDSESSION權限SYSTEM類似SYSOPER:SYSTEM權限沒有SYS那么多SYSTEM和DBA角色均能改SYS的口令SYSTEM和SYS口令忘忘記:創建口口令文文件orapwd29內容提提要團隊與與合作作問題題;Oracle關鍵問問題;數據庫庫設計計方法法問題題;Oracle功能的的發現現與使使用問問題;;嚴謹的的程序序設計計問題題;測試階階段管管理問問題;;試用問問題。。30數據庫庫設計計方法法問題題應用系系統的的類型型:OLTP系統:并發用用戶數數多(高峰峰);;安裝時時選擇擇默認認的塊塊大小小;表結構構要考考慮INITRANS等參數數;OLAP系統:并發用用戶數數少(高峰峰);;每次I/O量、塊塊大小小要大大些;;不用考考慮INITRANS等參數數;DSS系統:只讀表表空間間問題題;用戶也也要分分3、、6、、9等等以以滿足足統計計分析析用戶戶要求求;大數據處處理要避避開高峰峰時運行行。31數據庫設設計方法法問題圖形界面面與腳本本問題::圖形界面面方便、、直觀,,但也要要腳本;;腳本便于于閱讀;;文檔就是是腳本,,而不是是圖形的的拷貝;;移植到真真實環境境是腳本本,而不不是圖形形界面。。腳本與注注釋問題題:腳本也要要加詳細細注釋,,腳本就就是程序序;腳本的書寫要要求可讀性;;腳本也要有規規范;腳本規范參考考…/rdbms/admin中Oracle的樣例。32數據庫設計方方法問題自動創建與卸卸出問題:采用腳本自動動創建表空間間、用戶、權權限;采用腳本自動動創建表、索索引、約束、、視圖;卸出腳本單獨獨形成文件;;正式運行后卸卸出腳本要保保管好(不要要放在磁盤里里)。腳本與環境有有關問題:腳本也可帶變變量;數據文件路經經(Windows/UNIX/LINUX);表空間名不變變(10g可改名),數數據文件大小小可變;規模大小可變變。33數據庫設計方方法問題數據庫結構一一次創建問題題:不要采用圖形形工具創建;;不要經常ALTERTABLE;ALTERTABLE要經總設計師師的批準;ALTERTABLE要在文檔上修修改。必要的ALTER問題:存儲參數不合合理時用;建議不要使用用聯機重定義義;聯機重定義是是對不合理的的已經存在結結構進行定義義;不合理就遷移移到新表空間間。34數據庫存儲設設計問題空間的有效利利用問題:Oracle數據文件結構構;Oracle存儲塊結構;;不同的對象采采用不同的塊塊大小。Oracle9i/10g塊的可變問題題:9i開始支持塊大大小可變;可變也得考慮慮合理;根據不同對象象特性設計塊塊大小與表空空間;總設計師要研研究Oracle的PCTFREE和PCTUSED。35數據庫存儲設設計問題應用系統的數數據存儲量:大表一定分區區:表分區;索引也要分區區;中等數據量的的表要考慮STORAGE參數。大表小表、索索引要做:Storage估計;索引與的訪問問來確定表要分相對固定與修改頻繁;要根據表修改頻率確定PCTFREE和PCTUSED;不同的Oracle版本PCTFREE和PCTUSED差別。36內容提要團隊與合作問問題;Oracle關鍵問題;數據庫設計方方法問題;Oracle功能的發現與與使用問題;;嚴謹的程序設設計問題;測試階段管理理問題;試用問題。37Oracle功能發現問題題Oracle產品選件:Oracle企業與標準版版差異;Oracle的Partition常被遺忘問題題;不用選件不要要裝;OracleSELECT*FROMV$OPTION;38Oracle功能發現問問題Oracle一般的功能能:Oracle的Partition被遺忘問題題安裝時選擇擇;在設計時使使用;在SQL中使用。Oracle的設計時選擇;提高性能。Oracle的IOT被遺忘問題設計時選擇;非結構化數據可提高性能。Oracle的NEST表被遺忘問題設計時選擇;復雜關系:可減少查詢時的關聯。39Oracle功能發現問問題Oracle內置包:基本內置包包DBMS_JOB;;DBMS_PIPE;DBMS_SQL;;...Oracle特殊的內置置包:需要安裝的的內置包DBMS_PROFILE;;DBMS_TRACE;...40內容提要團隊與合作作問題;Oracle關鍵問題;數據庫設計計方法問題題;Oracle功能的發嚴謹的程序設計問題;測試階段管理問題;試用問題。41嚴謹的程序序設計問題題程序員要理理解:事務處理技技術:明確的COMMIT/ROLLBACK;由DDL語句隱含地地完成;用戶正常的的斷開(Disconnect)––自動提交(autocommit);;異常的終止止–自動動回滾(autorollback);在程序中體體現。理解事務的的屬性:原子的(Atomicity)–所有的或沒沒任何事.一致性(Consistency)–每個事務之之前或之后后.獨立性(Isolation)–各自獨立執執行.耐久性(Durability)––成功的提交交可保數據據長久保存存在數據庫庫中。42嚴謹的程序序設計問題題程序員要理理解:Oracle對象::表結構構如何何查看看;表之間間關系系如何何查看看;索引與與表的的關系系;PL/SQL程序與與Trigger。業務的的流程程:各業務務的處處理流流程;;業務與與各表表的關關系;;業務與與事務務的聯聯系。。43嚴謹的的程序序設計計問題題程序員員要掌掌握::開發工工具::熟練使使用PL/SQL編程;;開發工工具的的熟練練使用用;數據庫庫DML:DML語言;;忌諱和和建議議的SQL語句;;動態的的SQL問題;;程序員員要活活學活活用::要理論論聯系系實際際;數據庫庫業務務總是是以事事務來來處理理;將用戶戶的業業務理理解成成事務務并在在程序序中體體現;;要實現現事務務的處處理要要求所所涉及及的語語句。。44嚴謹的的程序序設計計問題題程序員員要活活學活活用問問題::照搬與與模仿仿:有的例例子與與你的的情況況可能能不符符;注意搜搜集各各種技技巧,,可學學習方方法;;學習權權威專專家的的樣例例。Oracle原版資資料::詳細的的內容容還是是要看看原版版;OCP/OCM資料偏偏概念念;中文網網站文文章有有水平平的不不多(互相相轉載載)。。45嚴謹的的程序序設計計問題題錯誤的的捕捉捉與提提示問問題::普遍問問題::多數人人僅僅僅編寫寫能夠夠實現現應用用程序序正面面功能能;用戶只只會以以正確確的方方式輸輸入正正確的的數據據;系統((軟件件和硬硬件))總是是處于于良好好的運運行狀狀態。。結果是是:應用程程序中中總會會存在在著不不止一一個的的bug;;用戶總總能找找到恰恰當的的時機機使得得你的的程序序出錯錯;不預先先花費費時間間來正正確調調試-無休止止的善善后工工作;PL/SQL中的錯錯誤處處理被被忽略略。46內容提提要團隊與與合作作問題題;Oracle關鍵問問題;數據庫庫設計計方法法問題題;Oracle功能的的發現現與使使用問問題;;嚴謹的的程序序設計計問題題;測試階階段管管理問問題;;試用問問題。47測試階段性能測試::增加用戶觀觀察應用反反應最高容許能能力硬件測試::增加硬件((如內存))減少硬件(拔掉硬盤盤、內存))容錯測試::關閉主數據據庫,備用用數據庫能能否接管檢查事務的的丟失情況況48測試階段測試階段考考慮的問題題:DBA創建另外的的環境;盡量模擬用用戶的真實實環境;系統架構師師與DBA配合。考慮模擬數數據:為關鍵表產產生模擬數數據;模擬數據從從幾萬到幾幾十,再到到幾百萬;;模擬插入、、刪除、修修改操作系系統的確響響應;模擬10用用戶(進程程)到100用戶的的資源競爭爭情況。49測試階段測試操作考考慮的問題題:采用跟蹤搜搜索運行的的情況;從數據字典典查詢;并發用戶如如何

溫馨提示

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

評論

0/150

提交評論