当前系统的数据量越来越大的,昨天还运行正常的数据库,突然无法使用了。经过定位发现是"ORA-01653 " 即表空间满了,在这里简单记录下处理办法,长期来看Oracle是顶不住了,需要尽快切到Hadoop的Hbase里存储数据
参考如下SQL
- ----查询表空间使用情况---
- 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 4 DESC;
- --查看表空间是否具有自动扩展的能力
- SELECT T.TABLESPACE_NAME,D.FILE_NAME,
- D.AUTOEXTENSIBLE,D.BYTES,D.MAXBYTES,D.STATUS
- FROM DBA_TABLESPACES T,DBA_DATA_FILES D
- WHERE T.TABLESPACE_NAME =D.TABLESPACE_NAME
- ORDER BY TABLESPACE_NAME,FILE_NAME;
- --修改表空间文件扩展方式:
- ALTER DATABASE
- DATAFILE '/u01/Oracle/oradata/orcl/ccen01.dbf' AUTOEXTEND
- ON NEXT 50M MAXSIZE UNLIMITED
增加表空间大小的四种方法
Meathod1:给表空间增加数据文件
- ALTER TABLESPACE app_data ADD DATAFILE
- 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF' SIZE 50M;
Meathod2:新增数据文件,并且允许数据文件自动增长
- ALTER TABLESPACE app_data ADD DATAFILE
- 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP04.DBF' SIZE 50M
- AUTOEXTEND ON NEXT 5M MAXSIZE 100M;
Meathod3:允许已存在的数据文件自动增长
- ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF'
- AUTOEXTEND ON NEXT 5M MAXSIZE 100M;
Meathod4:手工改变已存在数据文件的大小
- ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP02.DBF'
- RESIZE 100M;
参考:
http://www.linuxidc.com/Linux/2011-08/39834.htm
http://www.2cto.com/database/201109/103101.html
相关推荐
ORA-01654处理表空间不足问题 Oracle 数据库中,表空间不足是非常常见的...解决ORA-01654处理表空间不足问题需要通过查看表空间使用情况、查看表空间自动扩展功能、扩大原表空间大小或增加新的数据文件等方法来实现。
- 进一步检查`$ORACLE_HOME/admin/SID/bdump`目录下的`alert_SID.log`文件,发现日志记录了大量的ORA-1654和ORA-1653错误,表明表空间已满且无法扩展。 3. **表空间配置问题**: - 创建表空间时人为设置了最大...
1. **MINEXTENTS值设置过低**:当表或索引的MINEXTENTS值设置得过低时,在数据增长过程中可能需要频繁地进行空间扩展,这不仅会导致性能下降,而且可能导致MINEXTENTS值达到其最大值7,从而引发ORA-01659错误。...
2. 异常现象:在扩展表空间时,可能会出现一些异常现象,例如 InternalException java.sql.BatchUpdateException ORA-01653: unable to extend table XXXXXX.XXXXXTABLE by 128 in tablespace XXXXXX。这种情况下,...
4. **性能调优**:根据分析结果调整系统设置,比如调整交换空间的大小、更改文件系统缓存策略等,以优化内存使用。 通过上述步骤,我们可以更准确地定位内存瓶颈,并采取相应的措施来优化系统的内存管理,从而提高...
每个表空间由一个或多个数据文件组成,这些数据文件存储在物理磁盘上。表空间分为系统表空间(如SYSTEM表空间)和非系统表空间(如USER表空间)。为了确保数据库的有效运行,了解如何管理和扩展表空间至关重要。 ##...
- **ORA-01242 和 ORA-01113:** 当数据库实例需要重启以恢复损坏的数据文件或解决其他系统级问题时,可能会遇到这两个错误。 **解决办法:** - 使用 `DBSHUTDOWN` 命令关闭数据库实例,并使用 `STARTUP` 命令重启...
- **表空间管理**:在增加表空间数据文件后,需要注意定期监控表空间使用情况,确保有足够的空间可用。 - **数据文件不可删除**:一旦添加了数据文件到表空间中,该数据文件将不能被删除。若要移除,只能通过删除...
- **解决方案**:解决ORA-1691错误的有效方法之一是扩展表空间,即增加新的数据文件或增大现有数据文件的大小。 #### 知识点三:使用Oracle Enterprise Manager Console扩展表空间 - **工具介绍**:Oracle ...
Oracle数据库在运行过程中可能会遇到各种错误,其中"ORA-01114"和"ORA-27067"是两个常见的I/O错误,通常与数据文件的读写操作有关。这两个错误在本文中被提及,它们通常一起出现,并且可能伴随着其他如"OSD-04026"等...
解决方法是通过`ALTER TABLESPACE`命令增加表空间的数据文件,以扩大存储空间。同时,应检查主机的磁盘空间,确保有足够的空间供Oracle使用。此外,可以通过查询`V$open_cursor`和`V$waitstat`视图来监控回滚段的...
这是因为Oracle数据文件在有数据的情况下能够自动扩展,但无法自动收缩。因此,如果直接尝试修改数据文件的大小,可能会导致数据丢失或者无法正确释放空间。 **解决方案**: 1. **确定最大block_id**:通过查询`dba...
Oracle数据库管理系统是企业级的关系型数据库系统...在调整表空间大小或添加数据文件时,确保数据库处于非活动状态,以避免在操作过程中影响业务运行。在完成操作后,进行备份是良好的实践,以防止任何不可预见的问题。
清理磁盘空间,或扩展数据库文件系统。 了解并解决这些错误是管理Oracle数据库的关键。在遇到问题时,首先确定错误号,然后查阅相关文档或使用工具如`DBA_OUTPUT`来获取更详细的信息,以便快速定位并解决问题。
- **ORA-02241**:表示在扩展表空间时,格式不正确。 - **ORA-02242**:表示在执行ALTER INDEX操作时,缺少必要的选项。 - **ORA-02243**:表示在执行ALTER INDEX和ALTER MATERIALIZED VIEW操作时,缺少必要的选项。...
这里需要注意的是,在调整数据文件大小之前,应确保磁盘空间足够,避免因为磁盘空间不足导致数据文件无法正常扩展。 #### 操作注意事项 1. **权限验证:** 执行以上任何一种操作前,都需要确保当前登录的用户拥有...
当遇到“ORA-01653: unable to extend table”这样的错误时,通常意味着数据库尝试扩展一个表,但由于表空间容量不足而无法完成。这个问题涉及到表空间的使用情况和配置,解决这个问题需要对Oracle数据库的表空间...
在Oracle RAC(Real Application Clusters)环境中,ASM(Automatic Storage Management)是一种集成的存储管理解决方案,它提供了数据存储的高可用性和性能优化。Oracle RAC允许多个实例同时访问一个数据库,而ASM...
表空间是Oracle数据库中用于存储数据文件的逻辑单位,当一个表空间的空间被占满,就无法执行任何需要额外空间的操作,例如插入新数据、创建新表或扩展已存在的表。 描述中提到的解决方案主要涉及两个方面:一是增加...
1. **增加数据文件:** 使用`ALTER TABLESPACE ADD DATAFILE`命令可以在现有表空间中添加新的数据文件,从而增加可用空间。例如: ```sql ALTER TABLESPACE CDRS101 ADD DATAFILE '/path/to/newfile.dbf' SIZE 100...