`

ORA-01653 无法在表空间扩展的解决办法 -- 增加表空间大小或给表空间增加数据文件

阅读更多

当前系统的数据量越来越大的,昨天还运行正常的数据库,突然无法使用了。经过定位发现是"ORA-01653 " 即表空间满了,在这里简单记录下处理办法,长期来看Oracle是顶不住了,需要尽快切到HadoopHbase里存储数据

 

参考如下SQL

 

[sql] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. ----查询表空间使用情况---     
  2.     
  3. SELECT UPPER(F.TABLESPACE_NAME) "表空间名",     
  4. D.TOT_GROOTTE_MB "表空间大小(M)",     
  5. D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",     
  6. TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99'"使用比",     
  7. F.TOTAL_BYTES "空闲空间(M)",     
  8. F.MAX_BYTES "最大块(M)"    
  9. FROM (SELECT TABLESPACE_NAME,     
  10. ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,     
  11. ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES     
  12. FROM SYS.DBA_FREE_SPACE     
  13. GROUP BY TABLESPACE_NAME) F,     
  14. (SELECT DD.TABLESPACE_NAME,     
  15. ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB     
  16. FROM SYS.DBA_DATA_FILES DD     
  17. GROUP BY DD.TABLESPACE_NAME) D     
  18. WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME     
  19. ORDER BY 4 DESC;    



 

 

[sql] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. --查看表空间是否具有自动扩展的能力     
  2. SELECT T.TABLESPACE_NAME,D.FILE_NAME,     
  3. D.AUTOEXTENSIBLE,D.BYTES,D.MAXBYTES,D.STATUS     
  4. FROM DBA_TABLESPACES T,DBA_DATA_FILES D     
  5. WHERE T.TABLESPACE_NAME =D.TABLESPACE_NAME     
  6.  ORDER BY TABLESPACE_NAME,FILE_NAME;    



 

 

[sql] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. --修改表空间文件扩展方式:     
  2.    ALTER DATABASE    
  3.     DATAFILE '/u01/Oracle/oradata/orcl/ccen01.dbf' AUTOEXTEND     
  4.     ON NEXT 50M MAXSIZE UNLIMITED    



 

增加表空间大小的四种方法
Meathod1:给表空间增加数据文件

 

[sql] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. ALTER TABLESPACE app_data ADD DATAFILE  
  2. 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF' SIZE 50M;  


Meathod2:新增数据文件,并且允许数据文件自动增长

 

 

[sql] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. ALTER TABLESPACE app_data ADD DATAFILE  
  2. 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP04.DBF' SIZE 50M  
  3. AUTOEXTEND ON NEXT 5M MAXSIZE 100M;  


Meathod3:允许已存在的数据文件自动增长

 

 

[sql] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF'  
  2. AUTOEXTEND ON NEXT 5M MAXSIZE 100M;  


Meathod4:手工改变已存在数据文件的大小

 

 

[sql] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP02.DBF'  
  2. RESIZE 100M;  



 

参考:

 

http://www.linuxidc.com/Linux/2011-08/39834.htm

http://www.2cto.com/database/201109/103101.html

分享到:
评论

相关推荐

    ORA-01654处理表空间不足问题.pdf

    ORA-01654处理表空间不足问题 Oracle 数据库中,表空间不足是非常常见的...解决ORA-01654处理表空间不足问题需要通过查看表空间使用情况、查看表空间自动扩展功能、扩大原表空间大小或增加新的数据文件等方法来实现。

    oracle ora-03113错误

    - 进一步检查`$ORACLE_HOME/admin/SID/bdump`目录下的`alert_SID.log`文件,发现日志记录了大量的ORA-1654和ORA-1653错误,表明表空间已满且无法扩展。 3. **表空间配置问题**: - 创建表空间时人为设置了最大...

    扩展表空间

    2. 异常现象:在扩展表空间时,可能会出现一些异常现象,例如 InternalException java.sql.BatchUpdateException ORA-01653: unable to extend table XXXXXX.XXXXXTABLE by 128 in tablespace XXXXXX。这种情况下,...

    Solaris 8內存管理.pdf

    4. **性能调优**:根据分析结果调整系统设置,比如调整交换空间的大小、更改文件系统缓存策略等,以优化内存使用。 通过上述步骤,我们可以更准确地定位内存瓶颈,并采取相应的措施来优化系统的内存管理,从而提高...

    Oracel扩展表空间

    每个表空间由一个或多个数据文件组成,这些数据文件存储在物理磁盘上。表空间分为系统表空间(如SYSTEM表空间)和非系统表空间(如USER表空间)。为了确保数据库的有效运行,了解如何管理和扩展表空间至关重要。 ##...

    Oracle数据库常见问题诊断-常见错误篇

    - **ORA-01242 和 ORA-01113:** 当数据库实例需要重启以恢复损坏的数据文件或解决其他系统级问题时,可能会遇到这两个错误。 **解决办法:** - 使用 `DBSHUTDOWN` 命令关闭数据库实例,并使用 `STARTUP` 命令重启...

    ORACLE修改表空间大小

    - **表空间管理**:在增加表空间数据文件后,需要注意定期监控表空间使用情况,确保有足够的空间可用。 - **数据文件不可删除**:一旦添加了数据文件到表空间中,该数据文件将不能被删除。若要移除,只能通过删除...

    oracle数据库添加数据文件

    - **解决方案**:解决ORA-1691错误的有效方法之一是扩展表空间,即增加新的数据文件或增大现有数据文件的大小。 #### 知识点三:使用Oracle Enterprise Manager Console扩展表空间 - **工具介绍**:Oracle ...

    Oracle中提示无法分配超出 7 的 MINEXTENTS (在表空间 PERFSTAT 中)

    1. **MINEXTENTS值设置过低**:当表或索引的MINEXTENTS值设置得过低时,在数据增长过程中可能需要频繁地进行空间扩展,这不仅会导致性能下降,而且可能导致MINEXTENTS值达到其最大值7,从而引发ORA-01659错误。...

    oracle ORA-01114、ORA-27067错误解决方法

    Oracle数据库在运行过程中可能会遇到各种错误,其中"ORA-01114"和"ORA-27067"是两个常见的I/O错误,通常与数据文件的读写操作有关。这两个错误在本文中被提及,它们通常一起出现,并且可能伴随着其他如"OSD-04026"等...

    oracle数据库操作常见错误以及解决方案

    解决方法是通过`ALTER TABLESPACE`命令增加表空间的数据文件,以扩大存储空间。同时,应检查主机的磁盘空间,确保有足够的空间供Oracle使用。此外,可以通过查询`V$open_cursor`和`V$waitstat`视图来监控回滚段的...

    Oracle 表空间 收缩

    这是因为Oracle数据文件在有数据的情况下能够自动扩展,但无法自动收缩。因此,如果直接尝试修改数据文件的大小,可能会导致数据丢失或者无法正确释放空间。 **解决方案**: 1. **确定最大block_id**:通过查询`dba...

    oracle扩展表空间方案

    Oracle数据库管理系统是企业级的关系型数据库系统...在调整表空间大小或添加数据文件时,确保数据库处于非活动状态,以避免在操作过程中影响业务运行。在完成操作后,进行备份是良好的实践,以防止任何不可预见的问题。

    ORACLE ORA

    - **ORA-02241**:表示在扩展表空间时,格式不正确。 - **ORA-02242**:表示在执行ALTER INDEX操作时,缺少必要的选项。 - **ORA-02243**:表示在执行ALTER INDEX和ALTER MATERIALIZED VIEW操作时,缺少必要的选项。...

    oracle增加表空间大小

    这里需要注意的是,在调整数据文件大小之前,应确保磁盘空间足够,避免因为磁盘空间不足导致数据文件无法正常扩展。 #### 操作注意事项 1. **权限验证:** 执行以上任何一种操作前,都需要确保当前登录的用户拥有...

    oracle 查看表空间使用情况

    当遇到“ORA-01653: unable to extend table”这样的错误时,通常意味着数据库尝试扩展一个表,但由于表空间容量不足而无法完成。这个问题涉及到表空间的使用情况和配置,解决这个问题需要对Oracle数据库的表空间...

    oraclerac增加asm盘创建表空间.docx

    在Oracle RAC(Real Application Clusters)环境中,ASM(Automatic Storage Management)是一种集成的存储管理解决方案,它提供了数据存储的高可用性和性能优化。Oracle RAC允许多个实例同时访问一个数据库,而ASM...

    ORA-01688:unable to extend table name(执行存储过程时的错误).pdf

    表空间是Oracle数据库中用于存储数据文件的逻辑单位,当一个表空间的空间被占满,就无法执行任何需要额外空间的操作,例如插入新数据、创建新表或扩展已存在的表。 描述中提到的解决方案主要涉及两个方面:一是增加...

    ORA-01688:unable to extend table name(执行存储过程时的错误).docx

    1. **增加数据文件:** 使用`ALTER TABLESPACE ADD DATAFILE`命令可以在现有表空间中添加新的数据文件,从而增加可用空间。例如: ```sql ALTER TABLESPACE CDRS101 ADD DATAFILE '/path/to/newfile.dbf' SIZE 100...

    Oracle错误信息

    当尝试增加表空间大小但表空间的实际大小小于所需的最小值时,会触发此错误。可能的原因包括磁盘空间不足或表空间配置限制。 #### ORA-01201:无法调整大小 当尝试调整表空间或其他数据库对象的大小时发生错误,...

Global site tag (gtag.js) - Google Analytics