开发者社区> peak.fang> 正文

oracle表空间扩容

简介: oracle表空间扩容
+关注继续查看

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 b
where a.file_id=b.file_id group by > b.tablespace_name,b.file_name,b.bytes
order 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:\APP\ADMINISTRATOR\ORADATA\IPEMS\IPEMS0104.DBF' size 30000m  reuse  autoextend on next 50M;

5、直接增大现有数据文件扩展表空间

ALTER DATABASE DATAFILE 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\DBFIRST\DITS.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数据库,而不是操作系统。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
oracle表空间,角色,权限,表,索引,序列号,视图,同义词,约束条件,存储函数和过程,常用数据字典,基本数据字典信息,查看VGA信息,维护表空间,创建表空间等信息
查看当前用户的缺省表空间   SQL>select username,default_tablespace from user_users;   查看当前用户的角色   SQL>select * from user_role_privs;   查看当前用户的系统权限和表级权限   SQL>select * from user_sys_privs;       
1254 0
Oracle 创建表空间和用户脚本
Oracle 创建表空间和用户脚本
35 0
innodb表空间加密
表空间加密的注意事项
131 0
Oracle表空间的一些介绍
今天在跑过程是发现老师提示表空间不足,但是查找了好一会才知道原因 下面说一下: 1、表空间分配 这个查询是查到的总共该用户下表空间的试用情况(注意并非这一个用户拥有这个表空间) SELECT tbs 表空间名,        sum(totalG) 总共大小G,        sum(usedG) 已使用空间G,        sum(remainedG) 剩余空间G
890 0
+关注
1
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载