Oracle系統(tǒng)安裝及體系結構_第1頁
Oracle系統(tǒng)安裝及體系結構_第2頁
Oracle系統(tǒng)安裝及體系結構_第3頁
Oracle系統(tǒng)安裝及體系結構_第4頁
Oracle系統(tǒng)安裝及體系結構_第5頁
已閱讀5頁,還剩127頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

孟憲順2002-3-1GenersoftInc.OracleDBA

OracleocpcoursecontentArchitectureandAdministrationOracle結構和維護:Oracle特點、結構創(chuàng)建數(shù)據(jù)庫Oracle數(shù)據(jù)庫的訪問ManaginganOracleInstanceMaintainingtheControlFileMaintainingRedoLogFilesManagingTablespacesandDataFilesManagingRollbackSegmentsManagingUsers,privileges,roles概述ORACLE具有甲骨文之意,是全世界第二大軟件公司。數(shù)據(jù)庫、電子商務套件、erp、財務產品、開發(fā)工具培訓認證。Oracle服務(server)是一個關系數(shù)據(jù)庫(relationaldatabase)管理系統(tǒng),提供開放、全面、完整的信息管理。特點高性能、伸縮性安全性:角色、權限、用戶并發(fā)控制:表鎖定、行鎖定海量數(shù)據(jù):表空間、空間數(shù)據(jù)構件TB級數(shù)據(jù)完整性:日志、回滾段分布式數(shù)據(jù)庫:數(shù)據(jù)庫連接Oracle概述、特點發(fā)展和構成發(fā)展史6.0性能不如sybase7.0分區(qū)技術支持分段的大型數(shù)據(jù)庫8.0面向對象8.1.6面向internet支持java、webserver、jdeveloper9iportal手機上網(wǎng)oracle體系結構Oracle體系結構決定了數(shù)據(jù)庫如何使用內存、硬盤、cpu和網(wǎng)絡一個Oracleserver包括一個Oracle實例(instance)和幾個Oracle數(shù)據(jù)庫文件(databasefile).實例數(shù)據(jù)庫文件Oracleinstance

實例=內存分配+一組后臺進程

如果把Oracle比作一部汽車,instance相當于汽車的發(fā)動機一樣,啟動oracle前提應先啟動instance..內存被分配,進程被啟動SGAbackgroundprocessOracle文件一個Oracle數(shù)據(jù)庫是一個數(shù)據(jù)單位的集合。主要目的是為了儲存和讀取信息。Oracle數(shù)據(jù)庫可以分為邏輯(logical)結構和物理(physical)結構。物理結構指數(shù)據(jù)庫中的操作系統(tǒng)文件的集合,包含以下三種文件:數(shù)據(jù)文件(datafile)包含數(shù)據(jù)庫中實際數(shù)據(jù)。數(shù)據(jù)包含在用戶定義的表中,而且數(shù)據(jù)文件還包含數(shù)據(jù)詞典(datadictionary),數(shù)據(jù)修改以前的映象(before-imagesofmodifiedData)索引(indexes)和其他類型的結構(othertypesofstructures)。一個數(shù)據(jù)庫中至少包含一個數(shù)據(jù)文件。數(shù)據(jù)文件的特性有:–一個數(shù)據(jù)文件只能被一個數(shù)據(jù)庫使用。–當數(shù)據(jù)庫空間不足時,數(shù)據(jù)文件具有自動擴展的特性。–一個或者多個數(shù)據(jù)文件構成數(shù)據(jù)庫的邏輯存儲單元叫做表空間(tablespace).

