IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當前所在位置: 首頁數(shù)據(jù)庫Oracle → oracle表空間操作 & CREATE TABLESPACE命令

oracle表空間操作 & CREATE TABLESPACE命令

時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(7)

  elect *

  from dba_tables

  where OWNER='peter' CREATE TABLESPACE data01

  DATAFILE 'D:\oracle\ora92\oradata\db\DATA01.dbf' SIZE 200M

  UNIFORM SIZE 128k;

  #指定區(qū)尺寸為128k,如不指定,區(qū)尺寸默認為64kCREATE TEMPORARY TABLESPACEtemp_data

  TEMPFILE 'D:\oracle\ora92\oradata\db\TEMP_DATA.dbf' SIZE 100M

  CREATE USER peter IDENTIFIED BY peter

  DEFAULT TABLESPACE data01 TEMPORARY TABLESPACE temp_data;grantconnect,resource,dba to peter;

  一、建立表空間

  CREATE TABLESPACE data01

  DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500M

  UNIFORM SIZE128k;????? #指定區(qū)尺寸為128k,如不指定,區(qū)尺寸默認為64k

  二、建立UNDO表空間

  CREATE UNDO TABLESPACE UNDOTBS02

  DATAFILE '/oracle/oradata/db/UNDOTBS02.dbf' SIZE 50M

  #注意:在OPEN狀態(tài)下某些時刻只能用一個UNDO表空間,如果要用新建的表空間,必須切換到該表空間:

  ALTER SYSTEM SET undo_tablespace=UNDOTBS02;

  三、建立臨時表空間

  CREATE TEMPORARY TABLESPACE temp_data

  TEMPFILE '/oracle/oradata/db/TEMP_DATA.dbf' SIZE 50M

  四、改變表空間狀態(tài)

  1.使表空間脫機

  ALTER TABLESPACE game OFFLINE;

  如果是意外刪除了數(shù)據(jù)文件,則必須帶有RECOVER選項

  ALTER TABLESPACE game OFFLINE FOR RECOVER;

  2.使表空間聯(lián)機

  ALTER TABLESPACE game ONLINE;

  3.使數(shù)據(jù)文件脫機

  ALTER DATABASE DATAFILE 3 OFFLINE;

  4.使數(shù)據(jù)文件聯(lián)機

  ALTER DATABASE DATAFILE 3 ONLINE;

  5.使表空間只讀

  ALTER TABLESPACE game READ ONLY;

  6.使表空間可讀寫

  ALTER TABLESPACE game READ WRITE;

  五、刪除表空間

  DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES;

  六、擴展表空間

  首先查看表空間的名字和所屬文件

  select tablespace_name, file_id, file_name,

  round(bytes/(1024*1024),0) total_space

  from dba_data_files

  order by tablespace_name;

  1.增加數(shù)據(jù)文件

  ALTER TABLESPACE game

  ADD DATAFILE '/oracle/oradata/db/GAME02.dbf' SIZE 1000M;

  2.手動增加數(shù)據(jù)文件尺寸

  ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf'

  RESIZE 4000M;

  3.設定數(shù)據(jù)文件自動擴展

  ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf

  AUTOEXTEND ON NEXT 100M

  MAXSIZE 10000M;

  設定后查看表空間信息

  SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTESFREE,

  (B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"

  FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C

  WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME ANDA.TABLESPACE_NAME=C.TABLESPACE_NAME;

  -----------------------------------------------------------------------------------------------------------------------------------

  CREATE TABLESPACE命令

  CREATE [UNDO] TABLESPACE tablespace_name

  [DATAFILE datefile_spec1 [,datefile_spec2] ......

  [ {MININUM EXTENT integer [k|m] | BLOCKSIZE integer [k] |loggingclause|FORCE LOGGING |DEFAULT{data_segment_compression?? }storage_clause

  |[online|offline]|[PERMANENT|TEMPORARY]|extent_manager_clause|segment_manager_clause}]

  1、undo

  說明系統(tǒng)將創(chuàng)建一個回滾表空間。

  在9i中數(shù)據(jù)庫管理員可以不必管理回滾段,只有建立了undo表空間,系統(tǒng)就會自動管理回滾段的分配,回收的工作。當然,也可以創(chuàng)建一般的表空間,在上面創(chuàng)建回滾段.不過對于用戶來說,系統(tǒng)管理比自己管理要好很多.如果需要自己管理,請參見回滾段管理的命令詳解.

  當沒有為系統(tǒng)指定回滾表空間時,系統(tǒng)將使用system系統(tǒng)回滾段來進行事務管理。

  2、tablespace

  指出表空間的名稱。

  3、datafile datefile_spec1

  指出表空間包含什么空間文件。datefile_spec1 是形如 ['filename'] [SIZE integer [ K| M ]] [REUSE] [autoextend_clause]

  [autoextend_clause]切穩(wěn)紓?AUTOEXTEND { OFF | ON [ NEXT integer [ K| M ] ] [maxsize_clause] }

  其中filename是數(shù)據(jù)文件的全路徑名,size是文件的大小,REUSE表示文件是否被重用.

  AUTOEXTEND表明是否自動擴展. OFF | ON 表示自動擴展是否被關閉.NEXT表示數(shù)據(jù)文件滿了以后,擴展的大小.

  maxsize_clause表示數(shù)據(jù)文件的最大大小.形如MAXSIZE { UNLIMITED | integer [ K |M ] }.UNLIMITED 表示無限的表空間.integer是數(shù)據(jù)文件的最大大小.

  4、MININUM EXTENT integer [k|m]

  指出在表空間中范圍的最小值。這個參數(shù)可以減小空間碎片,保證在表空間的范圍是這個數(shù)值的整數(shù)倍。

  5、BLOCKSIZE integer [k]

  這個參數(shù)可以設定一個不標準的塊的大小。如果要設置這個參數(shù),必須設置db_block_size,至少一個db_nk_block_size,并且聲明的integer的值必須等于db_nk_block_size.

  注意:在臨時表空間不能設置這個參數(shù)。

  6、logging clause

  這個子句聲明這個表空間上所有的用戶對象的日志屬性(缺省是logging),包括表,索引,分區(qū),物化視圖,物化視圖上的索引,分區(qū)。

  7、FORCE LOGGING

  使用這個子句指出表空間進入強制日志模式。此時,系統(tǒng)將記錄表空間上對象的所有改變,除了臨時段的改變。這個參數(shù)高于對象的nologging選項。

  注意:設置這個參數(shù)數(shù)據(jù)庫不行open并且出于讀寫模式。而且,在臨時表空間和回滾表空間中不能使用這個選項。

  8、DEFAULT storage_clause

  聲明缺省的存儲子句。

  9、online|offline

  改變表空間的狀態(tài)。online使表空間創(chuàng)建后立即有效.這是缺省值.offline使表空間創(chuàng)建后無效.這個值,可以從dba_tablespace中得到。

  10、PERMANENT|TEMPORARY

  指出表空間的屬性,是永久表空間還是臨時表空間。永久表空間存放的是永久對象,臨時表空間存放的是session生命期中存在的臨時對象。這個參數(shù)生成的臨時表空間創(chuàng)建后一直都是字典管理,不能使用extentmanagement local選項。如果要創(chuàng)建本地管理表空間,必須使用create temporary tablespace

  注意,聲明了這個參數(shù)后,不能聲明block size

  11、extent_management_clause

  這是最重要的子句,說明了表空間如何管理范圍。一旦你聲明了這個子句,只能通過移植的方式改變這些參數(shù)。

  如果希望表空間本地管理的話,聲明local選項。本地管理表空間是通過位圖管理的。autoallocate說明表空間自動分配范圍,用戶不能指定范圍的大小。只有9.0以上的版本具有這個功能。uniform說明表空間的范圍的固定大小,缺省是1m。

  不能將本地管理的數(shù)據(jù)庫的system表空間設置成字典管理。

  oracle公司推薦使用本地管理表空間。

  如果沒有設置extent_management_clause,oracle會給他設置一個默認值。如果初始化參數(shù)compatible小于9.0.0,那么系統(tǒng)創(chuàng)建字典管理表空間。如果大于9.0.0,那么按照如下設置:

  如果沒有指定default storage_clause,oracle創(chuàng)建一個自動分配的本地管理表空間。

  否則,如果指定了mininum extent,那么oracle判斷mininum extent、initial、next是否相等,以及pctincrease是否=0.如果滿足以上的條件,oracle創(chuàng)建一個本地管理表空間,extentsize是initial.如果不滿足以上條件,那么oracle將創(chuàng)建一個自動分配的本地管理表空間。

  如果沒有指定mininumextent。initial、那么oracle判斷next是否相等,以及pctincrease是否=0。如果滿足oracle創(chuàng)建一個本地管理表空間并指定uniform。否則oracle將創(chuàng)建一個自動分配的本地管理表空間。

  注意:本地管理表空間只能存儲永久對象。如果你聲明了local,將不能聲明defaultstorage_clause,mininum extent、temporary.

  12、segment_management_clause

  建立表空間

  CREATE TABLESPACE data01

  DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500M

  UNIFORM SIZE128k;????? #指定區(qū)尺寸為128k,如不指定,區(qū)尺寸默認為64k

  刪除表空間

  DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES;

  --------------------------------------------------------------------------------------------------------------------------------

  1.創(chuàng)建角色

  CREATE ROLE "QIUDINGROLE" NOT IDENTIFIED;

  GRANT &quo

關鍵詞標簽:oracle

相關閱讀

文章評論
發(fā)表評論

熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據(jù)庫實例的控制文件 誤刪Oracle數(shù)據(jù)庫實例的控制文件 為UNIX服務器設置Oracle全文檢索 為UNIX服務器設置Oracle全文檢索

相關下載

    人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權(quán)語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法