Oracle10g ASM數據庫中表空間的維護
2024-08-29 13:37:15
供稿:網友
 
             
  1.缺省的Oracle命名
  
  當使用ASM + OMF治理時,Oracle會自動分配文件名稱,創建相應的文件。
  
  我們創建表空間的工作可以簡化為:
  create tablespace tablespace_name;
  
  一個命令。
  
                                                                                              以下是Oracle的缺省命名示例:
  $ sqlplus "/ as sysdba"
  
  SQL*Plus: Release 10.1.0.3.0 - PRodUCtion on Thu Jun 16 09:26:22 2005
  
  Copyright (c) 1982, 2004, Oracle. All rights reserved.
  
  Connected to:
  Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - 64bit Production
  With the Partitioning and Data Mining options
  
  SQL> select name from v$datafile;
  
  NAME
  --------------------------------------------------------------------------------
  +DATADG/mmsdb/datafile/system.259.3
  +DATADG/mmsdb/datafile/undotbs1.258.3
  +DATADG/mmsdb/datafile/sysaux.257.3
  +DATADG/mmsdb/datafile/users.256.3
  +DATADG/mmsdb/datafile/platform.278.1
  +DATADG/mmsdb/datafile/gateway.279.1
  
  6 rows selected.
  
  2.自定義名稱和文件大小創建
  
  假如我們想自定義文件大小及名稱,可以使用如下方法創建:
  SQL> create tablespace cumail datafile '+DATADG/mmsdb/datafile/cumail'size 100m;
  
  Tablespace created.
  
  SQL> select name from v$datafile;
  
  NAME
  --------------------------------------------------------------------------------
  +DATADG/mmsdb/datafile/system.259.3
  +DATADG/mmsdb/datafile/undotbs1.258.3
  +DATADG/mmsdb/datafile/sysaux.257.3
  +DATADG/mmsdb/datafile/users.256.3
  +DATADG/mmsdb/datafile/platform.278.1
  +DATADG/mmsdb/datafile/gateway.279.1
  +DATADG/mmsdb/datafile/cumail
  
  7 rows selected.
  
  SQL> drop tablespace cumail including contents and datafiles;
  
  Tablespace dropped.
  
  3.創建ASSM治理表空間
  
  需要指定segment space子句:
  SQL> create tablespace cumail
   2 segment space management auto;
  
  Tablespace created.
  
  SQL> select name from v$datafile;
  
  NAME
  ------------------------------------------------------
  +DATADG/mmsdb/datafile/system.259.3
  +DATADG/mmsdb/datafile/undotbs1.258.3
  +DATADG/mmsdb/datafile/sysaux.257.3
  +DATADG/mmsdb/datafile/users.256.3
  +DATADG/mmsdb/datafile/platform.278.1
  +DATADG/mmsdb/datafile/gateway.279.1
  +DATADG/mmsdb/datafile/cumail.280.3
  
  7 rows selected.
  
  SQL> select tablespace_name,extent_management,segment_space_management from dba_tablespaces;
  
  TABLESPACE_NAME        EXTENT_MAN SEGMEN
  ------------------------------ ---------- ------
  SYSTEM             LOCAL   MANUAL
  UNDOTBS1            LOCAL   MANUAL
  SYSAUX             LOCAL   AUTO
  TEMP              LOCAL   MANUAL
  USERS             LOCAL   AUTO
  PLATFORM            LOCAL   MANUAL
  GATEWAY            LOCAL   MANUAL
  CUMAIL             LOCAL   AUTO
  
  8 rows selected.
  
  4.更改文件大小
  
  SQL> alter database datafile '+DATADG/mmsdb/datafile/cumail.280.3' resize 300m;
  
  Database altered.
  
  SQL>
  
  5.設置UNIFORM SIZE屬性
  
  假如需要設置extent的一些屬性,那么必須顯示的指定。
                         
  
  SQL> create tablespace ticket extent management local uniform size 128k segment space management auto;
  
  Tablespace created.
  
  SQL> select name ,bytes/1024/1024 from v$datafile;
  
  NAME                   BYTES/1024/1024
  ---------------------------------------- ---------------
  +DATADG/mmsdb/datafile/system.259.3         450
  +DATADG/mmsdb/datafile/undotbs1.258.3         25
  +DATADG/mmsdb/datafile/sysaux.257.3         330
  +DATADG/mmsdb/datafile/users.256.3           5
  +DATADG/mmsdb/datafile/platform.278.1        1000
  +DATADG/mmsdb/datafile/gateway.279.1        1000
  +DATADG/mmsdb/datafile/cumail.280.3         300
  +DATADG/mmsdb/datafile/ticket.281.1         100
  
  8 rows selected.
  
  SQL> alter database datafile '+DATADG/mmsdb/datafile/ticket.281.1' resize 300m;
  
  Database altered.
  
  簡單操作,供參考。