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

Oracle創建表空間

2013-11-13 16:12:56  來源: Oracle 

  ORACLE中表空間是數據管理的基本方法所有用戶的對象要存放在表空間中也就是用戶有空間的使用權才能創建用戶

  對象.否則是不充許創建對象因為就是想創建對象如表索引等也沒有地方存放Oracle會提示:沒有存儲配額.

  因此在創建對象之前首先要分配存儲空間.

  分配存儲就要創建表空間

  創建表空間示例如下

  CREATE TABLESPACE SAMPLE

  LOGGING

  DATAFILE D:\ORACLE\ORADATA\ORA\LUNTANora SIZE M

  EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO

  上面的語句分以下幾部分

  第一: CREATE TABLESPACE SAMPLE  創建一個名為 SAMPLE 的表空間

  對表空間的命名遵守Oracle 的命名規范就可了

  ORACLE可以創建的表空間有三種類型:

  ()TEMPORARY: 臨時表空間用於臨時數據的存放;

  創建臨時表空間的語法如下:

  CREATE TEMPORARY TABLESPACE SAMPLE

  ()UNDO : 還原表空間 用於存入重做日志文件

  創建還原表空間的語法如下:

  CREATE UNDO TABLESPACE SAMPLE

  ()用戶表空間: 最重要也是用於存放用戶數據表空間

  可以直接寫成: CREATE TABLESPACE SAMPLE

  TEMPORARY 和 UNDO 表空間是ORACLE 管理的特殊的表空間只用於存放系統相關數據

  第二: LOGGING

  有 NOLOGGING 和 LOGGING 兩個選項

  NOLOGGING: 創建表空間時不創建重做日志

  LOGGING 和NOLOGGING正好相反 就是在創建表空間時生成重做日志

  用NOLOGGING時好處在於創建時不用生成日志這樣表空間的創建較快但是沒能日志數據丟失後不能恢復但是一般我們在

  創建表空間時是沒有數據的按通常的做法是建完表空間並導入數據後是要對數據做備份的所以通常不需要表空間的創

  建日志因此在創建表空間時選擇 NOLOGGING以加快表空間的創建速度

  第三: DATAFILE 用於指定數據文件的具體位置和大小

  如: DATAFILE D:\ORACLE\ORADATA\ORA\LUNTANora SIZE M

  說明文件的存放位置是 D:\ORACLE\ORADATA\ORA\LUNTANora 文件的大小為M

  如果有多個文件可以用逗號隔開:

  DATAFILE D:\ORACLE\ORADATA\ORA\LUNTANora SIZE M

  D:\ORACLE\ORADATA\ORA\ddora SIZE M

  但是每個文件都需要指明大小單位以指定的單位為准如 M 或 K

  對具體的文件可以根據不同的需要存放大不同的介質上如磁盤陣列以減少IO竟爭

  指定文件名時必須為絕對地址不能使用相對地址

  來源() Oracle創建表空間_冬日陽光_新浪博客

  第四: EXTENT MANAGEMENT LOCAL 存儲區管理方法

  在Oracle i以前可以有兩種選擇一種是在字典中管理(DICTIONARY)另一種是本地管理(LOCAL )I開始只能是本地管

  理方式因為LOCAL 管理方式有很多優點

  在字典中管理(DICTIONARY): 將數據文件中的每一個存儲單元做為一條記錄所以在做DM操作時就會產生大量的對這個管理

  表的Delete和Update操作做大量數據管理時將會產生很多的DM操作嚴得的影響性能同時長時間對表數據的操作會產生

  很多的磁盤碎片這就是為什麼要做磁盤整理的原因

  本地管理(LOCAL): 用二進制的方式管理磁盤有很高的效率同進能最大限度的使用磁盤 同時能夠自動跟蹤記錄臨近空閒空

  間的情況避免進行空閒區的合並操作

  第五: SEGMENT SPACE MANAGEMENT

  磁盤擴展管理方法:

  SEGMENT SPACE MANAGEMENT: 使用該選項時區大小由系統自動確定由於 Oracle 可確定各區的最佳大小所以區大小是可

  變的

  UNIFORM SEGMENT SPACE MANAGEMENT:指定區大小也可使用默認值 ( MB)

  第六: 段空間的管理方式:

  AUTO: 只能使用在本地管理的表空間中 使用LOCAL管理表空間時數據塊中的空閒空間增加或減少後其新狀態都會在位圖

  中反映出來位圖使 Oracle 管理空閒空間的行為更加自動化並為管理空閒空間提供了更好的性但對含有LOB字段的表不

  能自動管理

  MANUAL: 目前已不用主要是為向後兼容

  第七: 指定塊大小 可以具體指定表空間數據塊的大小

  創建例子如下:

   CREATE TABLESPACE SAMPLE

   LOGGING

   DATAFILE D:\ORACLE\ORADATA\ORA\SAMPLEora SIZE M

   D:\ORACLE\ORADATA\ORA\ddora SIZE M

   EXTENT MANAGEMENT LOCAL

   UNIFORM SEGMENT SPACE MANAGEMENT

  * AUTO

  SQL> /

  表空間已創建

  要刪除表空間進可以

  SQL> DROP TABLESPACE SAMPLE;

  表空間已丟棄


From:http://tw.wingwit.com/Article/program/Oracle/201311/17970.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.