扩展系统表空间

use*_*308 3 oracle oracle-11g-r2 tablespaces

我需要将新数据文件添加到系统表空间中,因为它的空间不足。由于这是一个生产环境,我是否应该考虑采取任何预防措施?

Phi*_*lᵀᴹ 5

我假设你没有使用ASM.

将当前数据文件设置为AUTOEXTEND

alter database datafile 
   '/full/path/to/system01.dbf' 
autoextend on
next 128m
maxsize 8192m;
Run Code Online (Sandbox Code Playgroud)

或者,添加一个新的数据文件:

alter tablespace SYSTEM
  add datafile '/full/path/to/system02.dbf'
size 512m;
Run Code Online (Sandbox Code Playgroud)

显然,根据需要更改数字和路径。

添加数据文件会影响您的备份。添加后立即进行完整备份 - 这是您唯一真正需要担心的事情。

4Gb对于表空间来说是巨大SYSTEM。我首先调查表空间中是否存储了一些不应该存在的大对象(DBA_EXTENTS是你的朋友)。

另请注意,一旦将数据文件添加到SYSTEM表空间中,便无法删除该数据文件。

  • @user16308 - 数据库的大小应该与“SYSTEM”表空间的大小几乎没有关系。`SYSTEM` 表空间需要几个字节来存储有关表或索引定义的信息。但是,无论表是空的还是有 10 亿行,该空间都是不变的。 (3认同)