jcyanfan 发表于 2013-1-27 04:52:18

oracle表空间操作详解


<span style="font-size: small;">
<span style="font-size: small;">    一、建立表空间
    CREATE TABLESPACE data01
    DATAFILE ''/oracle/oradata/db/DATA01.dbf'' SIZE 500M
    UNIFORM SIZE 128k; #指定区尺寸为128k,如不指定,区尺寸默认为64k
<span style="font-size: small;">    二、建立UNDO表空间
    CREATE UNDO TABLESPACE UNDOTBS02
    DATAFILE ''/oracle/oradata/db/UNDOTBS02.dbf'' SIZE 50M
<span style="font-size: small;">    #注意:在OPEN状态下某些时刻只能用一个UNDO表空间,如果要用新建的表空间,必须切换到该表空间:
<span style="font-size: small;">    ALTER SYSTEM SET undo_tablespace=UNDOTBS02;
<span style="font-size: small;">    三、建立临时表空间
    CREATE TEMPORARY TABLESPACE temp_data TEMPFILE ''/oracle/oradata/db/TEMP_DATA.dbf'' SIZE 50M
<span style="font-size: small;">    四、改变表空间状态
<span style="font-size: small;">    1.使表空间脱机
<span style="font-size: small;">    ALTER TABLESPACE game OFFLINE;
<span style="font-size: small;">    如果是意外删除了数据文件,则必须带有RECOVER选项
<span style="font-size: small;">    ALTER TABLESPACE game OFFLINE FOR RECOVER;
<span style="font-size: small;">    2.使表空间联机
<span style="font-size: small;">    ALTER TABLESPACE game ONLINE;
<span style="font-size: small;">    3.使数据文件脱机
<span style="font-size: small;">    ALTER DATABASE DATAFILE 3 OFFLINE;
<span style="font-size: small;">    4.使数据文件联机
<span style="font-size: small;">    ALTER DATABASE DATAFILE 3 ONLINE;
<span style="font-size: small;">    5.使表空间只读
<span style="font-size: small;">    ALTER TABLESPACE game READ ONLY;
<span style="font-size: small;">    6.使表空间可读写
<span style="font-size: small;">    ALTER TABLESPACE game READ WRITE;
<span style="font-size: small;">    五、删除表空间
<span style="font-size: small;">    DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES;
<span style="font-size: small;">    六、扩展表空间
<span style="font-size: small;">    首先查看表空间的名字和所属文件
<span style="font-size: small;">    select tablespace_name, file_id, file_name,
    round(bytes/(1024*1024),0) total_space
    from dba_data_files
<span style="font-size: small;">    order by tablespace_name;
<span style="font-size: small;">    1.增加数据文件
    ALTER TABLESPACE game
<span style="font-size: small;">    ADD DATAFILE ''/oracle/oradata/db/GAME02.dbf'' SIZE 1000M;
<span style="font-size: small;">    2.手动增加数据文件尺寸
    ALTER DATABASE DATAFILE ''/oracle/oradata/db/GAME.dbf''
<span style="font-size: small;">    RESIZE 4000M;
<span style="font-size: small;">    3.设定数据文件自动扩展
    ALTER DATABASE DATAFILE ''/oracle/oradata/db/GAME.dbf
    AUTOEXTEND ON NEXT 100M
<span style="font-size: small;">    MAXSIZE 10000M;
<span style="font-size: small;">    设定后查看表空间信息
    SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,(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 AND A.TABLESPACE_NAME=C.TABLESPACE_NAME
 
页: [1]
查看完整版本: oracle表空间操作详解