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数据库,而不是操作系统。

7、oracle11g官方文档中关于物理数据库相关的限制

https://docs.oracle.com/cd/E11882_01/server.112/e40402/limits002.htm#REFRN0042

e2885cf4d4f059561b3ceb74cc2e3774.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值