表空間管理PPT課件.ppt_第1頁
表空間管理PPT課件.ppt_第2頁
表空間管理PPT課件.ppt_第3頁
表空間管理PPT課件.ppt_第4頁
表空間管理PPT課件.ppt_第5頁
已閱讀5頁,還剩24頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

表空間管理 任課教師 馮玲 1 表空間管理 表空間概述創建表空間修改表空間刪除表空間查看表空間 2 表空間概述 表空間時oracle數據庫中最大的邏輯結構Oracle數據庫是有一個或多個表空間組成表空間在物理上與磁盤上的數據文件相對應 一個表空間由一個或多個數據文件組成 但一個數據文件只能屬于一個表空間 從物理上說數據存放在數據文件中 從邏輯上說數據存放在表空間中 總之 表空間提供一套有效組織數據的方法 可以將表空間看做數據庫對象的容器 它被劃分成一個一個獨立的邏輯段 分別對應地存儲數據庫中鎖創建的一個一個對象 方案對象 3 概念的對應關系 一個大樓里可以安排幾個公司 可以搬入公司 也可以搬出公司 一個公司鎖占用的面積是它所占用的各個房間面積的總和 每個公司可以占用多個房間 也可以根據業務增減增減或減少房間 但在安排各個公司占用多少房間時最好規劃一下在蓋大樓時 可以根據使用目的建筑不同風格的房間 如銀行 餐廳 舞廳 會議室 健身房等 進駐大樓的公司可以永久的也可以臨時的 不同類型的公司一般使用某種風格的房間為了更好的交流 一般應將同一公司的各個房間安排在就近的地方 4 表空間作用 控制數據庫所占用的磁盤空間 控制用戶所占用的表空間配額 通過不同表的數據 分區表中不同分區的數據放置到不同的表空間中 可以提高數據庫的I O性能 并有利于進行部分備份和恢復的管理工作 能夠將一個表的數據和這個表的索引數據分別放置到不同的表空間中 同樣可以提高數據的I O性能 可以將表空間設置成只讀狀態而保持大量的靜態數據 5 表空間類型 系統表空間 system表空間和sysaux表空間非系統表空間 除system表空間和sysaux表空間以外的表空間 臨時表空間 撤銷表空間 大文件表空間和小文件表空間 6 表空間的區 段管理方式 7 表空間的區管理方式 字典管理方式 傳統的管理方式 是為了與早期版本兼容而保留的區管理方式 該方式是使用數據字典來管理存儲空間的分配 使用過程會產生回退信息和重做信息 這是字典管理的特定也是缺點 本地管理方式 推薦方式 使用該管理方式 表空間中區分配與回收的管理信息都被存儲在表空間的數據文件中 而與數據字典無關 8 區分配方式 在本地管理方式下 可以有兩種區分配方式 統一 uniform 指定表空間中所有區的大小都相同 區的大小默認是1m 也可以指定這個大小 在撤銷表空間中不能使用這個選項 自動 autoallocate或system 指定由oracle系統自動管理區的大小 這是默認的設置 說明 在自動區的分配方式下 區的大小隨表的大小自動動態改變 他們之間的對應關系為 9 表空間的段管理方式 在本地管理方式的表空間中 除了可以用uniform和autoallocate來指定區的分配方式之外 還可以指定段的管理方式 段管理方式主要是指oracle用來管理段中以用數據塊和空閑數據塊的機制 在本地管理方式的表空間中 可以用兩個關鍵字來指定段管理方式 Manual 手動 這時oracle將使用空閑列表來管理段的空閑數據塊 這是為了與以前的版本相兼容而保留的 Auto 自動 這時oracle將使用位圖來管理段的已用數據塊和空閑數據塊 即通過位圖中單元的取值來判斷段中的數據塊是否可用 例 通過dba tablespaces數據字典視圖可以查詢當前數據庫中各個表空間的區 段空間管理方式 selecttablespace name extent management allocation type segment space management contentsfromdba tablespaces 例 當system表空間的區管理方式是本地管理方式 則不可能創建字典管理的表空間 但可以創建本地管理的表空間 Createtablespacedic tbs01datafile f oracle dic tbs01 dbf size5mExtentmanagementdictionary Createtablespacedic tbs01datafile f oracle dic tbs01 dbf size5mExtentmanagementlocal 10 創建表空間 所有的表空間都應該由sys用戶 數據字典的所有者 來創建 以避免出現管理問題 用戶必須擁有createtablespace系統權限才能創建表空間臨時表空間和撤銷表空間是特殊表空間 用戶不能在其中創建方案對象 故需指明temporary和undo關鍵字 11 創建表空間命令格式 CREATETABLESPACEtablespace nameDATAFILE path filename SIZEinteger K M REUSE AUTOEXTEND OFF ON NEXTinteger K M MAXSIZE UMLIMITED integer K M MINIMUMEXTENTinteger K M DEFAULTSTORAGEstorage clause ONLINE OFFLINE LOGGING NOLOGGING PERMANENT TEMPORARY EXTENTMANAGEMENT DICTIONARY LOCAL AUTOALLOCATE UNIFORM SIZEinteger K M 其中 tablespace name 將要創建的表空間的名稱 該名稱在數據庫中是惟一的 并且命名必須符合命名規則 path filename 一個或多個數據文件的存放路徑與名稱 OFF ON 禁止或允許自動擴展數據文件 NEXT 指定當需要更多盤區時分配給數據文件的磁盤空間 以K或M為單位 MAXSIZEUMLIMITED integer K M 指定允許分配給數據文件的最大磁盤空間 MINMUMEXTENT 指定最小的長度 默認為操作系統和數據庫塊確定 ONLINE 在創建表空間之后使該表空間立即對授權訪問該表空間的用戶可用 OFFLINE 在創建表空間之后使該表空間不可用 LOGGING NOLOGGING 指定日志屬性 它表示將來的表 索引等是否需要進行日志處理 默認值為LOGGING PERMANENT 指定表空間將用于保存永久對象 這是默認設置 TEMPORARY 指定表空間將用于保存臨時對象 EXTENTMANAGEMENT 指定如何管理表空間的盤區 DICTIONARY 指定使用字典表來管理表空間 這是缺省設置 LOCAL 指定本地管理表空間 AUTOALLOCATE 指定表空間由系統管理 用戶不能指定盤區尺寸 UNIFORM 指定使用SIZE字節的統一盤區來管理表空間 缺省的SIZE為1M 如果既沒指定AUTOALLOCATE又沒指定UNIFORM 那么AUTOALLOCATE就是缺省設置 12 創建永久表空間 使用autoallocate區分配方式使用uniform區分配方式在數據文件子句中指定數據文件的擴展方式使用auto段管理方式 13 創建永久表空間 如果不指定permanent temporary undo選項 則創建的表空間是永久表空間 有三種創建永久表空間的方法 使用autoallocate區分配方式 使用uniform區分配方式 使用auto段管理方式 createtablespacetbs01datafile f oracle tbs01 dbf size20muniformsize128k 指定區尺寸為128k 如不指定 區尺寸默認為1m 14 使用autoallocate區分配方式 createtablespacetbs02datafile f oracle tbs02 dbf size2mautoallocate 說明 如果DBA能夠預測到表空間中存放的對象所需的區大小會有很大不同 則使用autoallocate區分配方式是較好的選擇 在這種方式中 oracle將自動按表空間中不同對象的大小分配相應大小的區 有一個表大小和區大小的對應關系 最小的區為64k Autoallocate區分配方式的缺點是在表空間中可能會造成磁盤空間的浪費 但對于管理員的工作量是相對減少的 15 使用uniform區分配方式 createtablespacetbs03datafile f oracle tbs03 1 dbf size2m f oracle tbs03 2 dbf size2muniformsize128k 說明 如果DBA能夠預測到表空間中存放的大部分對象都要求使用相同大小的區 那么使用uniform區分配方式是比較好的選擇 在這種方式下 oracle將為表空間中所有對象指定相同大小的區 默認大小為1m Uniform區分配方式的優點是表空間中不會產生磁盤碎片 節約磁盤空間 16 在數據文件子句中指定數據文件的擴展方式 createtablespacetbs04datafile f oracle tbs04 dbf size3mautoextendonnext2mmaxsize12m 說明 使用autoextendon選項的時也應該指定maxsize選項來限制數據文件的最大大小 以免數據文件無限制擴展 給數據庫的管理帶來困難 否則等到DBA發現數據文件已經過于龐大時 可能其中已經存在數據不能壓縮 導致對數據庫的安全運行產生影響 17 使用auto段管理方式 createtablespacetbs05datafile f oracle tbs05 dbf size4mreuseuniformsegmentspacemanagementauto 18 創建大文件表空間 createbigfiletablespacemybigtbs01datafile f oracle mybigtbs01 dbf size10msegmentspacemanagementauto 說明 大文件表空間是oracle10g數據庫的新特性 而且僅在本地管理的表空間中才支持大文件表空間 這種表空間只能包含一個數據文件 該數據文件可以包含4G個塊 創建大文件表空間時可以指定區分配方式 但不能將段管理方式指定為manual方式 19 創建UNDO表空間 撤銷表空間只能使用本地管理方式 且不能在其中創建方案對象 表 索引等 createundotablespaceundotbs01datafile f oracle undotbs01 dbf size2mautoallocate 區自動分配createundotablespaceundotbs02datafile f oracle undotbs02 dbf size2mautoextendonnext1mmaxsizeunlimited 允許數據文件自動擴展createundotablespaceundotbs03datafile f oracle undotbs03 dbf size2muniformsize64k 創建undo表空間時不能指定統一區大小的選項 20 創建臨時表空間 創建臨時表空間temptbs01 采用區本地管理 統一分配方式 createtemporarytablespacetemptbs01tempfile f oracle temptbs01 dbf size4muniformsize64k 創建臨時表空間時 區分配方式不能指定為autoallocate方式createsmallfiletemporarytablespacetemptbs02tempfile f oracle temptbs02 dbf size2mautoallocate 從oracle10g開始 允許創建只包含一個臨時文件的大文件臨時表空間 createbigfiletemporarytablespacetemptbs03tempfile f oracle temptbs03 dbf size4muniformsize64k 創建臨時表空間 段管理方式不能指定為auto方式 createtemporarytablespacetemptbs04tempfile f oracle temptbs04 dbf size4msegmentspacemanagementauto 21 修改表空間 擴展表空間 添加數據文件 改變數據文件的大小 允許數據文件自動擴展 修改屬性 狀態 脫機 聯機 只讀 讀寫 修改表空的名稱設置 查詢默認表空間 設置數據庫默認表空間 設置數據庫默認臨時表空間 查詢數據庫的默認表空間 22 擴展表空間 1 添加數據文件altertablespacetbs01adddatafile f oracle tbs01 1 dbf size2m 2 改變數據文件的大小alterdatabasedatafile f oracle tbs01 1 dbf resize4m 3 允許數據文件自動擴展alterdatabasedatafile f oracle tbs01 1 dbf autoextendonnext10mmaxsize100m 23 修改屬性 狀態 1 使表空間脫機altertablespacetbs01offline 2 使表空間聯機altertablespacetbs01online 3 使表空間只讀 仍可執行drop刪除對象操作 altertablespacetbs01readonly 4 使表空間可讀寫 脫機狀態的表空間不能修給其為讀寫狀態 altertablespacetbs01readwrite 查詢表空間狀態 SQL selecttablespace name statusfromdba tablespaces 注意 system sysaux undo temp表空間不能設為offline狀態或只讀狀態 臨時表空間不能脫機 24 修改表空間名稱 Altertablespaceoldtablespacerenametonewtablespace 說明 system sysaux temp undotbs1表空間的名稱不能修改 表空間名稱修改之后相應的數據文件 數據文集的位置和大小沒有變化 處于脫機狀態的表空間不能修改其名稱 25 設置 查詢默認表空間 設置數據庫的默認表空間 alterdatabasedefaulttablespacemytbs 設置數據庫的默認臨時表空間 alterdatabasedefaulttemporarytablespacemytemp 查詢用戶的默認表空間 selectusername default tablespace temporary tablespacefromdba users 26 刪除表空間 Oracle數據庫的任何表空間都可以刪除 除了system sysaux temp 表空間一旦刪除就不能恢復 所以刪除表空間前最好備份不能刪除含任何活動段的表空間 應該使表空間在被刪除前脫機刪除表空間的用戶要擁有droptablespace權限droptablespacetbs 刪除空的表空間droptablespacetbsincludingcontentsanddatafiles 刪除非空表空間droptablespacetbsincludingcontents 該刪除語句只會從數據字典 控制文件中刪除表空間信息 而與其有關的數據文件任然存在與磁盤上 但這些數據文件已經失去作用 27 查詢表空間信息 例 查詢表空間基本信息 獲得數據庫中各個表空間的名稱 區管理方式 區分配方式 段管理方式 類型等基本信息 可以查詢dba tablespaces Selecttablespace name extent management allocation type Segment space management status contents 表空間類型 block sizefromdba tablespaces 例 查詢表空間及其默認存儲參數 查詢數據庫中各個表空間的名稱和默認的存儲參數 如initial extent和next extent 可以查詢視圖dba tablespaces Selecttablespace name initial extent next extent mi

溫馨提示

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

評論

0/150

提交評論