首页 > 其他 > 详细

表空间满处理方法

时间:2014-11-11 18:06:03      阅读:320      评论:0      收藏:0      [点我收藏+]

1、查看表空间使用情况

SQL> SELECT /*+NO_MERGE(A) NO_MERGE(B)*/B.TABLESPACE_NAME 表空间名称, ROUND((B.BYTES/1024)/1024,2) 总空间大小MB,
  2         NVL2(A.BYTES,ROUND((B.BYTES-NVL(A.BYTES,0))/1024/1024,2),B.BYTES) 已使用大小MB,
  3                NVL2(A.BYTES,ROUND(NVL(A.BYTES,0)/1024/1024,2),0) 未使用大小MB,
  4         NVL2(A.BYTES,TO_CHAR(ROUND(((B.BYTES-NVL(A.BYTES,0))/B.BYTES)*100,2),990.0),100)||% 已使用率
  5    FROM (SELECT TABLESPACE_NAME,SUM(BYTES) BYTES FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME)A,
  6    (SELECT TABLESPACE_NAME,SUM(BYTES) BYTES FROM DBA_DATA_FILES GROUP BY TABLESPACE_NAME) B
  7    WHERE B.TABLESPACE_NAME=A.TABLESPACE_NAME(+);
 
表空间名称                          总空间大小MB      已使用大小MB      未使用大小MB 已使用率
------------------------------ ------------ ------------ ------------ --------
UNDOTBS1                                165        13.19       151.81    8.0%
SYSAUX                                 5510       374.56      5135.44    6.8%
USERS                                     5         0.44         4.56    8.8%
SYSTEM                                 5610       484.94      5125.06    8.6%
RUSKY_DATA                             2048        36.94      2011.06    1.8%

2、查看除了系统用户以外有没有其它用户使用系统表空间

SQL> select username, default_tablespace,temporary_tablespace from dba_users where   (default_tablespace=SYSTEM   or   temporary_tablespace=SYSTEM)   and   username   not   in   (SYSTEM,SYS);
 
USERNAME                       DEFAULT_TABLESPACE             TEMPORARY_TABLESPACE
------------------------------ ------------------------------ ------------------------------
OUTLN                          SYSTEM                         TEMP
MGMT_VIEW                      SYSTEM                         TEMP

3、查看某用户所使用的表空间

SQL> SELECT USERNAME,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE FROM DBA_USERS WHERE USERNAME=‘RUSKY;
 
USERNAME                       DEFAULT_TABLESPACE             TEMPORARY_TABLESPACE
------------------------------ ------------------------------ ------------------------------
RUSKY                           RUSKY_DATA                    RUSKY_TEMP

查看当前用户使用的表空间

SQL>   SELECT USERNAME,DEFAULT_TABLESPACE FROM USER_USERS;
 
USERNAME                       DEFAULT_TABLESPACE
------------------------------ ------------------------------
RUSKY                              RUSKY_DATA

查看数据文件的存储位置、大小等信息:select * from v$datafile; select * from dba_data_files;

4、查看system和sysaux表空间是否是自动扩展的

 
SQL>  select tablespace_name,AUTOEXTENSIBLE,INCREMENT_BY from dba_data_files;
 
TABLESPACE_NAME                AUTOEXTENSIBLE INCREMENT_BY
------------------------------ -------------- ------------
USERS                          YES                     160
SYSAUX                         YES                    1280
UNDOTBS1                       YES                     640
SYSTEM                         YES                    1280
RUSKY_DATA                     YES                   65536
SYSTEM                         YES                   64000
SYSAUX                         YES                   64000

如果为自动扩展那么AUTOEXTENSIBLE字段的值应为YES,是否为NO;INCREMENT_BY 这个为每次自动扩展的空间大小。

5、采取的扩展表空间的做法

增加一个数据文件:
ALTER TABLESPACE SYSTEM ADD DATAFILE ‘/home/oracle/oradata/orcl/system02.dbf‘ size 5120M AUTOEXTEND ON NEXT 500M MAXSIZE UNLIMITED;
ALTER TABLESPACE SYSAUX ADD DATAFILE ‘/home/oracle/oradata/orcl/sysaux02.dbf‘ size 5120M AUTOEXTEND ON NEXT 500M MAXSIZE UNLIMITED;

或是重新调整数据文件的大小:
SQL> alter database datafile ‘/home/oracle/oradata/orcl/system01.dbf‘ resize 5120M autoextend on next 500M;
SQL> alter database datafile ‘/home/oracle/oradata/orcl/sysaux01.dbf‘ resize 5120M autoextend on next 500M;

参考资源:http://blog.chinaunix.net/uid-261392-id-2138978.html

表空间满处理方法

原文:http://www.cnblogs.com/rusking/p/4089686.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!