我如何更改表空间 ORACLE 中的 MAXBYTES 和 INCREMENT_BY 的值?

How can i change value of MAXBYTES and INCREMENT_BY in tablespace ORACLE?

我想将 MAXBYTES 和 INCREMENT_BY 的值更改为 10M 和 20M,但是不起作用,请帮助我

下面的命令可能会改变 MAXBYTES 但肯定会改变 INCREMENT_BY:

alter database datafile 'D:C\APP\JON\ORADATA\ORCL\ORCLPDB\USERS01.DBF'
autoextend on
next 20m
maxsize 10m ;

我说可能是因为MAXBYTES不能小于已经使用的字节数。在 19c 中,该命令将尽可能降低 MAXBYTES,并静静地忽略其余部分。 (我认为在以前的版本中该命令会抛出一条错误消息。)

INCREMENT_BY 将始终有效,但值存储在块而不是字节中。根据块大小,您可能需要将其乘以 4KB、8KB、16KB 或 32KB 以获得以字节为单位的大小。 (8KB 是默认大小,如下所示。)

使用此查询检查以兆字节为单位的大小:

select
    file_name,
    bytes/1024/1024 bytes_mb,
    maxbytes/1024/1024 maxbytes_mb,
    increment_by * 8 / 1024 increment_by_mb
from dba_data_files;

更改 SYSAUX 数据文件的值时要小心,因为它们用于存储重要数据,例如 AWR。 (这些文件不如 SYSTEM 重要,但是 SYSAUX 上 space 中的 运行 肯定会导致一些问题。)