今遇到问题:

 

查看表空间,发现表空间大小已达到32G,但创建表空间时已设置了无限扩展(初始空间为1G),磁盘空间没满,说明表空间无法进行自动扩展了。

问题原因:

查找资料了解到Oracle单个表空间数据文件的最大值为:

最大数据块 * DB_BLOCK_SIZE

查看Oracle的 DB_BLOCK_SIZE

select value from v$parameter where name ='db_block_size';

value=8192=8K

本机数据库的数据块大小为8K,算出本机Oracle 单个表空间数据文件的最大值为:

4194304 * 8/1024 = 32768M (32G);

所以既使创建表空间时设置了 autoextend on maxsize unlimited,其最大空间也是不会超过32G。

注:
1、表空间数据文件容量与DB_BLOCK_SIZE有关,在初始建库时,DB_BLOCK_SIZE要根据实际需要,设置为 4K、8K、16K、32K、64K等几种大小;
2、ORACLE的物理文件最大只允许4194304(2^22)个数据块;

解决方法:

修改表空间,增加数据文件。设置新增的数据文件大小为1G,自增长10M(可根据情况自行设置)

ALTER TABLESPACE TSP_EMR ADD DATAFILE
'D:oracleoradatajh20200321_DATA01.DBF'
SIZE 1024M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;

增加数据文件文件时要注意磁盘空间大小,不能将所有的磁盘空间分配给数据文件,因为日志归档还需要空间,否则会报“ORA-00257: 归档程序错误”。

 

 


————————————————
版权声明:本文为CSDN博主「shileimohan」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/shileimohan/article/details/84989916

 

 

 

 

 

 

 

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/QZBOY/p/12536860.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!