熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

oracle物理邏輯結構

2013-11-13 16:09:43  來源: Oracle 

  oracle物理結構和邏輯結構物理結構查看oracle數據庫的物理文件路徑一定要用命令查看除非該數據庫是你親自安裝並做過所有的安全配置否則非常有可能你的前任對數據庫進行了更改而在一不小心釀成大錯
    查看控制文件DESC v$controlfile查看控制文件的狀態和名稱(顯示路徑)SELECT statusname FROM v$controlfile;
    查看數據文件DESC v$datafile比如查看數據文件的文件號和狀態SELECT file#statusname FROM v$datafile;
    看日志文件DESC v$logfile查看日志文件路徑信息SELECT member FROM v$logfile;
    Oracle的文件系統:控制文件(CTL)數據文件(DBF)日志文件(LOG)
    這三種文件系統一般在以下路徑可以找到:(默認安裝路徑)/u/app/oracle/oradata/oracleSID
    除此三種文件還有一種參數文件參數文件不是數據庫系統中的有效組成部分在啟動數據庫時參數文件不直接參與工作只是控制文件是由參數文件尋找的參數文件位置:/u/app/oracle/product//db_/dbs/spfileorac leSIDora控制文件的內容會顯示在參數文件中參數文件的作用起到尋找控制文件的作用
    Oracle中有兩種日志文件一種為聯機日志文件(重做日志文件)一種為歸檔日志文件REDOLOG和REDOLOGREDOLOG是典型的聯機日志文件特點是順序寫文件寫滿後寫下一個寫滿第三個循環寫第一個並且覆蓋掉不做備份歸檔日志文件在熱備份的時候要選擇的一種歸檔方式
    由控制文件控制數據文件和日志文件數據庫啟動時啟動對應實例後首先啟動控制文件在由控制文件打開數據文件現象是:數據庫裝載:Database Mount然後打開數據庫:Database Open其實就是先打開控制文件在打開數據文件
    物理結構下這些路徑是可以隨意遷移的可以存放在任何存儲下包括裸設備
    邏輯結構數據庫的邏輯結構相對於物理結構要復雜很多學邏輯結構非一日之功我僅學到相關的大概以後有時間繼續深入學習數據庫存儲空間由一個或多個表空間構成(如systemsysaux)表空間(tablespace)組織數據庫空間的邏輯結構其對物理結構是數據文件一個表空間物理上由一個或多個數據文件組成邏輯上由一個或多個數據段組成數據段(segment)邏輯對象所占用空間如表段索引段回滾段等段存在於表空間中並對應一定的存儲空間數據段又劃分為一個或多個區間區(extent)區間是用於為數據一次性預留的一個邏輯上連續的一組disk空間(默認塊)每個區間占用一定數量的數據塊區不能跨數據文件塊(block)數據庫最小的存儲單位(默認k)是所有邏輯結構的基本分配單元以上時邏輯結構的基本結構
    表空間概述表空間功能·組織數據段空間控制存儲空間的分配·通過使單個表空間在線或離線控制數據的可用性·通過表空間劃分實現跨越設備分配數據存儲以提高性能·通過指定用戶使用指定表空間實現對用戶的限制·執行部分數據的後備和恢復操作表空間特點·數據中的最大邏輯單位·一個數據庫邏輯上至少由一個系統表空間構成·一個表空間物理上至少由一個數據文件構成·一個表空間至少包括一個段(控制信息)·表空間的大小等於所有從屬於它的數據文件大小的總和查詢表空間使用狀況SQL select*from dba_tablespaces;查詢數據庫中所有表空間信息SQL select*from dba_data_files;查詢表空間所含數據文件信息不含臨時表空間SQL select*from dba_temp_files;專查臨時表空間所含數據文件SQL select tablespace_namesum(bytes)from dba_data_files group by tablespace_name;查詢表空間大小SQL select tablespace_namesum(bytes)from dba_free_space group by tablespace_name;查詢表空間空閒空間大小
    創建表空間SQL create tablespace test datafile/u/adatsize m;更改表空間SQL alter tablespace test add datafile/u/bdatsize m;查詢表空間SQL select tablespace_namesum(bytes)from dba_data_files group by tablespace_name;表空間更名SQL alter tablespace test rename to fff;表空間脫機SQL alter tablespace test offline;表空間聯機SQL alter tablespace test online;設置表空間只讀SQL alter tablespace test read only;設置表空間可讀寫SQL alter tablespace test read write;擴展表空間SQL alter tablespace test add datafile/u/cdatsize M;增加數據文件個數以擴充表空間(數據文件大約~個)SQL alter database datafile/u/adatresize M;擴充數據文件大小擴充表空間SQL alter database datafile/u/adatautoextend on maxsize M;設置自動擴充參數以自動擴充表空間刪除表空間SQL drop tablespace test including contents and datafiles;刪除表空間和數據文件
    表空間分類表空間主要分為系統表空間(systemsysaux)數據表空間(user)回滾表空間(undotbs)臨時表空間(temp)系統表空間每個數據庫都必須具備一個system表空間該表空間是在數據庫創建或數據庫安裝時自動創建的名稱不能更改任何時候均必須保持online狀態用於存儲系統的數據字典表程序系統單元過程函數包和觸發器等也可用於存儲用戶數據表索引對象為避免系統表空間產生磁場碎片以及爭用系統資源的問題應單獨創建至少一個獨立的表空間用來單獨抽出用戶數據sysaux表空間也隨數據庫的創建而創建是system表空間的輔助表空間主要存儲存放支持oracle系統活動的多種工具如logminer等sysaux降低了system表空間的負荷數據和索引表空間由用戶在數據建立完畢自行創建是數據庫空間的最主要組成部分數據表空間應該建立多個建立不同用戶及性質的數據庫對象時應指定其存放在指定的數據表空間中索引表空間也應建立多個並分類將不同對象的索引按大小及訪問頻度分別指定存放到指定的數據表空間中通常情況下數據和索引表空間應建立適當多個太少則單個表空間過大數據不安全且回復費時太小則難管理數據庫創建時默認創建users表空間包含一個數據文件userdbf新建用戶的未指定存儲表空間時默認使用該表空間回滾表空間undo數據又稱回滾(rollback)數據用戶確保數據的一致性當執行DML操作時事務操作前的數據被稱undo記錄undo表空間用於保存undo記錄undo表空間用戶保存undo記錄是數據庫空間的最關鍵的組成部分其對數據庫的運行影響很大數據庫創建時默認建立一個回滾段表空間undotbs包含一個數據文件undotbsdbsSQL show parameter undo;
    臨時表空間臨時表空間(temp tablespace)主要用於存儲oracle數據庫運行期間所產生的歷史數據及用於進行排序數據庫關閉後臨時表空間中所有數據將全部被清除故臨時表空間外地其他所有表空間都屬於永久性表空間數據庫創建時默認建立一臨時表空間temp包含一數據文件tempdbf對於大型操作頻繁的環境應建立多個臨時表空間並分別歸屬不同臨時表空間以避免多用戶及多任務競爭該臨時表空間查看系統默認臨時表空間及對應數據文件SQL select tablespace_name from dba_tablespaces;SQL select*from dba_temp_files;


From:http://tw.wingwit.com/Article/program/Oracle/201311/17914.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.