修改oracle数据文件大小 报错:ORA-03297
来源:网络收集 点击: 时间:2024-05-07查询oracle本次修改的数据文件及其编号。
SQL语句如下:select file#,name from v$datafile;
执行后可以看到本次要修改的SXSJ1的文件对应的编号为:17

查找该数据文件的最大块号。语句如下:
select max(block_id) from dba_extents where file_id=17;
查询到的最大块为:2205952

显示SXSJ表空间每个数据块的大小。
语句如下: select tablespace_name,blocK_size,status,contents from dba_tablespaces where tablespace_name=SXSJ数据库中得到的结果为8192,就是8K。

计算该数据块占用的物理空间
语句如下:select 2205952*8/1024 from dual;
执行结果为:17234,就是16个G左右
PS这里的2205952就是步骤②中的结果

然后我们知道目前用了16G多,我们就可以把数据文件大小Resize到16G多一点,就到20G吧。
数据文件修改文件大小语句如下:ALTER DATABASE DATAFILE D:\app\Administrator\oradata\LZBDCSVR\SXSJ1 RESIZE 20G;
执行后命令成功执行

说明:之所以执行失败是因为当初我们执行修改数据文件为10G,但是实际数据已经占用了16G多了,不能修改为10G,只能比实际值大些。
ORACLEORA-03297RESIZE数据库数据文件版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_703897.html