Oracle學習筆記:oracle的資料表空間管理和sqlserver的檔案組對比

來源:互聯網
上載者:User

sqlserver裡對資料庫檔案的管理比較簡單,主要的概念有:

  1.檔案組。資料庫物件的儲存分配單位 。目的是為了容納更多的資料庫檔案、擴充空間

  2.檔案。檔案組的成員,有空間分配是否自動成長的管理

  3.預設檔案組

  4.唯讀檔案組。這是在sqlserver2005後才有的概念,sqlserver2000沒有!

  5.master、tempdb資料庫。用於基本的字典、臨時空間管理

oracle裡對資料庫檔案的管理就比較複雜了,基本的概念:

  1.資料表空間

  2.資料表空間的資料檔案成員

  3.預設資料表空間

  4.唯讀資料表空間

  5.離線資料表空間

  6.離線資料表空間資料檔案成員

  7.system、sysaux、undo、temporary資料表空間專門作為資料自動、undo、臨時空間存在

  8.bigfile檔案

  9.對空間進行[logging|nologging|force logging]

從上的基本對比中:

  1.oracle的空間管理有sqlserver所沒有的許多特性

  2.oracle的管理變得複雜了。其實某些特性完全可以依賴於os,也許這就是oracle為了平台無關所做的妥協吧

 

oracle資料表空間的基本要素

  1.性質:使用者的永久資料表空間、undo資料表空間、temporary資料表空間

  2.是否使用bigfile特性

  3.名稱

  4.資料表空間檔案成員,如果使用bigfile特性,只能使用一個檔案成員:datafile、tempfile

  5.是否記錄日誌:logging、nologging、force logging。不能使用者temporary、undo資料表空間上

  6.是否聯機:noline、offline

  7.資料區塊尺寸:blocksize {2k、4k......}。必須要相應配置db_nk_cache_size初始化參數。且值不能小於os的塊大小!temporary資料表空間不能使用非標準的資料區塊!

  8.擴充區管理員模式:extent management {dictionary|local [autoallocate|uniform [size n[m|k|g..]] ]}。注意temporary、undo資料表空間各有特殊要求!

  9.段管理員模式:segment space management {auto|manual}。不能使用者temporary、undo資料表空間上

  10.閃回特性是否開啟:flashback {on|off}。不能使用者temporary、undo資料表空間上

  11.閃回保留模式:retention {guarantee|noguarantee}

