当前位置: 首页 > news >正文

ORA-01652 表空间不够解决方案

前章:出现表空间不足不要手动强制删除对应数据文件存储目录下的DBF文件,需要用SQL语句进行数据文件的DROP,否则会导致ORA-01033报错,因为我没有开启数据库的归档所以不能通过RECOVER的形式找回数据文件最后只能重装本地ORACLE。

1.检查表空间使用情况,可带临时表也可不带

--查询所有表空间利用率(无TEMP临时表空间)
select dbf.tablespace_name,dbf.totalspace "总量(M)",dbf.totalblocks as 总块数,dfs.freespace "剩余总量(M)",dfs.freeblocks "剩余块数",(dfs.freespace / dbf.totalspace) * 100 "空闲比例"from (select t.tablespace_name,sum(t.bytes) / 1024 / 1024 totalspace,sum(t.blocks) totalblocksfrom dba_data_files tgroup by t.tablespace_name) dbf,(select tt.tablespace_name,sum(tt.bytes) / 1024 / 1024 freespace,sum(tt.blocks) freeblocksfrom dba_free_space ttgroup by tt.tablespace_name) dfswhere trim(dbf.tablespace_name) = trim(dfs.tablespace_name)

结果集:在这里插入图片描述

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.在检查表文件时 发现 表空间escalade使用率接近100%,且不可扩展

select d.file_name,d.tablespace_name,d.autoextensible from dba_data_files d  

–4.修改文件自动可扩展性

alter database datafile 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM02.DBF' 
autoextend on;

–5.查看当前用户各表所占表空间

Select Segment_Name,Sum(bytes)/1024/1024 
From User_Extents Group By Segment_Name

–6.未使用的表空间大小

select tablespace_name,(sum(bytes)/1024/1024)   tablespace_size 
from dba_free_space group by tablespace_name;

–7.使用如下语句查看一下谁在用临时段

SELECT se.username, se.SID, se.serial#, se.sql_address, se.machine
, se.program, su.TABLESPACE,  su.segtype,  su.CONTENTS
FROM v$session se, v$sort_usage su
WHERE se.saddr = su.session_addr;

–8.增加表空间大小的四种方法

select d.file_name,d.tablespace_name,d.autoextensible from dba_data_files d

–8.1:给表空间增加数据文件

alter tablespace SYSTEM 
add datafile 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM03.DBF' 
size 20G;

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

ALTER TABLESPACE app_data ADD DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP04.DBF' SIZE 50MAUTOEXTEND ON NEXT 5M MAXSIZE 100M;

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

ALTER DATABASE DATAFILE '/home/oracle/app/oracle/oradata/helowin/users01.dbf' 
AUTOEXTEND ON NEXT 5M MAXSIZE 10240M;alter database datafile 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM02.DBF' 
autoextend on;

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

ALTER DATABASE 
DATAFILE 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM03.DBF'
RESIZE 30G;

–9.查询数据库的最大表空间是多少

在sqlplus 中执行show parameter db_block_size------本机是8192—8K

Oracle数据文件默认大小上限是32G,如果要数据文件大于32G,需要在数据库创建之初就设置好。

表空间数据文件容量与DB_BLOCK_SIZE有关,在初始建库时,DB_BLOCK_SIZE要根据实际需要,设置为 4K,8K、16K、32K、64K等几种大小,ORACLE的物理文件最大只允许4194304个数据块(由操作系统决定),表空间数据文件的最大值为 4194304×DB_BLOCK_SIZE/1024M。

即:

4k最大表空间为:16384M=16G

8K最大表空间为:32768M=32G

16k最大表空间为:65536M=64G

32K最大表空间为:131072M=128G

64k最大表空间为:262144M=256G

在windows下只能使用2K,4K,8K,16K的块大小。

http://www.lryc.cn/news/368420.html

相关文章:

  • 亚马逊 AWS 视频转码功能、AWS Elemental MediaConvert 中创建和管理转码作业
  • RocketMQ可视化界面安装
  • 【ffmpeg】本地格式转换 mp4转wav||裁剪mp4
  • 基于Django+MySQL的智慧校园系统
  • Linux基础指令(一)
  • 三极管十大品牌
  • 需求记录(共享元素)
  • .Net 使用 MongoDB
  • 【TensorFlow深度学习】值函数估计:蒙特卡洛方法与TD学习
  • 成功解决ModuleNotFoundError: No module named ‘cv2’
  • 中国蚁剑 安装教程 2024年5月
  • Golang-分离式加载器(传参)AES加密
  • 速览三版HTTP的改进策略
  • window.open(“.html“,“_blank“) 执行是下载,并没有打开新窗口显示html
  • 【QT5.14.2】编译MQTT库example的时候报No such file or directory
  • 【数据结构】前缀树(字典树)汇总
  • Linux:基础开发工具
  • HarmonyOS NEXT Push接入
  • 如何快速入门Element-UI:打造高效美观的前端界面
  • Langchain的向量存储 - Document示例代码里的疑问
  • Docker 教程-介绍-2
  • 【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 伐木工(200分) - 三语言AC题解(Python/Java/Cpp)
  • UltraScale+系列模块化仪器,可以同时用作控制器、算法加速器和高速数字信号处理器
  • Python与其他编程语言(如Java、C++)相比有哪些优势?
  • Edge浏览器双击关闭标签页,双击关闭浏览器选项卡
  • C++ 贪心算法——跳跃游戏、划分字母区间
  • 汽车数据应用构想(三)
  • 体素技术在AI绘画中的革新作用
  • Leetcode.866 回文质数
  • 【论文阅读】Point2RBox (CVPR’2024)