oracle 释放表空间到OS(resize)
1.查看表空间里面的对象
SELECT OWNER AS OWNER,
SEGMENT_NAME AS SEGMENT_NAME,
SEGMENT_TYPE AS SEGMENT_TYPE,
SUM (BYTES) / 1024 / 1024 AS SEGMENT_SIZE
FROM DBA_SEGMENTS
WHERE TABLESPACE_NAME = 'TBS'
GROUP BY OWNER, SEGMENT_NAME, SEGMENT_TYPE;
2.里面的普通表按照如下move到新表空间中
move后索引会应为rowid的改变而失效,因此需要重建
alter table owner.tablename move tablespace ntbs;
alter index owner.ix_tablename_id rebuild tablespace ntbs online;
3.里面如果是分区表,按如下move分区到新分区
SELECT 'ALTER TABLE '
|| table_owner
|| '.'
|| TABLE_NAME
|| ' MOVE PARTITION '
|| PARTITION_NAME
|| ' TABLESPACE NTBS;'
FROM DBA_TAB_PARTITIONS
WHERE TABLE_OWNER = 'OWNER' AND TABLE_NAME = 'TABLE_NAMES';
如果这个表是自动分区的,修改新增分区默认表空间
SELECT 'alter table '
|| owner
|| '.'
|| table_name
|| ' modify default attributes tablespace NTBLS;'
FROM DBA_TABLES
WHERE OWNER = 'OWNER' AND TABLE_NAME = 'TABLE_NAME';
4.里面如果是普通索引,按如下重建索引
alter index owner.tablename REBUILD TABLESPACE NTBS ONLINE;
如果online遇到如下错误
- 第 1 行出现错误:
- ORA-00604: 递归 SQL 级别 1 出现错误
- ORA-01450: 超出最大的关键字长度 (3215)
那么不加online即可(oracle规定一个数据块中至少存放一个索引节点,详细可参考https://blog.csdn.net/yidian815/article/details/16336911)
5.例如如果是分区索引,按如下重建索引
SELECT 'ALTER INDEX '
|| index_owner
|| '.'
|| index_name
|| ' REBUILD PARTITION '
|| PARTITION_NAME
|| ' TABLESPACE NTBS ONLINE;'
FROM DBA_ind_PARTITIONS
WHERE index_owner = 'index_owner' AND INDEX_NAME = 'index_name';
如果分区为自增分区,修改分区索引的默认表空间
SELECT 'ALTER INDEX '
|| owner
|| '.'
|| index_name
|| ' modify default attributes tablespace ntbs;'
FROM dba_indexes
WHERE OWNER = 'index_owner' AND INDEX_NAME = 'index_name';
oracle 释放表空间到OS(resize)的更多相关文章
- (转) Delete/Truncate删除,释放表空间、降低高水位线、resize释放磁盘空间相关优化
硬盘空间不足,打算删除数据库中的多余数据,但删除数据后,硬盘硬盘空间不能释放.[delete后用:alter table table_name move truncate后用:alter tab ...
- Oracle中关于清除数据和释放表空间
一.表的重命名 flashback table test2 to before drop rename to test3;--[to test3]将表重命名 drop table test3 purg ...
- oracle暂时表空间 ORA-01652:无法通过16(在表空间XXX中)扩展 temp 字段
今天在查数据的时候报错 ORA-01652:无法通过16(在表空间temp1中)扩展 temp 字段 查看表空间使用明细 SELECT b.tablespace, b.segfile# ...
- oracle数据库表空间追加数据库文件方法
oracle数据库表空间追加数据库文件方法 针对非大文件方式表空间,允许追加文件进行表空间的扩展,单个文件最大大小是32G 第一种方式:表空间增加数据文件 www.2cto.com 1 ...
- Oracle 设置表空间自增长
Oracle修改表空间大小 使用Oracle10g建立数据库后,向数据库中导入了部分数据,第二天继续向数据库中导入数据表时发生错误: 查了很多资料发现原来是Oracle表空间限制,导致无法继续导入数据 ...
- Oracle Temp表空间切换
来源于: http://www.2cto.com/database/201507/418564.html 一.TEMP表空间作用 临时表空间主要用途是在数据库进行排序运算.管理索引.访问视图等操作时 ...
- [转载]Oracle修改表空间大小
Oracle修改表空间大小 使用Oracle10g建立数据库后,向数据库中导入了部分数据,第二天继续向数据库中导入数据表时发生错误: 查了很多资料发现原来是Oracle表空间限制,导致无法继续导入数据 ...
- Oracle查看表空间及修改数据文件大小
Oracle查看表空间及修改数据文件大小 第一步:查看所有表空间及表空间大小: select tablespace_name ,sum(bytes) / 1024 / 1024 as MB from ...
- oracle维护表空间和数据文件
1:重要参考 wiki 2: oracle doc 表空间参考 3:来自dba-oracle的参考 26,27,28,29 一:oracle 表空间概念 表空间是联系数据库的物理磁盘(数据文件)和逻辑 ...
随机推荐
- 判断一个对象是否为空?怎么得到一个对象的第几个键名(key)?
var obj = {"微信":[],"qq":[]} console.log( Object.keys(obj) ) // ["微信",& ...
- 双向数据绑定 v-model
双向数据绑定 就是既可以从页面传到数据也可以从数据到页面 初始运行结果为: 在输入框 更改数据 相应的输入框上的也会相对改变 然后再试试利用控制台更改数据 可以看到数据也被改变了 而且输入框中的内容也 ...
- 精尽Spring MVC源码分析 - HandlerMapping 组件(四)之 AbstractUrlHandlerMapping
该系列文档是本人在学习 Spring MVC 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释 Spring MVC 源码分析 GitHub 地址 进行阅读 Spring 版本:5.2. ...
- Jmeter连接redis
介绍:现在有很多数据不是存储在数据库而是存储在Redis中 Redis数据库存储数据环境 不用每次都去数据库读取数据 可以有效的优化服务器性能. 下面介绍使用jmeter如何读取redis 一.首先创 ...
- html 06-HTML5详解
06-HTML5详解 #HTML5的介绍 #Web 技术发展时间线 1991 HTML 1994 HTML2 1996 CSS1 + JavaScript 1997 HTML4 1998 CSS2 2 ...
- [日常摸鱼][POI2000]病毒-Tire图(AC自动机)+dfs
https://www.luogu.org/problemnew/show/P2444 (没有bzoj权限号T_T) 字符串题对我这种傻逼来说真是太难了x 题意:输入$n$个01组成的模式串串,判断是 ...
- phpMyadmin(CVE-2018-12613)后台任意文件包含漏洞分析
前言 影响版本:4.8.0--4.8.1 本次复现使用4.8.1 点击下载 复现平台为vulhub.此漏洞复现平台如何安装使用不在赘述.请自行百度. 漏洞复现 漏洞环境启动成功. 访问该漏洞地 ...
- AddressSanitizer —— ASAN分析内存错误
简介 AddressSanitizer 是一个性能非常好的C/C++ 内存错误探测工具. 它由编译器的插桩模块和替换了malloc函数的运行时库组成. 这个工具可以探测如下这些类型的错误: 对堆.栈和 ...
- MySQL如何优雅的删除大表
前言 删除表,大家下意识想到的命令可能是直接使用DROP TABLE "表名",这是初生牛犊的做法,因为当要删除的表达空间到几十G,甚至是几百G的表时候.这样一条命令下去,MySQ ...
- JavaDailyReports10_16
今天学习安装配置了JavaWeb的资源环境, 明天开始学习HTML!