oracle resize什么意思,Oracle调整表空间大小resize
SQL> ALTER DATABASE DATAFILE 'D:\ORACLE\ORADATA\ICAPP\IC_DATA6.ORA' RESIZE 300m;
ALTER DATABASE DATAFILE 'D:\ORACLE\ORADATA\ICAPP\IC_DATA6.ORA' RESIZE 300m
*
ERROR 位于第 1 行:
ORA-03297: 文件包含在请求的 RESIZE 值以外使用的数据
但是
SQL>select d.filename,d.file_id,d.bytes/1024/1024 as d_byte,sum(f.bytes/1024/1024) as free_byte
2 from dba_data_files d,dba_free_space f
3 where d.file_id=f.file_id and d.file_id=18
4 group by d.file_name,d.file_id,d.bytes/1024/1024;
FILE_NAME FILE_ID D_BYTE FREE_BYTE
--------------------------------- ---------- ---------- ----------
D:\ORACLE\ORADATA\ICAPP\IC_DATA6.ORA 18 1536 1482.0625
可以看到实际上ID=18的文件只使用了大概50M左右,只是数据分布在(按一定的顺序)50M甚至在300M以外的地方,所以这里虽然看到只使用了约50M空间,但是却不能resize datafile.
为此,要改小数据文件,我们先要对文件上的表和索引移动一下位置,具体做法如下:
1、移动表前先对表空间做整理
SQL>alter tablespace ic_data coalesce;
2、
在dba_extents找到与ID=18的数据文件相关的表及索引
SQL>select segment_name,partition_name,segment_type
2 from dba_extents
3 where file_id=18;
3、
对id=18的文件上的表和索引移动位置
SQL> set heading off
SQL> set echo off
SQL> set feedback off
SQL> set termout on
SQL> spool d:\aaa.sql
//移动表
SQL>select DISTINCT 'alter table '|| segment_name || ' move tablespace test_space;' from dba_extents where segment_type='TABLE' and file_id=18;
//移动索引
SQL>select DISTINCT 'alter index '|| segment_name || ' rebuild tablespace test_space;' from dba_extents where segment_type='INDEX' and file_id=18;
//移动分区表
SQL>select DISTINCT 'alter table '|| segment_name || ' move partition '|| partition_name || ' tablespace test_space;' from dba_extents where segment_type='TABLE PARTITION' and file_id=18;
//移动分区索引
SQL>select DISTINCT 'alter index '|| segment_name || ' rebuild partition '|| partition_name || ' tablespace test_space;' from dba_extents where segment_type='INDEX PARTITION' and file_id=18;
SQL>spool off
然后执行aaa.sql,注意保证test_space有足够的空间容纳这些数据,
其实可以不移动所有的数据,但是总的测验是不是移动了300M以外的数据,所以还是移动所有数据的方便
4、这样移动了所有的数据以后就可以对datafile resize了
SQL> c/9/3
1* ALTER DATABASE DATAFILE 'D:\ORACLE\ORADATA\ICAPP\IC_DATA6.ORA' RESIZE 300M
SQL> /
数据库已更改。
5、把原来表空间ic_data中的数据再移动回来,修改aaa.sql中的表空间名为ic_data再执行,然后drop tablespace test_space including contents and datafiles。
以上操作起源于我删除了database里的一个大表造成很多空间浪费,想回收空间:)
-----------------------分割线-----------------------------分割线-----------------------------分割线----------------------------
经过实践,以上方法可以处理
ORA-03297: 文件包含在请求的 RESIZE 值以外使用的数据问题。
但是如果一个表空间被多个Oracle用户使用,在导出sql文件时要指定用户,否则在执行sql文件时会报错
oracle resize什么意思,Oracle调整表空间大小resize相关推荐
- Oracle11g 调整表空间大小 Resize
Oracle调整表空间大小 整表空间的语法: ALTER DATABASE DATAFILE 'X:\Your_Dbf_Path\YourDbf.DBF' RESIZE 1024M; 调整X盘符下DB ...
- oracle 查看表所占用的空间大小
http://luobeng.blogbus.com/logs/36329526.html 1.查看表所占空间 SELECT TABLESPACE_NAME,TO_CHAR(SUM(BYTES)/ ...
- db2 修改表空间自增长_db2自动调整表空间的大小 - 木子日京的个人空间 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
db2自动调整表空间的大小 上一篇 / 下一篇 2009-02-06 11:47:19 在 DB2® 数据库系统中存在两种类型的基本表空间:系统管理的空间(SMS)和数据库管理的空间(DMS). 与 ...
- 【ruoyi若依】layer 重置大小/resize
前言 略 layer 重置大小/resize 通过layer.style方法重置大小/resize. 示例 var getDefaultWidth = ()=>{return $(window) ...
- Oracle 查看表空间大小及其扩展
在ORACLE数据库中,所有数据从逻辑结构上看都是存放在表空间当中,当然表空间下还有段.区.块等逻辑结构.从物理结构上看是放在数据文件中.一个表空间可由多个数据文件组成.系统中默认创建的几个表空间:S ...
- 修改oracle超空间大小,Oracle修改表空间大小详解
在向orale数据库导入数据的时候报 ORA-01658: 无法为表空间 XXX中的段创建 INITIAL 区错误. Oracle我在创建表空间的时候初始化大小为200M,当数据库中数据量达到这个值, ...
- oracle增加表空间大小
oracle增加表空间大小 第一步:查看表空间的名字及文件所在位置: select tablespace_name, file_id, file_name, round(bytes/(1024*102 ...
- oracle修改表空间最大,oracle_Oracle修改表空间大小的方法,本文讲述了Oracle修改表空间大 - phpStudy...
Oracle修改表空间大小的方法 本文讲述了Oracle修改表空间大小的方法.分享给大家供大家参考,具体如下: 1)查看各表空间分配情况 SQL> select tablespace_name, ...
- Oracle查看表空间大小以及修改表空间大小
问题描述: 一.修改表空间大小 二.查看表空间大小及相关的sql 1.查看表空间的名称及大小 2.查看表空间物理文件的名称及大小 3.查看回滚段名称及大小 4.查看控制文件 5.查看日志文件 6.查看 ...
最新文章
- 一星期没完成Ansible任务
- 试验设计与matlab数据分析 下载,试验设计与MATLAB数据分析(附光盘)
- 避免CRM_IB 013 error message
- oracle 取英文排序,Oracle中中文、数字,英文混杂形式的字段进行排序的方法
- [css] css的user-select:all 有什么用处?
- 信息学奥赛一本通C++语言——1044:判断是否为两位数
- CSS3单词及属性大全
- 语言学博士、Kaggle数据分析师,她说:读研不是必选项,这4项技能学校不教
- iPhone SDK开发基础之自定义仪表控件
- KeyMob聚合致力于为广大开发者及广告聚合服务
- SMB扫描-Server Message Block 协议、nmap
- kotlin的属性委托
- Atitit 计算机的组成与设计 目录 1. 计算机系统是由硬件系统和软件系统两大部分组成。 	1 1.1. Cpu(alu+cu )	1 1.2. 存储内存 外村	1 1.3. Io设备 鼠标
- 台电 平板电脑 html,颜值与功能兼备 台电X6 Pro二合一平板评测
- android 截屏 简书,Android基础 截屏ScreenCapture
- 小程序跳转:h5避免中间页直接打开微信小程序
- chemdraw怎么连接两个结构_用ChemDraw连接两个结构片段的教程
- “管中窥豹”,MyCAT的基因缺陷
- MongoDB的安装与可视化工具Studio 3T的安装
- 智慧工厂是什么 智慧工厂方案举例 智慧工厂案例
热门文章
- mysql统计同一字段重复的个数
- Linux 输入输出重定向 2>/dev/null和>/dev/null 2>1和2>1>/dev/nul
- C++学习之路 | PTA乙级—— 1066 图像过滤 (15 分)(精简)
- linux 串口text模式安装,使用串口安装centos操作系统
- java打开别人的代码报错_同样的代码,别人的可以运行我的报错,求解答
- 用计算机进行频谱分析时,实验四-利用FFT对信号进行频谱分析1112
- 切换分支 如何判断 是否完成_如何判断展览公司是否专业?
- 三电平igbt死区时间计算_基于大功率三电平IGBT模块并联的参考设计
- iOS-MVVM-模式介绍
- python安装多个版本_Mac安装多个python版本