Oracle缩小表空间的方法

0    390    1

Tags:

👉 本文共约2238个字,系统预计阅读时间或需9分钟。

前言部分

导读和注意事项

各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,\~O(∩_∩)O\~:

① 收缩表空间的几种办法

② 表空间大小查询

③ AIX下查询磁盘空间大小的shell脚本

④ 删除数据文件的正确方法

⑤ ORA-03262处理

⑥ 缩小数据文件

⑦ su - grid asmcmd lsdg的使用

⑧ 其他常用命令

环境介绍

项目source db
db 类型RAC
db version11.2.0.3.0
db 存储ASM
OS版本及kernel版本AIX 64位 7.1.0.0

处理过程

一个同事过来说,表空间不够了,让我帮忙看看,好吧,首先看一下表空间的大小,SQL语句如下:

TPCCIND表空间占用了99%了,剩下378M,不够用了,好吧,看看系统还有剩余的空间没有:

这个截图的shell脚本如下,可以在AIX环境下查看磁盘的使用情况,作者曾花了接近2天的时间写的(主要是不熟悉AWK,汗颜,,,):

从截图可以看出分配给数据库的一共8块磁盘,看看数据库中有多少:

看了8块磁盘分配完了,而系统剩余空间还有769M:

那就只能隔东墙补西墙,看到系统里TPCCHIS表空间剩下270G,经开发确认,可以缩小一些空间:

而缩小表空间有3种办法:

1、ALTER TABLESPACE test SHRINK SPACE KEEP 20M; --主要针对临时表空间

2、删除数据文件

3、缩小数据文件的大小

我们试试第一种:

ORA-12916: cannot shrink permanent or dictionary managed tablespace

报错了,永久表空间或是字典管理的不能SHRINK,只能针对temp表空间进行SHRINK SPACE。

试试第二种办法:删除数据文件

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信dbaup66,谢谢!
AiDBA后续精彩内容已被站长无情隐藏,请输入验证码解锁本文!
验证码:
获取验证码: 请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“AiDBA”或者“dbaup6”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复