ORA-01653:表空间扩展失败

本文介绍了当Oracle数据库表空间接近满载时的两种扩展方法。一种是通过SQL脚本修改表空间文件的自动扩展属性,另一种是通过企业管理器的图形界面进行设置。这两种方法都能有效地解决表空间不足的问题。
部署运行你感兴趣的模型镜像

一、脚本修改方式:

----查询表空间使用情况---
使用DBA权限登陆
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;
表空间名                       表空间大小(M) 已使用空间(M) 使用比 空闲空间(M) 最大块(M)
------------------------------ ------------- ------------- ------- ----------- ----------
...
CCEN                                      10           8.5   85.00         1.5        .94
...

发现表空间只有1.5M的空闲,猜测可能是表空间自动扩展失败的问题(表空间的增长量太高,ORACLE默认是50%),修改表空间文件扩展方式:


SQL>ALTER DATABASE 
    DATAFILE '/u01/oracle/oradata/orcl/ccen01.dbf' AUTOEXTEND 
    ON NEXT 50M MAXSIZE UNLIMITED
问题解决.


查看表空间是否具有自动扩展的能力
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;

二、使用控制台方式:

打开ORACLE的企业管理器,到表空间选择要修改的表空间,双击点开表穿间的编缉界面,点击那只笔的图标,在编辑数据文件界面的存储选项卡上就可以修改“数据文件已满后自动扩展”修改希望的增量,和最大值后点应用进行保存。

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

### 解决 ORA - 39171 错误(作业正在等待恢复状态) 可以通过以下方法解决: - **手动恢复作业**:使用 `RECOVER` 选项恢复作业。例如: ```sql DECLARE job_name VARCHAR2(30) := 'your_job_name'; BEGIN DBMS_DATAPUMP.START_JOB(job_name, skip_current := 0, recover := 1); END; / ``` 其中 `your_job_name` 是作业的名称,可以通过 `DBA_DATAPUMP_JOBS` 视图查询。 - **终止并重新启动作业**:如果手动恢复作业失败,可以终止当前作业,然后重新启动导入任务。 ```sql -- 终止作业 DECLARE job_name VARCHAR2(30) := 'your_job_name'; BEGIN DBMS_DATAPUMP.STOP_JOB(job_name, immediate => 1); END; / -- 重新启动导入任务 impdp username/password@service_name directory=your_directory dumpfile=your_dumpfile.dmp logfile=your_logfile.log ``` ### 解决 ORA - 01653 错误(表无法扩展表空间不足) 可以通过以下几种方法解决: - **增加表空间的数据文件**:如果表空间的数据文件有自动扩展属性,可以先检查是否可以自动扩展。如果不能自动扩展或者自动扩展达到上限,可以添加新的数据文件。 ```sql ALTER TABLESPACE DATTS_01 ADD DATAFILE '/path/to/new_datafile.dbf' SIZE 1024M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED; ``` - **扩大现有数据文件的大小**:如果表空间的数据文件还没有达到最大限制,可以直接扩大现有数据文件的大小。 ```sql ALTER DATABASE DATAFILE '/path/to/existing_datafile.dbf' RESIZE 2048M; ``` - **清理表空间**:删除表空间中不再需要的对象,如无用的表、索引等。 ```sql -- 删除无用的表 DROP TABLE JCMSUSR01.CMS_PAIRING_NOF_CUSTOM_ATT; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值