重作日志(Redologs)包含對數(shù)據(jù)庫的修改記錄,可以在數(shù)據(jù)失敗后恢復。一個數(shù)據(jù)需要至少兩個重作日志文件。控制文件(Controlfiles)包含維護和檢驗數(shù)據(jù)庫一致性的信息。例如:控制文件用來檢驗數(shù)據(jù)文件和重作日志文件。一個數(shù)據(jù)庫需要至少一個控制文件。其它文件其他文件參數(shù)文件用來定義Oracle實例的的特性。例例如:他包包含SGA內存的大大小??诹铗炞C文文件用來驗證啟啟動和關閉閉Oracle實例例的用戶。。存檔重做日日志文件是重做日志志的備份用用以恢復數(shù)數(shù)據(jù)。Oracle數(shù)據(jù)據(jù)庫邏輯與與物理結構構DatabaseArchitecture數(shù)據(jù)庫結構構(DatabaseArchitecture)Oracle數(shù)據(jù)據(jù)庫結構包包括物理(physical)和邏輯輯(logical)結構?物理(physical)結構包包括控制文文件(controlfiles),在線線重作日志志(onlineredologfiles),和數(shù)據(jù)據(jù)文件(datafiles).?邏輯logical結構構包括表空空間(tablespaces),段段(segments),區(qū)間(extents),和數(shù)數(shù)據(jù)塊(datablocks).Oracleserver可可以有條理理的通過表表空間以及及段、擴展展、數(shù)據(jù)塊塊控制磁盤盤空間表空間(Tablespaces)Oracledatabase的的數(shù)據(jù)存儲儲在表空間間中。AnOracledatabasecanbelogicallygroupedintosmallerlogicalareasofspaceknownastablespaces.一個tablespace只能同同時屬于一一個database。每個tablespace包含一一個或多個個操作系統(tǒng)統(tǒng)文件-數(shù)數(shù)據(jù)文件(datafiles).一個tablespace可能包包含一個或或多個segments.Tablespaces可可以在數(shù)據(jù)據(jù)庫運行時時使其在線線。除了SYSTEMtablespace或或有活動動回滾段的的tablespace,,tablespaces可以被被離線(offline)。。Tablespaces可可以在讀/寫之間切切換。DatabaseArchitecture(Continued)數(shù)據(jù)文件DataFilesOracle數(shù)據(jù)庫庫tablespace包含含的一個或或多個文件件叫做數(shù)據(jù)據(jù)文件(datafiles)。這這些物理結結構在oracle服務運行行時與操作作系統(tǒng)相配配合。?一個數(shù)數(shù)據(jù)文件只只能屬于一一個tablespace。。?Oracle服服務為表表空間創(chuàng)建建一個數(shù)據(jù)據(jù)文件,分分配指定的的磁盤空間間再加上額額外的一小小部分開銷銷。?數(shù)據(jù)庫管管理員在數(shù)數(shù)據(jù)文件創(chuàng)創(chuàng)建后可以以改變它的的大小或者者設置為根根據(jù)需要自自動增長。。段SegmentsSegment指在tablespace中為為特定邏輯存存儲結構分配配的空間。例例如,為表表分配的所有有存儲空間就就是就是一個個segment。?一個tablespace可能能包含一個或或多個Segment.?segment不能能跨越tablespace;但是,一一個segment可以跨越越多個屬于同同一Tablespace的datafiles。?每個segment有一個個或多個extent組組成。區(qū)間Extents通過extent來給給segment分配空空間。?一個或多多個extents組成成一個segment.–當一個segment創(chuàng)建時時,至少包含含一個extent。。–當segment增長時,extents被加到segment中。。–DBA可可以手工為segment增加extents。?一個extent由一系列列連續(xù)的Oracleblocks組成。。?一個extent不能跨越越datafile,但必須須存在datafile中。TheRelationshipsAmongSegments,Extents,andDataBlocksDataBlocksOracleserver管理datafiles存存儲空間的單單位叫做Oracleblocksordatablocks.?Oracle數(shù)數(shù)據(jù)庫最小的的存儲數(shù)據(jù)單單位為datablocks.?Oracledatablocks是是Oracleserver存存儲儲、、讀讀、、寫寫的的最最小小的的存存儲儲單單位位。。?一一個個datablock對對應應一一個個或或多多個個分分配配給給datafile的的操操作作系系統(tǒng)統(tǒng)塊塊。。?在在Oracle數(shù)數(shù)據(jù)據(jù)庫庫創(chuàng)創(chuàng)建建時時,,初初始始參參數(shù)數(shù)文文件件的的DB_BLOCK_SIZE確確定定Oracle數(shù)數(shù)據(jù)據(jù)庫庫Datablock的的大大小小。。?Datablock的的大小應應該為操操作系統(tǒng)統(tǒng)塊的整整數(shù)倍,,以減少少I/O量。?Datablock的的最大尺尺寸依賴賴于操作作系統(tǒng)。。OracleInstance-SGAOracleinstance包包含SGA內存結構和和管理數(shù)據(jù)庫庫的一些后臺臺進程。Instance被看成使使用各個操作作系統(tǒng)的特定定方法instance只能同同時打開和使使用一個database。SystemGlobalAreaSGA是存儲儲數(shù)據(jù)庫進程程共享的數(shù)據(jù)據(jù)庫信息的內內存區(qū)域。它它包含OracleServer數(shù)據(jù)和控控制信息。分分配在OracleServer駐留的計算算機虛擬內存存中。SGA包含如下內內存結構:?共享池(sharedpool)用來來存儲最近執(zhí)執(zhí)行的SQL語句和最近近使用的數(shù)據(jù)據(jù)字典(datadictionary)的的數(shù)據(jù)。這些些SQL語句句可能是被用用戶遞交的也也可能是存儲儲過程調用的的。?數(shù)據(jù)緩沖區(qū)(databasebuffercache)用來存存儲最近從數(shù)數(shù)據(jù)文件中讀讀寫過的數(shù)據(jù)據(jù)。?重作日志緩沖沖區(qū)(redologbuffer)用來記錄錄服務或后臺臺進程對數(shù)據(jù)據(jù)庫的操作。另外在SGA中還有兩個個可選的內存存結構:?Javapool:用來存儲儲Java代代碼。?Largepool:用來存儲儲不與SQL直接相關的的大型內存結結構。例如::在備份和恢恢復時的數(shù)據(jù)據(jù)拷貝。BackgroundProcesses?DatabaseWriter(DBW0)負責將數(shù)數(shù)據(jù)的更改由由databasebuffercache寫到datafiles。。?LogWriter(LGWR)負責將數(shù)數(shù)據(jù)更改記錄錄由redologbuffer寫到redologfiles.?SystemMonitor(SMON)檢查數(shù)據(jù)據(jù)庫的一致性性,必要的情情況下,在數(shù)數(shù)據(jù)庫打開時時執(zhí)行恢復。。?ProcessMonitor(PMON)用戶進程失失敗時,進程程監(jiān)控程序實實現(xiàn)進程恢復復。?TheCheckpointProcess(CKPT)負責更新新數(shù)據(jù)庫的控控制文件(controlfiles))中的狀態(tài)信信息。在數(shù)據(jù)據(jù)緩存永久寫寫入數(shù)據(jù)庫時時。)PGA(程序序全局區(qū))是內存中的區(qū)區(qū)域,包含單單個進程的數(shù)數(shù)據(jù)和控制信信息。每個服服務器進程分分配一個PGA,PGA由每個服務務器進程獨占占。當用戶連連接入Oracle數(shù)據(jù)據(jù)庫并建立會會話時,Oracle分分配PGA。。與SGA不不同,PGA僅被一個進進程使用。COMMITs步驟當COMMIT執(zhí)行行時:1server在redologBuffer中放置一個個SCN作為為commit記號。。2LGWR執(zhí)執(zhí)行一個不間間斷的寫操作作包括所有的的redologbuffer寫到redologfiles及commit記號號。在這一點點,Oracleserver可可以保證即使使在實例失敗敗時數(shù)據(jù)也不不會丟失。3用戶被通知COMMIT完成。.4server記錄信息顯顯示事務已經(jīng)經(jīng)完成,鎖可可以被釋放。。數(shù)據(jù)緩沖信息息獨立的由DBW0執(zhí)行行,可能在commit前也可能在在Commit后。SystemChangeNumber無論事務在何何時提交,Oracleserver總是分分配一個SystemChangeNumber(SCN)給給這個事務。。SCN自動動增加,在數(shù)數(shù)據(jù)庫是唯一一的。它OracleServer被用來作作為內部的時時間戳,來同同步數(shù)據(jù)及保保證數(shù)據(jù)讀一一致性。使用用SCN可可以不依靠靠操作系統(tǒng)時時間來檢驗一一致性。SQL語語句句的的執(zhí)執(zhí)行行過過程程?A、、用用戶戶發(fā)發(fā)出出SQL請請求求,,打打開開游游標標;;B、、把把SQL語語句句語語法法分分析析,,執(zhí)執(zhí)行行計計劃劃,,數(shù)數(shù)據(jù)據(jù)字字典典等等信信息息存存入入內內存存中中共共享享池池內內;;C、、從從數(shù)數(shù)據(jù)據(jù)文文件件中中把把相相關關數(shù)數(shù)據(jù)據(jù)塊塊讀讀入入數(shù)數(shù)據(jù)據(jù)緩緩沖沖區(qū)區(qū);;D、、做做相相應應操操作作,,若若做做修修改改,,先先加加上上行行級級鎖鎖,,經(jīng)經(jīng)確確認認后后,,把把改改過過前前后后記記錄錄內內容容存存入入重重做做日日志志緩緩沖沖區(qū)區(qū)內內;;E、、返返回回結結果果給給用用戶戶,,關關閉閉游游標標。。備注注::SQL語語句句大大小小寫寫敏敏感感的的,,同同樣樣的的一一個個語語句句,,若若大大小小寫寫不不同同,,oracle需需分分析析執(zhí)執(zhí)行行兩兩次次,,每每句句后后必必以以““;;””結結束束。。summaryInthislesson,youshouldhavelearnedhowto:?Explaindatabasefiles:datafiles,controlfiles,onlineredologs?ExplainSGAmemorystructures:DBbuffercache,sharedSQLpool,andredologbuffer?Explainprimarybackgroundprocesses:DBW0,LGWR,CKPT,PMON,SMON,andARC0?ExplainSQLprocessingsteps:parse,execute,fetch數(shù)據(jù)字字典數(shù)據(jù)字字典DataDictionary數(shù)據(jù)字字典數(shù)據(jù)字字典是是Oracle數(shù)據(jù)據(jù)庫的的重要要組成成。它它由一一組只只讀表表組成成。包括::數(shù)據(jù)庫庫所有有對象象的定定義((表,,視圖圖,索索引,,簇,,同義義詞,,序列列,,過程程,函函數(shù),,程序序包,,觸發(fā)發(fā)器))空間的的分配配和使使用狀狀況列的缺缺省值值完整性性約束束信息息用戶名名已授予予用戶戶的角角色和和權限限審計信信息等等數(shù)據(jù)字字典結結構基表存放相相關數(shù)數(shù)據(jù)庫庫信息息的基基礎表表視圖匯總并并顯示示存放放數(shù)據(jù)據(jù)字典典基表表中信信息的的視圖圖數(shù)據(jù)字字典所所有者者Oracle的的sys用用戶擁擁有數(shù)數(shù)據(jù)字字典所所有的的基表表和視視圖。。任何Oracle用用戶都都不能能改變變數(shù)據(jù)據(jù)字典典的任任何數(shù)數(shù)據(jù)。。不能能更新新、插插入、、刪刪除。。數(shù)據(jù)據(jù)字典典的改改變會會影響響數(shù)據(jù)據(jù)庫的的正常常運行行。系統(tǒng)管管理員員需要要嚴格格管理理系統(tǒng)統(tǒng)用戶戶.(sysandsystem)數(shù)據(jù)字字典分分類USER_*:用用戶擁擁有的的對象象ALL_*:可可訪訪問的的對象象DBA_*:所所有有對象象.---7.3.493個---8.0.5118個個---8.1.6165個個從DICTIONARY(DICT))中可可查到到名稱稱常用的的數(shù)據(jù)據(jù)字典典Dba_tablespacesDba_data_filesDba_tablesDba_usersDba_viewsDba_indexesDba_db_linksDba_free_spaceDba_ind_columnsDba_jobsDba_objectsDba_rollback_segsDba_segmentsDba_sequencesDba_snappshotsDba_synonymsDba_tab_columnsDba_triggersDba_constraintsDba_cons_columns前綴范圍USER用戶視圖ALL用戶可訪問的部分DBA數(shù)據(jù)庫管理員視圖PL*SQLPL*SQLSQL是結結構化化的查查詢語語言Oracle的的SQL語語言包包含對對ANSI/ISO標準準SQL語語言的的擴充充。Oracle的的SQL語語言分分為以以下幾幾類::DML(數(shù)數(shù)據(jù)操操縱語語言))DDL(數(shù)數(shù)據(jù)定定義語語言))事物處處理的的控制制語言言會話控控制語語句系統(tǒng)控控制語語句SQL*PLUS是Oracle的一一個使使用程程序,,它可可以運運行于于客戶戶端,,也可可以運運行服務器器端,,通過過它能能夠查查看數(shù)數(shù)據(jù)字字典的的信息息,以以及查查看用用戶數(shù)數(shù)據(jù)和和結構構等,,運行行程序序。PL*SQL是Oracle的一一種過過程化化的SSQLL語言言。他他有自自己的的程序序結構構,有各種種條件件控制制和循循環(huán)控控制。。通過過PLL*SSQLL語言言,能能夠寫寫數(shù)據(jù)據(jù)庫的的存儲儲過程程和包包。甚甚至通通過PL*SQL語語言還還可以以開發(fā)發(fā)基于于Web的的應用用。OracleSQL,,SQL*PlusandPL*SQLDMLSelect(從從一個個或多多個表表或視視圖中中檢索索數(shù)據(jù)據(jù))selectempno,ename,sal,deptnofromempwheredeptno=10;復雜的的select語語句::groupby子子句句selectdeptno,min(sal),max(sal)fromempgroupbydeptno;having子子句句selectdeptno,min(sal),max(sal)fromempwherejob=‘CLERK’groupbydeptnohavingmin(sal)<1000;Orderbyselectename,deptno,salfromemporderbydeptnoASC,salDESC;forupfateselectempno,sal,commfromemp,deptwherejob=‘‘CLERK’’andemp.deptno=dept.deptnoandloc=‘NEWYORK’’forupdate;selectempno,sal,commfromemp,deptwherejob=‘‘CLERK’’andemp.deptno=dept.deptnoandloc=‘NEWYORK’’forupdateofemp.sal;joinselectempno,ename,dnamefromemp,deptwhereemp.deptno=dept.deptno;DMLupdate(改變變表與與視圖圖現(xiàn)有有行與與列的的值)updateempsetsal=1000whereempno=7369;Insert(向向表與與視圖圖中增增加新新行)insertintoempvalues(8888,‘‘abc’’,‘‘clerk’’,0000,sysdate,2000,0,10);delete(從從表與與視圖圖中刪刪除行行)deletefromempwheredeptno=10;不支持持selectinto,,要要用createascreatetableasselect*fromtablename常用的的sql函函數(shù)numberfunctionabs(n)mod(m,n)power(m,n)round(m,n)sign(n)sort(n)開開平方方trunc(n,m)DatefunctionADD_MONTHS(d,n)LAST_DAY(d)MONTHS_BETWEEN(d1,d2)NEXT_DAY(d,char)SYSDATE...ConversionFunctionsTO_CHAR(d,format)TO_CHAR(n,format)TO_NUMBERTO_DATEcharacterfunctionCONCAT(char1,char2)/*返返回char1與char2的連連接*/INITCAP(char)/*返返回回第一一個字字母大大寫的的string*/LPAD(char1,n[,char2])LTRIM(char[,set])LOWERREPLACE(char,search_string[,replacement_string])SUBSTR(char,m[,n])INSTR(char1,char2[,n[,m]])UPPER(char)LENGTH(char)...其它函函數(shù)NVL(expr1,expr2)USER...SQL*PlusSQLPlus是Oracle的的一個個實用程程序.sql*plus的使使用:數(shù)據(jù)庫創(chuàng)創(chuàng)建后,,將安裝裝scott/tiger的的demo用戶戶。sqlplusscott/tigersql>/*sql*plus的命令令行狀態(tài)態(tài)*/sql>setpauseonspoolfilenamespooloff維護參數(shù)數(shù)文件((init.ora))ManaginganOracleInstanceUsesofParametersTheparameterfile,commonlyreferredtoastheinitsid.orafile,isatextfilethatcanbemaintainedusingastandardoperatingsystemeditor.Bydefault,itislocatedinthe%ORACLE_HOME%\databasedirectoryonWindowsNT.WithOracle8ionWindowsNT,theparameterfilepointstothe%ORACLE_HOME%\admin\sid\pfiledirectorywheretheactualparameterfileisstored.Theparametersintheinitsid.orafilecanhaveasignificanteffectondatabaseperformance,andsomeneedtobemodifiedinthefollowingwaysforproductionsystems:?SizetheSystemGlobalArea(SGA).?Setdatabaseandinstancedefaults.?Setuserorprocesslimits.?Setlimitsondatabaseresources.?Definevariousphysicalattributesofthedatabase,suchasthedatabaseblocksize.?Specifycontrolfiles,archivedlogfiles,theALERTfile,andtracefilelocations.RulesforSpecifyingParameters?Specifythevaluesinthefollowingformat:keyword=value.?Allparametersareoptional.?Theserverhasadefaultvalueforeachparameter.Thisvaluemaybeoperatingsystemdependent,dependingontheparameter.?Parameterscanbespecifiedinanyorder.?Commentlinesbeginwiththe#symbol.?Encloseparametersindoublequotationmarkstoincludecharacterliterals.?AdditionalfilescanbeincludedwiththekeywordIFILE.?Ifcaseissignificantfortheoperatingsystem,thenitisalsosignificantinfilenames.?Multiplevaluesareenclosedinparenthesesandseparatedbycommas.Note:Developastandardforlistingparameters;eitherlistthemalphabeticallyorgroupthembyfunctionality.StartingtheInstanceUsuallyyouwouldstartaninstancewithoutmountingadatabaseonlyduringdatabasecreationorthere-creationofcontrolfiles.Startinganinstanceincludesthefollowingtasks:?Readingtheparameterfileinitsid.ora?AllocatingtheSGA?Startingthebackgroundprocesses?OpeningtheALERTfileandthetracefilesThedatabasemustbenamedwiththeDB_NAMEparametereitherintheinitSID.orafileorintheSTARTUPcommand.MountingtheDatabaseToperformspecificmaintenanceoperations,youstartaninstanceandmountadatabasebutdonotopenthedatabase.Forexample,thedatabasemustbemountedbutnotopenduringthefollowingtasks:?Renamingdatafiles?Enablinganddisablingredologarchivingoptions?PerformingfulldatabaserecoveryMountingadatabaseincludesthefollowingtasks:?Associatingadatabasewithapreviouslystartedinstance?Locatingandopeningthecontrolfilesspecifiedintheparameterfile?Readingthecontrolfilestoobtainthenamesandstatusofthedatafilesandredologfiles(However,nochecksareperformedtoverifytheexistenceofthedatafilesandonlineredologfilesatthistime.)OpeningtheDatabaseNormaldatabaseoperationmeansthataninstanceisstartedandthedatabaseismountedandopen;thisallowsanyvalidusertoconnecttothedatabaseandperformtypicaldataaccessoperations.Openingthedatabaseincludesthefollowingtasks:?Openingtheonlinedatafiles?OpeningtheonlineredologfilesIfanyofthedatafilesoronlineredologfilesarenotpresentwhenyouattempttoopenthedatabase,theOracleserverreturnsanerror.Duringthisfinalstage,theOracleserververifiesthatallthedatafilesandonlineredologfilescanbeopenedandcheckstheconsistencyofthedatabase.Ifnecessary,theSystemMonitorbackgroundprocess(SMON)initiatesinstancerecovery.StartingUpTostartupaninstance,usethefollowingcommand:STARTUP[FORCE][RESTRICT][PFILE=filename][OPEN[RECOVER][database]|MOUNT|NOMOUNT]ToopenthedatabasefromSTARTUPNOMOUNTtoaMOUNTstageorfromMOUNTtoanOPENstage,usetheALTERDATABASEcommand:ALTERDATABASE{MOUNT|OPEN}ALTERDATABASEOPEN[READWRITE|READONLY]Example:Startuptheinstanceandopenthedatabase:STARTUPPFILE=/DISK1/initU15.ChangethestateofthedatabasefromNOMOUNTtoMOUNT:ALTERDATABASEdatabaseMOUNT;Openthedatabaseasaread-onlydatabase:ALTERDATABASEdatabaseOPENREADONLY;QuickReference管理理控控制制文文件件課程程目目標標解釋控制文文件的使用用了解控制文文件的內容容獲取控制文文件信息復用控制文文件控制文件的的作用是小的二進進制文件,,在:數(shù)據(jù)庫MOUNT數(shù)據(jù)庫運行行需要使用用。控制文件與與一個數(shù)據(jù)據(jù)庫有關應該復用以以防止文件件丟失控制文件的的內容數(shù)據(jù)庫名數(shù)數(shù)據(jù)文件件位置重重作日志位位置

