我司zabbix系统,当oracle表空间达到93会告警,于是为了显示工作主动性,查了几个表空间,使用率比较高的,主动给加些数据文件:
比如:
alter
tablespace APPS_TS_MEDIA add datafile '/oradata/prod/db/apps_st/data/a_media139.dbf' size 20G;
加了几个,发现dg库磁盘空间告警了,如下:

才想起来,单关注主库磁盘不行,DG磁盘也要关注,因为DG是同步的。
当务之急,是要把空间收回来,灭了告警。
于是,通过:
select file#,creation_time,name from v$datafile order by creation_time desc;
可以看到自己加的数据文件,第1列是文件编号。

SQL> alter database datafile 1066 resize 200M;
Database
altered
SQL> alter database datafile 1067 resize 200M;
Database
altered
SQL> alter database datafile 1068 resize 200M;
Database
altered
SQL> alter database datafile 1069 resize 200M;
Database
altered
SQL> alter database datafile 1070 resize 200M;
Database
altered
SQL> alter database datafile 1071 resize 200M;
Database
altered
SQL> alter database datafile 1072 resize 200M;
Database
altered
SQL> alter database datafile 1073 resize 200M;
Database
altered
很快,收到告警消除的邮件了,如下:

总结一下,两个注意点:
(1)如果有DG,要关注DG,因为DG是同步的。不管是分配的空间,使用的空间,数据文件占用的空间都是一致的。
(2)加数据文件,视磁盘空间,不要太大,3G,5G,当然还要视业务。像我加了20G,仍然可以用resize把他收缩下来。
这个文件创建是20G,收缩成200M,没有设置自动扩展,到200M,是否会突破,我不确定,到时候再观察下吧。




