oracle解决表空间不足问题
ORA-00604: 递归sql级别1出现错误
ORA-01654:索引SYS.I_COL1 无法通过 128 (在表空间SYSTEM中) 扩展
这种情况是表空间不够需要查看表空间的容量,和表空间所对应的数据文件
连上数据查看表空间情况:
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;
通过这条sql可以看出SYSTEM表空间已经使用了99.98,表空间不够了
SYSTEM表空间不足
查看表空间文件名称和是否自动增长
SELECT FILE_NAME,TABLESPACE_NAME,AUTOEXTENSIBLE FROM dba_data_files;
增加表空间大小
alter database datafile '/opt/app/oracle/oradata/oradb/system01.dbf' resize 64000m;
同样也报错
然后我选择在原路径上新建一个数据文件
新增数据文件,并且允许数据文件自动增长
ALTER TABLESPACE app_data ADD DATAFILE
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP04.DBF' SIZE 50M
AUTOEXTEND(自动扩展) ON NEXT 5M MAXSIZE 100M(unlimited无限制);
之后发现还是报错,然后我就去看了lunix磁盘情况
然后发现u01磁盘满了.最后数据文件在data目录下新建了一个,就解决了这个问题(希望对大家有帮助吧)
注:
表空间在初始建立的时候最好设置成自动扩展的,如果没有设置成zhi扩展的,则有四种方法可以增加表空间的大小,其中增加数据文件是经常用的一种。四种方法如下:
①:给表空间增加数据文件
ALTER TABLESPACE app_data ADD DATAFILE
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF' SIZE 50M;
②:新增数据文件,并且允许数据文件自动增长
ALTER TABLESPACE app_data ADD DATAFILE
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP04.DBF' SIZE 50M
AUTOEXTEND ON NEXT 5M MAXSIZE 100M;
③:允许已存在的数据文件自动增长
ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF'
AUTOEXTEND ON NEXT 5M MAXSIZE 100M;
④:手工改变已存在数据文件的大小
ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP02.DBF'
RESIZE 100M;
注:查询临时表空间:select name,status from v$tempfile;
1 为空间不足的表空间增加数据文件
ALTER TABLESPACE &tablespace_name ADD DATAFILE '&datafile_name' SIZE 2G;
2 如果要为临时表空间扩容,使用下面的语句
ALTER TABLESPACE &tablespace_name ADD TEMPFILE '&datafile_name' SIZE 2G;
上面那两个其实差不多都是增加数据文件
--1.查看表空间使用率(包括临时表空间)
select *
from (Select a.tablespace_name,
to_char(a.bytes / 1024 / 1024, '99,999.999') total_bytes,
to_char(b.bytes / 1024 / 1024, '99,999.999') free_bytes,
to_char(a.bytes / 1024 / 1024 - b.bytes / 1024 / 1024,
'99,999.999') use_bytes,
to_char((1 - b.bytes / a.bytes) * 100, '99.99') || '%' use
from (select tablespace_name, sum(bytes) bytes
from dba_data_files
group by tablespace_name) a,
(select tablespace_name, sum(bytes) bytes
from dba_free_space
group by tablespace_name) b
where a.tablespace_name = b.tablespace_name
union all
select c.tablespace_name,
to_char(c.bytes / 1024 / 1024, '99,999.999') total_bytes,
to_char((c.bytes - d.bytes_used) / 1024 / 1024, '99,999.999') free_bytes,
to_char(d.bytes_used / 1024 / 1024, '99,999.999') use_bytes,
to_char(d.bytes_used * 100 / c.bytes, '99.99') || '%' use
from (select tablespace_name, sum(bytes) bytes
from dba_temp_files
group by tablespace_name) c,
(select tablespace_name, sum(bytes_cached) bytes_used
from v$temp_extent_pool
group by tablespace_name) d
where c.tablespace_name = d.tablespace_name)
order by tablespace_name
--2.查看文件是否自动扩展
select d.file_name,d.tablespace_name,d.autoextensible from dba_data_files d
--如果想查看临时表空间文件是否自动扩展
select d.file_name,d.tablespace_name,d.autoextensible from dba_temp_files d;
--3.对临时文件进行扩展。
--1)TOSTEMP表空间使用率接近100%,对它进行扩展。
--SQL> alter database tempfile 'C:xxxxxx\TOSTEMP01.DBF'resize 500M;
--2)若是发现 表空间使用率接近100%,且不可扩展修改文件自动可扩展性
--alter database datafile/tempfile 'E:xxxxxxESCALADE.ORA' autoextend on;
--4.查看临时表空间使用率:
select c.tablespace_name,
to_char(c.bytes/1024/1024/1024,'99,999.999') total_gb,
to_char( (c.bytes-d.bytes_used)/1024/1024/1024,'99,999.999') free_gb,
to_char(d.bytes_used/1024/1024/1024,'99,999.999') use_gb,
to_char(d.bytes_used*100/c.bytes,'99.99') || '%'use
from (select tablespace_name,sum(bytes) bytes
from dba_temp_files GROUP by tablespace_name) c,
(select tablespace_name,sum(bytes_cached) bytes_used
from v$temp_extent_pool GROUP by tablespace_name) d
where c.tablespace_name = d.tablespace_name;
--5.查询那些用户在使用
select a.username,
a.sql_id,
a.SEGTYPE,
b.BYTES_USED/1024/1024/1024||‘G’,
b.BYTES_FREE/1024/1024/1024 from V$TEMPSEG_USAGE a join V$TEMP_SPACE_HEADER b on a.TABLESPACE=b.tablespace_name;
解释username 正在执行sql的用户名
sql_id 正在执行的sql的的sql_id
segtype 正在执行的SQL语句做的是什么操作
BYTES_USED 正在执行sql语句使用的临时表空间的大小
BYTES_FREE 剩余多少临时表空间
oracle解决表空间不足问题相关推荐
- oracle 删除空间不足,oracle表空间扩容、创建、删除(解决表空间不足问题)
前言 整理一下之前使用oracle数据库遇到的表空间不足的问题,顺便水个博客. oracle表空间操作语句 1.改变已存在的数据文件的大小 ALTER TABLESPACE app_data ADD ...
- oracle误删除表空间的数据文件
事故原因: 1.由于误操作用hp unix 命令 rm -f datafilename 删除表空间的数据文件 2.alter tablespace tablespacenaem drop datafi ...
- Oracle的表空间和sqlplus
Oracle的表空间和sqlplus 1. 表空间的概念 曾经接触过的数据库都没有听到过表空间这个词,在前一段时间看到Oracle数据库的时候发现表空间无处不在. 所以表空间在Oracle数据库中应 ...
- oracle 创建表空间
一.启动数据 $sqlplus "sys/pass as sysdba" sql>startup 二.启动监听器 数据库启动后,如果未启动监听进程,则客户端无法与数据库连接. ...
- oracle 查看表空间总量,oracle 查看表空间以及剩余量
--1.查看表空间的名称及大小 SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size FROM dba_tabl ...
- ORA-01658:oracle创建表空间时指定的UNLIMITED真的是UNLIMITED吗?
背景介绍 最近,同事说在执行ETL的过程中oracle报错 ORA-01658: unable to create INITIAL extent for segment in tablespace X ...
- oracle创建用户表空间6,Oracle创建表空间,添加用户及授权
工具/原料 PLSQL 方法/步骤 1.在PLSQL里,用system/css(orcl系统用户)登陆,登陆的时候普通用户登陆选择normal就可以了 2.Oracle用户新增 执行语句 create ...
- oracle的创建表的脚本,oracle创建表空间脚本
下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. /*分为四步 */ /*第1步:创建临时表空间 */ create temporary t ...
- oracle系统表空间不足,oracle表空间不足相关问题解决办法
oracle 临时表空间和数据表空间 Oracle临时表空间主要用来做查询和存放一些缓冲区数据.临时表空间消耗的主要原因是需要对查询的中间结果进行排序.重启数据库可以释放临时表空间,如果不能重启实例, ...
最新文章
- 公开SNS社区即时找朋友链的源代码和部署方案(续四)
- 深度 | 一篇文章带你进入无监督学习:从基本概念到四种实现模型(附论文)
- 消息队列之推还是拉,RocketMQ 和 Kafka是如何做的?
- Exchange 2010 OWA 无法使用关键字搜索
- 正则表达式(一) -- 元字符(转)
- 品牌直播启动的三个关键点
- 机器学习ai选股_机器学习技术能够有效用于选股吗?(下)
- 程序员面试金典——9.1上楼梯
- C++ 0x/11学习笔记
- 富士胶片滤镜人像调色预设PS插件
- java无法双击打开.jar文件/jar包以压缩文件显示
- golang vendor目录
- 注册Google邮箱,也许你就差这一步
- Vue中router-view和子路由的使用方法
- 转:solr 从数据库导入数据,全量索引和增量索引(实例配置原理)
- Proteus VSM STM32仿真原理图绘制与设置
- 6大B2C购物系统比较
- 连续签到积分兑换试用流量主小程序开发
- 怎么控制当前页面不左右滑动,可以上下滑动
- 猜数字游戏代码+设计思路分析
热门文章
- 《持续集成实践指南》第2章 持续集成环境搭建Jenkins+Gitlab+Gerrit
- 商业银行资产管理理论之:商业贷款理论、转移理论和预期收入理论
- 二叉树的前序、中序、后序、递归以及非递归遍历
- 作为站长,给火绒吹一次,论杀毒谁强?
- PowerPoint让你快速成为PS高手——抠图
- Swift-UITableView快捷创建(刨坟用)
- Anaconda创建虚拟环境并在Pycharm中使用创建好的环境
- 通过RK3568实现的NVR方案
- 深入解析:如何修复SSL / TLS握手失败错误(上)
- SCAPE: shape completion and animation of people