表空空間名當當前日志文文件順序號號

檢查點點信息日日志歷史備備分信息息影響控制文文件大小的的參數(shù)控制文件的的大小受下下列參數(shù)影影響:MAXLOGFILESMAXLOGMEMBERSMAXLOGHISTORYMAXDATAFILESMAXINSTANCESCONTROL_FILE_RECORD_KEEP_TIME獲取控制文文件的信息息V$CONTROLFILE

-NAMEV$PARAMETER-NAME(control_file)-VALUEV$CONTROLFILE_RECORD_SECTION-TYPE-RECORDS_SIZE-RECORDS_TOTAL-RECORDS_USED控制文件使使用的原則則復用控制文文件在CONTROL_FILES中中包含完全全路徑在數(shù)據(jù)庫結結構發(fā)生變變化時備份份控制文件件復用控制文件件control_files=(/DISK1/control01.con,/DISK2/control02.con)常見問題改變控制文件件的位置1.正常關關閉數(shù)據(jù)庫2.將控制制文件從當前前位置依到新新的位置3.修改initsid.ora或configsid.ora中control_file參數(shù)數(shù).4.啟動數(shù)數(shù)據(jù)庫常見問題----一一個控制文文件丟失可關閉數(shù)據(jù)庫庫復制好的控控制文件----所所有控制文件件丟失,重建建控制文件svrmgrl>startupmountsvrmgrl>alterdatabasebackupcontrolfiletotrace編輯udump下的TRACE文件件執(zhí)行文件管理表空間和和數(shù)據(jù)文件課程目標了解數(shù)據(jù)庫的的邏輯結構建立表空間利用幾種方法法改變表空間間的大小改變表空間的的狀態(tài)和存儲儲參數(shù)改變數(shù)據(jù)文件件位置準備需要的表表空間表空間表空間由一組組數(shù)據(jù)文件組組成每個數(shù)據(jù)文件件屬于一個表表空間每個表,索引引,分區(qū)和所所有其他的段段均屬于一個個表空間但可可以跨表空間間的多個數(shù)據(jù)據(jù)文件SYSTEM和非SYSTEM表表空間SYSTEM表空間包包含:數(shù)據(jù)字典信息息SYSTEM回滾段非SYSTEM表空間包包含:回滾段臨時段應用數(shù)據(jù)應用索引臨時表空間用于排序操作作不能包含永久久性數(shù)據(jù)CREATETABLESPACEsortDATAFILE?DISK2/sort01.dbf?SIZE50MMINIMUMEXTENT1MDEFAULTSTORAGE(INITIAL2MNEXT2MMAXEXTENTS500PCTINCREASE0)TEMPORARY;回滾表空間用于保存回回滾段不要包含其其他永久性數(shù)數(shù)據(jù)CREATETABLESPACErbsDATAFILE?DISK2/sort01.dbf?SIZE50MMINIMUMEXTENT1MDEFAULTSTORAGE(INITIAL2MNEXT2MMAXEXTENTS500PCTINCREASE0);建立表空間CREATETABLESPACEapp_dataDATAFILE?DISK4/app01.dbf?SIZE100M,?DISK5/app02.dbf?SIZE100MMINIMUMEXTENT500KDEFAULTSTORAGE(INITIAL500KNEXT500KMAXEXTENTS500PCTINCREASE0);存儲參數(shù)下述參數(shù)影響響段的空間分分配:INITIALNEXTMAXEXTENTSMINEXTENTSPCTINCREASE表空間管理的的一般原則使用同樣大小小的子段只在表空間上上指定存儲參參數(shù)子段大小為160K,5120KB,160MB監(jiān)視子段個數(shù)數(shù)超過1024的段非常大的表應應單獨建立表表空間TEMP段應應放在TEMP表空間回滾段應單獨獨放在回滾段段的表空間給表空間增加加數(shù)據(jù)文件ALTERTABLESPACEAPP_dataADDDATAFILE?DISK5/app03.dbf?SIZE200M;允許數(shù)據(jù)文件件自動擴展ALTERTABLESPACEapp_dataADDDATAFILE?DISK6/app04.dbf?SIZE200MAUTOEXTENDONNEXT10MMAXSIZE500M;TablespaceAPP_DATAALTERDATABASEDATAFILE?DISK5/app02.dbf?RESIZE200M;手工改變數(shù)據(jù)據(jù)文件的大小小改變存儲參數(shù)數(shù)ALTERTABLESPACEapp_dataMINIMUMEXTENT2M;ALTERTABLESPACEapp_dataDEFAULTSTORAGE(INITIAL2MNEXT2MMAXEXTENTS999);將表空間OFFLINE不能訪問處于于OFFLINE狀態(tài)的的表空間的數(shù)數(shù)據(jù)SYSTEM和包含活活動回滾段的的表空間不能能OFFLINEALTERTABLESPACEapp_dataOFFLINE;移動數(shù)據(jù)文件件表空間APP_DATA必須OFFLINE目標文件必須須存在ALTERTABLESPACEapp_dataRENAMEDATAFILE?DISK4/app01.dbf?TO?DISK5/app01.dbf?只讀表空間ALTERTABLESPACEapp_dataREADONLY;表空間必須在在ONLINE狀態(tài)表空間中不含含活動的事事物.表空間中不含含活動的回回滾段表空間中不在在作在線備份份刪除表空間DROPTABLESPACEapp_dataINCLUDINGCONTENTS;下述命令刪除除APP_DATA表表空間及其中的內容.獲取表空間有有關的信息DBA_TABLESPACESTABLESPACE_NAMENEXT_EXTENTMAX_EXTENTSPCT_INCREASEMIN_EXTLENSTATUSCONTENTS獲取數(shù)據(jù)文件件有關的信息息DBA_DATA_FILESFILE_NAMETABLESPACE_NAMEBYTESAUTOEXTENSIBLEMAXBYTESINCREMENT_BY一般原則使用多個表空空間為表空間指定定存儲參數(shù)給用戶指定表表空間限額回滾段的管理理課程目標回滾段個數(shù)和和大小的規(guī)劃劃使用用合合適適的的存存儲儲參參數(shù)數(shù)建建立立回回滾滾段段回滾滾段段的的維維護護從數(shù)數(shù)據(jù)據(jù)字字典典中中獲獲取取回回滾滾段段的的信信息息回滾滾段段問問題題的的診診斷斷回滾滾段段的的類類型型SYSTEM非-SYSTEM私用用公用用1、事事物和和回滾滾段2、回回滾段段的增增長4、讀讀一致致性介紹回回退段段的有有關概概念3、回回滾段段的回回縮回滾段段個數(shù)數(shù)的規(guī)規(guī)劃OLTP多個小小的回回滾段段每個回回滾段段四個個事物物《=N/4Batch少量的的大回回滾段段回滾段段個數(shù)數(shù)的規(guī)規(guī)劃查詢是是否有有回滾滾段的的競爭爭SVRMGR>select*fromv$waitstat;CLASSCOUNTTIME--------------------------------------datablock00sortblock00saveundoblock00segmentheader00saveundoheader00freelist00systemundoheader00systemundoblock00undoheader00undoblock00回滾段的大大小規(guī)劃使用同樣大大小的子段段INITIAL,NEXT應應用2KB,4KB。。。MINEXTENTS設為20OPTIMAL應應大于MINTEXTENTS的大小小INITIAL=NEXT=1。25M/n建立回滾段段CREATEROLLBACKSEGMENTrbs01TABLESPACErbsSTORAGE(INITIAL100KNEXT100KOPTIMAL4MMINEXTENTS20MAXEXTENTS100);使回滾段ONLINEALTERROLLBACKSEGMENTrbs01ONLINE;ROLLBACK_SEGMENTS=(rbs01)在初始化參參數(shù)中指定定,以保證證數(shù)據(jù)庫啟啟動時ONLINE用下述命令令使回滾段段可用事物如何使使用回滾段段將所有回滾滾段ONLINE獲得私有回回滾段有足夠的回滾段獲取公用回回滾段計算需要的的回滾段個個數(shù)YesNo修改回滾段段存儲參數(shù)數(shù)ALTERROLLBACKSEGMENTrbs01STORAGE(MAXEXTENTS200);使用ALTERROLLBACKSEGMENT命令從回滾段中中釋放空間間ALTERROLLBACKSEGMENTrbs01SHRINKTO4M;使用ALTERROLLBACKSEGMENT命命令使回滾段OfflineALTERROLLBACKSEGMENTrbs01OFFLINE;刪除回滾段段DROPROLLBACKSEGMENTrbs01;ALTERROLLBACKSEGMENTrbs01OFFLINE;回滾段在刪刪除之前必必須OFFLINE將回回滾滾段段offline后后回回滾滾段段不不可可用用數(shù)據(jù)據(jù)庫庫中中的的回回滾滾段段\查查詢詢回回滾滾段段信信息息DBA_ROLLBACK_SEGS標識識SEGMENT_IDSEGMENT_NAME所在在表表空空間間,,類類型型和和狀狀態(tài)態(tài)TABLESPACE_NAMEOWNER(PUBLICorSYS)STATUS(ONLINEorOFFLINE)回滾滾段段統(tǒng)統(tǒng)計計信信息息V$ROLLNAMEUSNNAMEV$ROLLSTATUSNEXTENTSRSSIZEXACTSOPTSIZEHWMSIZEAVEACTIVESTATUSCUREXTCURBLK回滾滾段段常常見見問問題題空間間不不夠夠讀一一致致性性錯錯誤誤阻塞塞事事物物表空空間間offline時時出出錯錯空間間不不夠夠表空空間間中中無無空空閑閑空空間間增大大文文件件允許許文文件件自自動動擴擴充充增加加文文件件達到到段段的的MAXEXTENTS增大大MAXEXTENTS用更更大大的的子子段段參參數(shù)數(shù)重重建建回回滾滾段段用戶戶管管理理1、創(chuàng)創(chuàng)建建、、改改變變、、刪刪除除和和監(jiān)監(jiān)控控oracle的的新新用用戶戶用戶戶管管理理(1)賦賦于于合合法法的的用用戶戶或或和和密密碼碼SVRMGL>CREATEUSERusernameIDENTIFIEDBYuserpassword[DEFAULTTABLESPACEtablespace1][TEMPORARYTABLESPACEtablespace2][QUOTAnKONtablespace1];MUNLIMITED空間間限限額額(2)授授于于用用戶戶連連接接Oracle數(shù)數(shù)據(jù)據(jù)庫庫的的權權限限SVRMGL>grantconnecttousername[withgrantoption];rolenameprivelege......常用的幾幾個角色色role(權限的的集合)connect(8)連連上Oracle,做最基基本操作作resource(5)具具有程序序開發(fā)最最基本的的權限dba(77)數(shù)數(shù)據(jù)庫管管理員所所有權限限exp-full-database可可把數(shù)數(shù)據(jù)庫整整個備份份輸出的的權限imp-full-datsabase可可把數(shù)數(shù)據(jù)庫整整個備份份恢復輸輸入的權限限(3)alteruser;(4)dropuser[cascade];(5)revokerolefromuser;2、權限限的管理理權限的分分類systemprivilege針針對整個個系統(tǒng)操操作的權權限objectprivilege針針對整整個具體體object操作的的權限可查看dba-sys-privs,dba-fab-privs;視圖圖dba-col-privs;數(shù)據(jù)庫的的實用程程序OracleExportOracleImportOracleEnterpriseManager數(shù)據(jù)庫的的實用程程序Export它是Oracle數(shù)據(jù)據(jù)庫的一一個實用用程序。。它將Oracle數(shù)數(shù)據(jù)庫的的數(shù)據(jù)和結構構移出Oracle放放入到一一個二進進制的export文文件中中。它轉出的數(shù)數(shù)據(jù)只有有Oracle的import程序序能夠處處理。Import它將讀取取轉出的的數(shù)據(jù)將將重建數(shù)數(shù)據(jù)庫的的內容與與結構。。SQL*LOAD它提供了了將ascii格式的的數(shù)據(jù)裝裝載入庫庫的工具具。它是是一種非非常靈活活多樣的的工具。。Export(卸載載)執(zhí)行exportexpusername/passwordparfile=filename交互式expusername/password獲取聯(lián)機機幫助exphelp=yPARFILE文件格式:FULL=YFILE=DBA.DMPGRANTS=YINDEXES=YCONSISTENT=YExport(卸卸載)export常見參參數(shù)的含義義userid是exp命命令的第一一個參數(shù)。。定義你需需要卸載數(shù)數(shù)據(jù)的用戶戶。file定義export文文件的名名字buffer決定在export時,用來來存放卸載載數(shù)據(jù)的緩緩沖區(qū)的大大小。full控制export級級別。它是是決定數(shù)據(jù)據(jù)的備份級級別是基于于全數(shù)據(jù)庫庫grants決定export程程序是否卸卸載授權default=yowner決定數(shù)據(jù)卸卸載的級別別。如果設設定owner參數(shù)數(shù),卸載的的級別為用戶級tables決定數(shù)據(jù)卸卸載的級別別,如果設設tables參數(shù)數(shù),則卸載載級別為表表級rows決定只卸載載數(shù)據(jù)結構構還是需要要卸載數(shù)據(jù)據(jù)Export舉例全數(shù)據(jù)庫的的備份expsystem/managerfull=Yfile=dba.dmpgrants=Yrows=Y用戶級的數(shù)數(shù)據(jù)庫備份份expscott/tigerfile=scott.dmpowner=scottgrants=Yrows=Ycompress=y表級數(shù)據(jù)庫庫備份expblake/paperfile=blake.dmptables=(dept,manager)rows=ycompress=Y執(zhí)行importimpusername/passwordparfile=filename交互式impusername/password獲取聯(lián)機幫幫助imphelp=yparfile格式式FULL=YFILE=DBA.DMPGRANTS=YINDEXES=Y#importallindexesImport(裝裝載)import常見參參數(shù)含義file/*定定義被裝載載的文件名名*/fromuser/*定義import包含對象象的schme的列列表*/full/*完全全數(shù)據(jù)庫的的裝載*/indexes/*定義義是否裝載載索引*/tables/*定義需要要裝載表名名的列表*/touser/*定義需要要裝載的用用戶列表*/userid/*定定義義執(zhí)執(zhí)行行imp的的用用戶戶*/Import舉舉例例對特特定定用用戶戶選選擇擇表表的的數(shù)數(shù)據(jù)據(jù)裝裝載載impsystem/managerfile=dba.dmpfromuser=scotttables=(dept,emp)裝載載從從另另外外用用戶戶中中卸卸載載的的表表impscott/tigerfromuser=blaketouser=scottfile=blake.dmptables=(unit,manager)裝載從一一個用戶戶到另外外一個用用戶的表表impsystem/managerfile=scott.dmpfromuser=scotttouser=blaketables=(*)Oracle數(shù)數(shù)據(jù)庫庫的備份份與恢復復數(shù)據(jù)庫備備份數(shù)據(jù)庫例例程失敗敗的恢復復介質故障障的恢復復備份方式式物理備份份就是Oracle的數(shù)數(shù)據(jù)文件件通過操操作系統(tǒng)統(tǒng)的工具具進行的的備份份。熱備份數(shù)據(jù)庫啟啟動并以以歸檔方方式onlineoffline冷備份數(shù)據(jù)庫關關閉歸檔方式式非歸檔方方式邏輯備份份通過Oracle的實實用程序序進行的的備份exp&imp物理備份份確認需要要備份的的文件的的位置數(shù)據(jù)文件件以Oracle用戶的的身份進進入操作作系統(tǒng)sqlplussys/managerselectname,statusfromv$datafile;NAMESTATUS------------------------------------------------------------------------------------------------------------------------------------------------------------------/u02/oradata/test/systest.dbfSYSTEM/u03/oradata/test/rbstest.dbfONLINE/u03/oradata/test/temptest.dbfONLINE/u04/oradata/test/usrtest.dbfONLINE/u04/oradata/test/tooltest.dbfONLINE日志文件件以Oracle用戶的的身份進進入操作作系統(tǒng)sqlplussys/managerselectmemberfromv$logfile;MEMBER------------------------------------------------------------------------------------------------------------------------------------------------------/u01/oradata/test/log1test.dbf/u01/oradata/test/log2test.dbf/u01/oradata/test/log3test.dbf物理理備備份份確認認需需要要備備份份的的文文件件的的位位置置控制制文文件件以Oracle用用戶戶的的身身份份進進入入OS。。$svrmgrlsvrmgr>connectinternal;connectedsvrmgr>showparametercontrol_file;NAMETYPEVALUE------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------control_filesstring/u01/oradata/test/ctrl1test.ctlsvrmgr>通常情情況下下,系系統(tǒng)會會有三三個控控制文文件歸檔文文件以Oracle的身身份進進入操操作系系統(tǒng)。。鍵入入如下下命令令:$svrmgrlsvrmgr>connectinternal;connected.svrmgr>showparameterarchive;NAMETYPEVALUE-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------log_archive_desstring?/dba/archlog_archive_formatstring%t_%s.dbfsvrmgr>物理備備份確認需需要備備份的的文件件的位位置參數(shù)文文件以oracle用戶戶的身身份進進入操操作系系統(tǒng),,并且且知道道oracle數(shù)據(jù)據(jù)庫的的sid.假設sid為ora805$cd$ORACLE_HOME/dbs$lsinit*.orainit.orainitora805.ora(其其中initora805.ora是是系系統(tǒng)的的參數(shù)數(shù)文件件)或者通通過下下列的的命令令查詢詢instance的的sid::sqlplussys/manager;sql>selectinstancefromv$tread;INSTANCE-----------------------------------------------------------------------------------test/*test為oracle的sid*/熱備份(物理備備份)定義在數(shù)據(jù)庫庫啟動的的情況下下進行的的備份。。對數(shù)據(jù)據(jù)庫所有有的物理理文件進進行拷貝貝時,Oracle用用戶仍然然處于不不間斷運運行的環(huán)環(huán)境中。。熱備份可可以兩種種:online與與offline的唯唯一區(qū)別別是:數(shù)數(shù)據(jù)庫的的tablespace是是否在線線。online需要備份份的tablespace是是在線的的。offline需要備份份的tablespace是是離線的的。數(shù)據(jù)庫熱熱備份的的步驟1.以以archivelog方式式啟動數(shù)數(shù)據(jù)庫在正常數(shù)數(shù)據(jù)shutdown。修改改參數(shù)文文件:init<sid>.ora增加下面面兩行::log_archive_start=truelog_archive_dest=$ORACLE_HOME/dbs/arch重新啟動動數(shù)據(jù)庫庫,這時時數(shù)據(jù)庫庫將以archivelog方方式運行行.$svrmgrlsvrmgr>connectinternal;svrmgr>startupmount;svrmgr>alterdatabasearchivelog;svrmgr>archivelogstart;svrmgr>alterdatabaseopen;數(shù)據(jù)庫熱備備份的步驟驟2. 備份份數(shù)據(jù)庫在線的tablespace的備份執(zhí)行svrmgrlsvrmgr>connectinternal;svrmgr>altertablespacetablespace_namebeginbackup;svrmgr>執(zhí)行行系統(tǒng)的備備份文件命命令cpsvrmgr>altertablespacetablespace_nameendbackup;下線的tablespace的備份svrmgr>altertablespacetablespace_nameofflinenormal;svrmgr>執(zhí)執(zhí)行行操操作作系系統(tǒng)統(tǒng)備備份份的的命命令令svrmgr>altertablespacetablespace_nameonline;數(shù)據(jù)據(jù)庫庫熱熱備備份份的的步步驟驟2.備備份份數(shù)數(shù)據(jù)據(jù)庫庫備份份控控制制文文件件svrmgr>connectinternal;svrmgr>alterdatabasebackupcontrolfileto‘‘filename’’reues;備份份控控制制文文件件tracesvrmgr>connectinternal;svrmgr>alterdatabasebackupcontrolfiletotrace;在系系統(tǒng)統(tǒng)發(fā)發(fā)生生故故障障時時的的恢恢復復工工作作,,需需要要根根據(jù)據(jù)不不同同的的故故障障情情況況,,在在oracle工工程程師師的的指指導導下下實實現(xiàn)現(xiàn)恢恢復復的的工工作作。。數(shù)據(jù)據(jù)庫庫熱熱備備份份的的注注意意事事項項在執(zhí)執(zhí)行行熱熱備備份份的的方方式式下下,,數(shù)數(shù)據(jù)據(jù)庫庫不不能能運運行行于于noarchivelog方方式式。。查詢詢數(shù)數(shù)據(jù)據(jù)庫庫的的運運行行模模式式::svrmgr>connectinternal;svrmgr>archiveloglist;DatabaselogModeArchiveModesql>connectsys/managersql>selectlog_modefromv$database;LOG_MODE----------------------------------------------------------------ARCHIVELOG在數(shù)數(shù)據(jù)據(jù)庫庫中中,,system表表空空間間不不能能offline,所所以以,,只只能能使使用用online的的熱熱備備份份方方式式。。對于于一一個個tablespace中中所所有有的的數(shù)數(shù)據(jù)據(jù)文文件件均均需需要要進進行行備備份份,,否否則則整整個個tablespace是是無無效效的的。。在做做熱熱備備份份時時,,盡盡量量選選擇擇數(shù)數(shù)據(jù)據(jù)庫庫最最不不繁繁忙忙時時進進行行。。冷備備份份定義義::在數(shù)數(shù)據(jù)據(jù)庫庫系系統(tǒng)統(tǒng)正正常常關關閉閉的

溫馨提示

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

評論

0/150

提交評論