Oracle解决Ora-01653无法扩展表空间问题
先针对可能性1查看表空间使用情况
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_BYTESFROM SYS.DBA_FREE_SPACEGROUP BY TABLESPACE_NAME) F,(SELECT DD.TABLESPACE_NAME,ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MBFROM SYS.DBA_DATA_FILES DDGROUP BY DD.TABLESPACE_NAME) DWHERE D.TABLESPACE_NAME = F.TABLESPACE_NAMEORDER BY 4 DESC
通过上表我们可以看出,表空间***_TRD的表空间的空间使用率已经达到99.6%,只剩下133.88M可用,而其索引空间 ***_TRD_IDX的空间使用率更是达到了99.97%,只剩下4.94M可用。
SELECT T.TABLESPACE_NAME,D.FILE_NAME,D.AUTOEXTENSIBLE,D.BYTES,D.MAXBYTES,D.STATUSFROM DBA_TABLESPACES T, DBA_DATA_FILES DWHERE T.TABLESPACE_NAME = D.TABLESPACE_NAMEORDER BY TABLESPACE_NAME, FILE_NAME;
从上表可以看出,所有的表空间都开启了自动扩展的功能,而且状态都是available的。
综合上述检查结果,可断定遇到的问题是因为可能性1—表空间不足导致。解决办法也就是扩大表空间。
扩大表空间的四种方法:
1、增加数据文件
ALTER TABLESPACE ***_TRD ADD DATAFILE
‘D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBFILE\TRD_2.DBF’ SIZE 1024M;
2、增加数据文件并允许自动增长
ALTER TABLESPACE ***_TRD ADD DATAFILE
‘D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBFILE\TRD_2.DBF’ SIZE 1024M AUTOEXTEND ON NEXT 8M MAXSIZE 10240M;
3、允许已存在的数据文件自动增长
ALTER DATABASE DATAFILE ‘D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBFILE\TRD.DBF’
AUTOEXTEND ON NEXT 8M MAXSIZE 10240M;
4、手工改变已存在数据文件的大小
ALTER DATABASE DATAFILE ‘D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBFILE\TRD.DBF’
RESIZE 10240M;
实际解决过程中,我们使用的是方法2。
对于具体的项目,需要根据表空间中各个表的实际情况来确定具体那种方法最优,在此不做进一步阐述。
转载于:https://www.cnblogs.com/JoePotter/p/8040443.html
Oracle解决Ora-01653无法扩展表空间问题相关推荐
- oracle在各种环境下扩展表空间
一.查看表空间使用状况 查看表空间的是使用率可以通过多种方式查看,比如 oracle客户端管理器,OEM等等.这里使用命令方式查看: SELECT tablespace_name, sum_m as ...
- Oracle ORA-01653: 无法扩展表空间 (unable to extend table... in tablespace ...)
造成问题原因分析: 1.表空间不足. 2.表空间状态未开启自动扩展功能. 检查 1.查看表空间使用情况 SELECT UPPER(F.TABLESPACE_NAME) "表空间名" ...
- oracle创建表空间 扩展表空间文件 修改表空间自动增长
1. 创建表空间 create tablespace SIRM2 datafile 'D:\oracle\product\10.2.0\oradata\orcl\SIRM2.dbf' size 10 ...
- Oracle 查看和扩展表空间
一.查询表空间使用情况 select a.tablespace_name as "表空间名",a.bytes / 1024 / 1024 as "表空间大小(M)&quo ...
- Oracle之同义词,DBLINK,表空间
昨天讲了物化视图了,今天讲一下同义词的这个概念 就是synonym,反正这个我叫习惯了,这个同义词了解过吗,这个可能了解的不多吧,MYSQL里面有同义词的概念吗,给我点反馈,你用MYSQL里面有同义词 ...
- Oracle数据库迁移:异构传输表空间TTS HP-UX迁移至Redhat Linux 7.7
墨墨导读:本文来自墨天轮用户"你好我是李白"的投稿,记录一个Oracle数据库迁移过程 :异构传输表空间TTS HP-UX迁移至Redhat Linux 7.7.墨天轮主页:htt ...
- linux oracle 删除为空的dbf,Linux上Oracle误删除一个没有用的dbf表空间文件
在Linux下面安装好Oracle只有,Linux 下面就会有一个Oracle用户,Linux上Oracle误删除一个没有用的dbf表空间文件,导致数据库连接 在Linux下面安装好Oracle只有, ...
- oracle plsql创建表空间,Oracle在PLSQL Developer上创建表空间和用户脚本 - 龙卷风的日志 - 网易博客...
Oracle在PLSQL Developer上建立表空间脚本 创建表空间 一. create tablespace MOF_TEMP //name datafile 'D:\oracle\produc ...
- oracle还原system备份包,SYSTEM表空间管理及备份恢复
--============================= -- SYSTEM 表空间管理及备份恢复 --============================= SYSTEM表空间是Oracl ...
- Oracle入门(七)之表空间
表空间 表空间是数据库的逻辑划分,一个表空间只能属于一个数据库.所有的数据库对象都存放在指定的表空间中.但主要存放的是表, 所以称作表空间. Oracle数据库中至少存在一个表空间,即SYSTEM的表 ...
最新文章
- 成为DBA的艰辛之路————需要掌握一笔不小的知识
- python文件操作和集合(三)
- 药理学css概念,药理学css 名词解释
- 在公网上的Linux,我的一些配置分享
- md5会重复吗_自媒体平台视频重复审查机制,如何避免自己做的视频和别人的重复...
- sqlmapapi的基本使用和源码阅读
- 面包房算法 java_java处理买面包事件
- 作为曾经的 Web 开发“王者”,jQuery 的传奇怎么续写?
- 质量标准、质量策略和质量责任的概念解释
- Python input()和raw_input()的区别
- ImageLoader的简单解析(六)
- 华为路由交换工程师学习笔记汇总
- 红蜘蛛多媒体网络教室安装步骤:
- 批量重命名文件、图片、去除括号
- 史上最拉跨的导线平差程序( by C#)
- relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol may bind externally can not be used 【ARM64平台编译】
- java 锟斤 解决乱码_java eclipse 开发中文乱码锟斤拷小锟斤拷锟
- MMORPG的常规技能系统
- 人脸检测:经典的VJ人脸检测器(类Harr特征,积分图加速法,级联的Adaboost强分类器)
- 凑个热闹之美团 YOLOv6 ORT/MNN/TNN/NCNN C++推理部署