1、查询当前表空间使用情况
col FILE_NAME format a50;col SPACE_NAME format a15; select b.file_name file_name,b.tablespace_name space_name,b.bytes/1024/1024 munM,(b.bytes-sum(nvl(a.bytes,0)))/1024/1024 usedM,substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5) "use%"from dba_free_space a,dba_data_files bwhere a.file_id=b.file_id group by > b.tablespace_name,b.file_name,b.bytesorder by b.tablespace_name;2、查询各表占用空间情况,可以通过blocks块数判断空间占用情况
select table_name,tablespace_name,num_rows,blocks from all_tables where owner='IPEMS_DEV_EMS' order by blocks asc;3、结合业务需要可以对历史数据表进行删除,如果需要删除的表较多,可通过拼接自动生成SQL脚本,也可利用notpad++工具手动拼接SQL脚本
alter table IPEMS_DEV_EMS.DO_5C6B3296CD1E_1062 move tablespace IPEMS01;4、增加数据文件扩展表空间
alter tablespace IPEMS01 add datafile 'D:APPADMINISTRATORORADATAIPEMSIPEMS0104.DBF' size 30000m reuse autoextend on next 50M;5、直接增大现有数据文件扩展表空间
ALTER DATA DATAFILE 'E:ORACLEPRODUCT10.2.0ORADATADBFIRSTDITS.DBF' RESIZE 400M;6、关于oracle数据文件大小的说明:
64位OS 和64位oracle,默认oracle表空间数据文件用的BLOCKSIZE是8k,表空间数据文件最大是32G(最大blocks 2^22-1,单个数据文件最大为最大blocks*block_size (2^22-1)*8/1024/1204/1024)。要扩大单个数据文件的大小限制主要修改block_size的大小uname -a 查看linuxOS的位数,sqlplus 登录oracle会显示oracle的位数,show parameter block;在命令行窗口可以查看数据块大小;
计算机右键“属性”查看windows的位数;
32位OS和32位oracle,默认oracle表空间datafile用的BLOCKSIZE也是8k,表空间数据文件最大也是32G。试了一下64G文件,也没有问题。所以最终限制数据文件大小的还是oracle数据库,而不是操作系统。 继续阅读与本文标签相同的文章
上一篇 :
python之面向对象编程二
下一篇 :
ansible的命令操作模块<6>
-
面试题:使用递归的方法计算1到100的累加。
2026-05-25栏目: 教程
-
如何修改DNN默认的DOCTYPE
2026-05-25栏目: 教程
-
DotNetNuke安装大全-如何安装DNN StartKit、Install、Source包。(转载)
2026-05-25栏目: 教程
-
用 Go 写一个轻量级的 ssh 批量操作工具
2026-05-25栏目: 教程
-
如何汉化DNN--中文语言包的使用
2026-05-25栏目: 教程
