您的位置:首页 > 数据库 > Oracle

表空间操作

2014-02-28 14:35 1601 查看

--查询表空间使用情况

  SELECT UPPER(F.TABLESPACE_NAME) "表空间名",

  D.TOT_GROOTTE_MB "表空间大小(M)",

  D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",

  TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') || '%' "使用比",

  F.TOTAL_BYTES "空闲空间(M)",

  F.MAX_BYTES "最大块(M)"

  FROM (SELECT TABLESPACE_NAME,

  ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,

  ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES

  FROM SYS.DBA_FREE_SPACE

  GROUP BY TABLESPACE_NAME) F,

  (SELECT DD.TABLESPACE_NAME,

   ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB

  FROM SYS.DBA_DATA_FILES DD

  GROUP BY DD.TABLESPACE_NAME) D

  WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME

  ORDER BY 1

  --查询表空间的free space

  select tablespace_name,

  count(*) as extends,

  round(sum(bytes) / 1024 / 1024, 2) as MB,

  sum(blocks) as blocks

  from dba_free_space

  group by tablespace_name

  --查询表空间的总容量

  select tablespace_name, sum(bytes) / 1024 / 1024 as MB

  from dba_data_files

  group by tablespace_name;

  --查询表空间使用率

  select total.tablespace_name,

  round(total.MB, 2) as Total_MB

  round(total.MB - free.MB, 2) as Used_MB,

  round((1 - free.MB / total.MB) * 100, 2) || '%' as Used_Pct

  from (select tablespace_name, sum(bytes) / 1024 / 1024 as MB

  from dba_free_space

  group by tablespace_name) free,

  (select tablespace_name, sum(bytes) / 1024 / 1024 as MB

  from dba_data_files

  group by tablespace_name) total

  where free.tablespace_name = total.tablespace_name;


查询表空所对应的文件


先以建表时的用户登录,然后 select TABLE_NAME,TABLESPACE_NAME from user_tables where table_name = '你的表名'; (如果你这个用户的表不多可以不加where条件)再用SYSDBA权限登录数据库,select file_name ,TABLESPACE_NAME from dba_data_files where TABLESPACE_NAME ='.....';这里是你刚才查到的TABLESPACE_NAME ,不过一般来说表空间不会很多不用带WHERE条件也可以 。


创建表空间


CREATE TABLESPACE "EASYHIS_DATA" 

    LOGGING 

    DATAFILE 'D:\ORACLEHOME\ORA92\ORADATA\SAASHIS\EASYHIS_DATA.dbf' SIZE 

    2000M AUTOEXTEND 

    ON NEXT  1000M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL 

    SEGMENT SPACE MANAGEMENT  AUTO 


增加表空间文件并且扩展表空间


alter tablespace ESPS_2008

     add datafile '\oracle\oradata\anita_2010.dbf' size 1000m


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息