oracle的和資料表空間相關的基本操作

  0.注意:

    1.temporary資料表空間只能使用add tempfile file-spec一個語句

    2.undo表空見可以修改的地方也十分有限

    3.system資料表空間不允offline 和 read

    ......

  1.增加資料表空間:create [bigfile] tablespace tbs_name datafile file-spec,..

  2.修改資料表空間:增加、刪除檔案:alter tablespace tbs_name {add|drop} {datafile|tempfile}file-spec,..

  3.修改資料表空間:移動、重新命名檔案:alter tablespace tbs_name rename datafile  file-spec,.. to file-spec,..

  4.修改資料表空間:聯機、離線檔案:alter tablespace tbs_name  {datafile|tempfile}{online|offline}

  5.修改資料表空間:資料表空間名稱:alter tablespace tbs_name rename to new_tabs_name

  6.修改資料表空間:記錄模式:alter tablespace tbs_name {logging|nologging|[no] force logging}

  7.修改資料表空間:資料表空間聯機、離線模式:alter tablespace tbs_name {online|offline}

  8.修改資料表空間:修改讀、寫入模式:alter tablespace tbs_name read {only|write}

  9.修改資料表空間:修改閃回模式:alter tablespace tbs_name flashback {on|off}

  10.修改資料表空間:修改閃回資料保留模式:alter tablespace tbs_name retention{guarantee|noguarantee}

  11.修改資料表空間:修改bigfile檔案的尺寸:alter tablespace tbs_name resize n{k|m|g|t}

  12.修改資料表空間:修改bigfile檔案的區自動擴充模式:alter tablespace tbs_name autoextend {off|on [next n maxsize [m|unlimited] ]}

  13.修改資料表空間:修改temporary空間的組模式:alter tablespace tbs_name group {group_name|‘’}

  14.修改資料表空間:在permanent 和 temporary模式間轉換:alter tablespace tbs_name {permanent|temporary}。轉化前需要考慮temporay資料表空間的諸多限制,否則不會成功

  15.修改資料表空間:修改是否線上backup模式:alter tablespace tbs_name {begin|end} backup

  16.修改資料表空間:修改讀、寫入模式:alter tablespace tbs_name read {only|write}

  17.設定預設資料表空間:alter database set default [temporary] tablespace tbs_name

  18.刪除資料表空間:drop tablespace tbs_name [including contents [{and|keep} datafiles]]  [cascade contraints]

  19.omf管理方式。只要設定db_create_file_dest即可。並且可以和使用者定義方式混合使用

  20.查詢資料表空間的基本資料:select * from dba_tablespaces;select * from v$tablespace;

  21.查詢資料表空間資料檔案的基本資料:select * from dba_data_files;select * from v$datafile;

  22.查詢temporary資料表空間、資料檔案的基本資料:select * from dba_temp_files;select * from v$tempfile;select * from dba_tablespace_groups;

 

  23.修改資料庫:修改資料、臨時檔案的大小:alter database {datafile|tempfile} file-spec,.. resize n{k|m|g|t}。不限於bigfile或smallfile。

  24.修改資料庫:修改資料、臨時檔案的區自動擴充模式:alter database {datafile|tempfile} file-spec,.. autoextend {off|on [next n maxsize [m|unlimited] ]}。不限於bigfile或smallfile。

  25.修改資料庫:移動、重新命名檔案:alter database rename file  file-spec,.. to file-spec,..

  26.修改資料庫:聯機、離線檔案:alter database {datafile|tempfile} file-spec,..{online|offline}。如果是datafile offline 可以 選擇 for drop

  27.修改資料庫:刪除tomporay檔案:alter database tempfile file-spec,.. drop  [including datafiles]

  28.修改資料庫:建立datafile檔案:alter database create datafile  { file-spec,.. | newfilenumber} as {file-spec,.. | new

  29.修改資料庫:重新命名redo檔案:alter database rename redo-file-spec,.. to redo-file-spec,..

  30.修改資料庫:建立redo檔案組:alter database add [standby] logfile [group n]  redo-file-spec,..

  31.修改資料庫:建立redo檔案群組成員:alter database  add [standby] logfile member redo-file-spec,... to group n

  32.修改資料庫:刪除redo檔案組:alter database  drop [standby] logfile { redo-file-spec|group n

  33.修改資料庫:刪除redo檔案群組成員:alter database  drop [standby] logfile member redo-file-spec,...

  34.修改資料庫:建立物理、邏輯 standby controlfile檔案:alter database  create [logical|physical] standby controlfile as ctlfilespec [reuse]

  35.修改資料庫:備份controlfile到指定的全路徑檔案:alter database backup controlfile to   ctlfilespec [reuse]

  36.修改資料庫:備份controlfile到指定的、或預設的追蹤檔案:alter database backup controlfile to trace [as ctlfilespec ] [reuse] [{resetlogs|noresetlogs}]

  37.修改資料庫:刪除redo檔案群組成員:alter database 

 

 

附記:oracle資料庫檔案的管理

  oracle的資料庫檔案,用在以下語句上:

    1.create database

    2.alter database

    3.create controlfile

    4.create tablespace

    5.alter tablespace

  oracle的資料庫檔案主要有兩種類型:datafile_tempfile、redo_logfile。其主要區別在於:redo_logfile檔案不能自動autoextend!

  指定資料庫檔案的主要規範如下:

    ‘full_path_filename’  [size n]  [reuse]  [autoextend {off|on next maxsize {unlimited|m}}]

    注意:

      size 可以有多種文字單位{k|m|g|t|p|..},但是如果不指定單位,就是byte位元組

      對於undo資料表空間的檔案,必須指定size。其他的資料表空間如果檔案已經存在 或者 使用 omf 可以不指定size     

      如果忽略autoextend :

                對於omf,如果指定了size 則禁止擴充;否則自動擴充

                對於使用者定義的檔案,禁止

      ............................蒼天啊、大地啊,預設全部都是自動多好啊!!!.........................................

 

 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.