我如何更改表空间 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 中的 运行 肯定会导致一些问题。)
我想将 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 中的 运行 肯定会导致一些问题。)