第五章:管理數據庫存儲結構

存儲結構
數據存儲:
               
表空間和數據文件
         邏輯 上是以 表空間 形式存在
         物理 數據文件 形式存在
        表空間和數據文件的關係:   一個表空間能夠有多個數據文件,一個數據文件只能屬於一個表空間 表空間由不少個邏輯數據塊組成,參數爲db_block_size,大小爲2-32K,默認爲8k。特定數目相鄰數據塊構成一個區
OMF oracle managed files  根據數據庫對象而不是文件名指定文件操做)
1、  db_create_file_dest:定義數據文件和臨時文件的默認文件系統目錄的位置
2、  DB_CREATE_ONLINE_LOG_DEST_n:定義重作日誌文件和控制文件的建立位置
3、  DB_RECOVERY_FILE_DEST  定義 RMAN 備份位置
  如不使用OMF,則操做都須要指明文件  如:create table test datafile='/home/oracle/01.dbf'
·  表空間的 管理方法: 1、數據字典管理;2、本地管理(推薦)。
系統 預配置數據庫中的表空間
     system:管理database。需dba權限
       sysaux:system輔助表空間
       temp:若是執行的 SQL 語句須要建立臨時段(如大規模排序或建立索引),則可使用臨時表空間。默認且最好只有一個
       undotabs1:數據庫服務器用於存儲還原信息的還原表空間。在建立數據庫時建立的
  users:用於存儲永久用戶對象和數據。在預配置數據庫中,USERS 表空間是用於存儲非系統用戶建立的全部對象的默認表空間。對於 SYS 和 SYSTEM 用戶(系統用戶),默認的永久表空間依然是 SYSTEM
EXAMPLE:包含建立數據庫時能夠安裝的示例方案
建立表空間:( SQL
       CREATE BIGFILE TABLESPACE "T" DATAFILE '/u01/app/oracle/oradata/orcl/t01.dbf ' SIZE 10M REUSE AUTOEXTEND ON NEXT 1M MAXSIZE 50M LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO   SEGMENT SPACE MANAGEMENT AUTO 
注:    SMALLFILE 小文件表空間(默認) BIGFILE  大文件表空間
      CREATE   TEMPORARY TABLESPACE,建立臨時表空間
       datafile 指定文件物理路徑
       size  表空間的大小
       REUSE 該文件能夠重用  
       AUTOEXTEND ON 開啓自動擴展  
       NEXT 1M MAXSIZE 50M  下次增加1M 最大50M
       LOGGING  記錄日誌 (默認)nologging 不記錄日誌
       EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M  區的管理是本地管理(默認是自動管理) 區空間不足的時候, 自動分配空間大小。
       EGMENT SPACE MANAGEMENT AUTO    空間 的管理  manual  默認自動管理
表空間 管理
  重命名   rename
  更改狀態  
       Read Write(讀寫):表空間已聯機,可進行讀寫。
       Read Only(只讀):能夠完成(提交或回退)現有的事務處理,可是,不容許對錶空間中的對象進一步執行數據操縱語言 (DML) 操做。
  Offline(脫機):normalimmediatetemporary三種
  Egalter tablespace IT offline immediate
 
  更改大小: add
      經過向表空間添加數據文件 更改現有數據文件的大小
     Eg:  alter tablespace tt add datafile '/u01/tt02.dbf' size 10m;
 
  刪除表空間
  1 表空間沒有內容      dorp tablespace 表空間名
  2、表 空間 內容  刪除表空間和內容: dorp tablespace 表空間名 INCLUDING CONTENTS
  若是數據文件沒有啓用OMF,則須要使用操做系統命令刪除物理上的文件,若是使用OMF,會自動幫你 刪除, 或者可使用參數including datafiles 
 
  存儲選項
  Thresholds(閾值)
  默認閥值
  指定閥值
  禁用閥值
對錶空間執行 其餘 的操做
  Add Datafile(添加數據文件)
  Create Like(相似建立)
  Generate DDL(生成 DDL):生成用於建立表空間的數據定義語言(DDL) 語句。
  Make Locally Managed(設置爲本地管理):單向,不可逆
  Make Readonly(只讀模式):中止對錶空間的全部寫操做。
  Make Writable(可寫模式):容許對錶空間中的對象啓動DML 活動和其它寫活動
  Place Online(聯機)
  Reorganize(重組)
  Run Segment Advisor(運行段指導)
  Show Dependencies(顯示相關性):顯示此表空間依賴的對象,或依賴於此表空間的對象。
  Show Tablespace Contents(顯示錶空間內容)
  Take Offline(脫機):使當前聯機的表空間不可用。
 
刪除表空間
  概述:必須具備DROP TABLESPACE 系統權限才能刪除表空間。刪除表空間時,會刪除關聯數據庫控制文件中的文件指針。若是使用OMF,刪除數據文件
查看錶空間信息
各個表空間對應的動態視圖:
       dba_tablespaces      v$tablespace 
       dba_data_files      v$datafile
       dba_temp_files      v$tempfile
Eg:  desc tablespace;   select * from v$tablespace
 SELECT D.STATUS STATUS,
       D.TABLESPACE_NAME NAME,
       D.CONTENTS TYPE,
       D.EXTENT_MANAGEMENT EXTENTMANAGEMENT,
       TO_CHAR(NVL(A.BYTES / 1024 / 1024, 0), '99,999,990.900') TABLE_SIZE,
       TO_CHAR(NVL(A.BYTES - NVL(F.BYTES, 0), 0) / 1024 / 1024,
               '99999999.999') || '/' ||
       TO_CHAR(NVL(A.BYTES / 1024 / 1024, 0), '99999999.999') USED,
       TO_CHAR(NVL((A.BYTES - NVL(F.BYTES, 0)) / A.BYTES * 100, 0),
               '990.00') RATE
  FROM SYS.DBA_TABLESPACES D,
       (SELECT TABLESPACE_NAME, SUM(BYTES) BYTES
          FROM DBA_DATA_FILES
         GROUP BY TABLESPACE_NAME) A,
       (SELECT TABLESPACE_NAME, SUM(BYTES) BYTES
          FROM DBA_FREE_SPACE
         GROUP BY TABLESPACE_NAME) F
 WHERE D.TABLESPACE_NAME = A.TABLESPACE_NAME(+)
   AND D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)
   AND NOT
        (D.EXTENT_MANAGEMENT LIKE 'LOCAL' AND D.CONTENTS LIKE 'TEMPORARY');
ASM
概述
  可移植的高性能集羣文件系統
  可管理 Oracle 數據庫文件
  可將數據分佈到各個磁盤中以平衡負載
  可鏡像數據
功能和優勢
  對文件而不是邏輯捲進行條帶化
  提供聯機從新配置磁盤和動態從新平衡功能
  可用來調整從新平衡速度
  爲每一個文件提供冗餘
  僅支持 Oracle 數據庫文件
  可識別集羣
可自動安裝
 
相關文章
相關標籤/搜索