sql 在没有ORA-03297的情况下将Oracle数据文件的大小调整到最小

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 在没有ORA-03297的情况下将Oracle数据文件的大小调整到最小相关的知识,希望对你有一定的参考价值。

set linesize 1000 pagesize 0 feedback off trimspool on
with
 hwm as (
  select /*+ materialize */ ktfbuesegtsn ts#,ktfbuefno relative_fno,max(ktfbuebno+ktfbueblks-1) hwm_blocks
  from sys.x$ktfbue group by ktfbuefno,ktfbuesegtsn
 ),
 hwmts as (
  select name tablespace_name,relative_fno,hwm_blocks
  from hwm join v$tablespace using(ts#)
 ),
 hwmdf as (
  select file_name,nvl(hwm_blocks*(bytes/blocks),5*1024*1024) hwm_bytes,bytes,autoextensible,maxbytes
  from hwmts right join dba_data_files using(tablespace_name,relative_fno)
 )
select
 case when autoextensible='YES' and maxbytes>=bytes
 then
  '/* reclaim '||to_char(ceil((bytes-hwm_bytes)/1024/1024),999999)
   ||'M from '||to_char(ceil(bytes/1024/1024),999999)||'M */ '
   ||'alter database datafile '''||file_name||''' resize '||ceil(hwm_bytes/1024/1024)||'M;'
 else
  '/* reclaim '||to_char(ceil((bytes-hwm_bytes)/1024/1024),999999)
   ||'M from '||to_char(ceil(bytes/1024/1024),999999)
   ||'M after setting autoextensible maxsize higher than current size for file '
   || file_name||' */'
 end SQL
from hwmdf
where
 bytes-hwm_bytes>1024*1024
order by bytes-hwm_bytes desc
/

以上是关于sql 在没有ORA-03297的情况下将Oracle数据文件的大小调整到最小的主要内容,如果未能解决你的问题,请参考以下文章

ORA-03297: 文件包含在请求的 RESIZE 值以外使用的数据

如何在没有此错误的情况下将此 SQL 转储导入 PhpMyAdmin?

如何在没有 DB 的情况下将 sql 查询更改为 laravel 模型查询

在没有 JavaScript 的情况下将 Oracle PL/SQL 移植到 Snowflake

如何在没有“for xml”子句的情况下将 sql 结果列作为 csv 获取?

我的 sql server 可以在没有任何 java 应用程序的情况下将消息发送到 activemq 服务器吗