本人纯ORACLE菜鸟,今天看到项目中一个数据库的表空间情况如下:名称         | 类型      | 区管理| 大小(M)| 已使用 |利用率
----------------------------------------------------------
POWERMONITOR | PERMANENT | LOCAL | 344.000| 342.688|99.62%这个powermonitor是我们系统的主数据库名字,因为本人对表空间的概念不是很熟悉,因此请教一下,
这个地方,我们这个库的表空间貌似是不是太小了,看样子好像已经满了,最近访问有点慢,
是不是因为这个原因呢?需不需要扩充一下?如何扩充?扩充为多大合适?  非常 感谢 .

解决方案 »

  1.   

    如果这个表空间的数据文件已经设定为自增长的,并且没有到最大值,是不需要扩充的,否则需要扩充.
    你可以用下面语句察看,
    select file_name, autoextensible, maxbytes from dba_data_files where tablespace_name='POWERMONITOR';
    如果autoextensible是yes,说明是自增长,再看看maxbytes是多少,如果当前大小距离maxbytes还有一段距离,就不需要扩充,否则需要扩充。
    如果autoextensible是no,说明不是自增长,那么需要扩充。扩充可以resize原有数据文件,但是最好是向这个表空间增加一个数据文件,例如下面语句增加一个数据文件到表空间POWERMONITOR,文件初始大小100M,自增长,最大500M,每次增长10M.
    alter tablespace POWERMONITOR add datafile 'E:\oracle\product\10.2.0\oradata\orcl\POWERMONITOR2.DBF' size 100M autoextend on next 10M maxsize 500M;
      

  2.   

    名称 | 类型 | 区管理| 大小(M)| 已使用 |利用率
    ----------------------------------------------------------
    POWERMONITOR | PERMANENT | LOCAL | 344.000| 342.688|99.62%怎么得到的,该表空间的DDL语句发出来看看,之前有问题么,没有问题的话不要轻易动数据库,日志有报错?