监控或统计多套数据库的存储容量与备份
发表于:2025-11-15 作者:千家信息网编辑
千家信息网最后更新 2025年11月15日,为了减少监控或同级多套数据库存储容量或者备份检查的工作量,可以考虑使用一个专门做监控服务器,通过配置一些需要到的配置表,然后以sh脚本或者存储过程形式固化采集多套库的存储容量情况或者备份情况的方式,形
千家信息网最后更新 2025年11月15日监控或统计多套数据库的存储容量与备份为了减少监控或同级多套数据库存储容量或者备份检查的工作量,可以考虑使用一个专门做监控服务器,
通过配置一些需要到的配置表,然后以sh脚本或者存储过程形式固化采集多套库的存储容量情况或者备份情况的
方式,形成简易的采集流程,大大简化了重复而繁琐的数据库管理工作。
配置方法:
1、监控服务器;
2、监控服务器通往各个被监控服务器dblink的配置表,(如下 suxing.conf11g_dblink_tab或者suxing.CONF_BACKUPCHECK_DBLINK_TAB)
----由于两个配置表的功能有所差异,所以分开两个配置表;
3、专门作监控的用户;
4、脚本或者存储过程(如下多个服务器容量统计脚本和多个服务器备份检查结果采集脚本);
5、存放采集数据的表(如下 suxing.space_gather11G_tab或者 suxing.db_backup_check_alltab)。
#####多个服务器容量统计脚本:
declare
v_sql varchar2(4000);
begin
for rec in (select * from suxing.conf11g_dblink_tab) loop
v_sql :='insert into suxing.space_gather11G_tab
select * from (
with
I as (select instance_name from v$instance@'||rec.db_link||'),
A as (select round(sum(bytes)/1024/1024/1024,2) aa from dba_data_files@'||rec.db_link||'),
B as (select round(sum(bytes)/1024/1024/1024,2) bb from dba_free_space@'||rec.db_link||'),
C as (select round(sum(BYTES / 1024 / 1024 / 1024), 2) cc
from v$datafile@'||rec.db_link||' a, v$tablespace@'||rec.db_link||' b
where a.TS# = b.TS#
and a.CREATION_TIME <
to_date(''2017-07-15 10:00:00'', ''YYYY-MM-DD HH24:MI:SS'')),
D as (select round(sum(BYTES / 1024 / 1024 / 1024), 2) dd
from v$datafile@'||rec.db_link||' a, v$tablespace@'||rec.db_link||' b
where a.TS# = b.TS#
and a.CREATION_TIME <
to_date(''2017-04-15 00:00:00'', ''YYYY-MM-DD HH24:MI:SS'')),
E as (select round(sum(BYTES / 1024 / 1024 / 1024), 2) ee
from v\$datafile@'||rec.db_link||' a, v\$tablespace@'||rec.db_link||' b
where a.TS# = b.TS#
and a.CREATION_TIME <
to_date(''2017-06-15 00:00:00'', ''YYYY-MM-DD HH24:MI:SS'')),
G as (select GROUP_NUMBER,NAME,TOTAL_MB/1024 totalGB,FREE_MB/1024 freeGB
from v$asm_diskgroup@'||rec.db_link||' where name like ''DATA%'')
select I.instance_name,A.aa Total_G,A.aa-B.bb Used_G,B.bb Free_G,G.totalGB,G.freeGB,(C.cc - D.dd)/3 AVRG3,C.cc - E.ee,sysdate,to_char(sysdate,''yymmdd'')
from I,A,B,C,D,E,G
)';
--dbms_output.put_line(v_sql);
execute immediate v_sql;
commit;
end loop;
end;
#####多个服务器备份检查结果采集脚本:
declare
v_sql varchar2(4000);
begin
for rec in (select * from suxing.CONF_BACKUPCHECK_DBLINK_TAB) loop
v_sql :='insert into suxing.db_backup_check_alltab
select * from (
with
I as (select instance_name from v$instance@'||rec.db_link||'),
BC as (
select start_time, t.INPUT_TYPE, status
from v$rman_backup_job_details@'||rec.db_link||' t
where t.start_time in (select max(start_time)
from v$rman_backup_job_details@'||rec.db_link||')
and t.INPUT_TYPE = ''ARCHIVELOG''
group by t.start_time, t.INPUT_TYPE, t.STATUS
union all
select start_time, t.INPUT_TYPE, status
from v$rman_backup_job_details@'||rec.db_link||' t
where t.start_time in (select max(start_time)
from v$rman_backup_job_details@'||rec.db_link||' t
where t.INPUT_TYPE = ''DB INCR'')
group by t.start_time, t.INPUT_TYPE, t.STATUS)
select I.instance_name,BC.*,to_char(sysdate,''mmddhh34'') from I,BC)';
--dbms_output.put_line(v_sql);
execute immediate v_sql;
commit;
end loop;
end;
注:这些脚本当中,with子句的作用非常关键。
通过配置一些需要到的配置表,然后以sh脚本或者存储过程形式固化采集多套库的存储容量情况或者备份情况的
方式,形成简易的采集流程,大大简化了重复而繁琐的数据库管理工作。
配置方法:
1、监控服务器;
2、监控服务器通往各个被监控服务器dblink的配置表,(如下 suxing.conf11g_dblink_tab或者suxing.CONF_BACKUPCHECK_DBLINK_TAB)
----由于两个配置表的功能有所差异,所以分开两个配置表;
3、专门作监控的用户;
4、脚本或者存储过程(如下多个服务器容量统计脚本和多个服务器备份检查结果采集脚本);
5、存放采集数据的表(如下 suxing.space_gather11G_tab或者 suxing.db_backup_check_alltab)。
#####多个服务器容量统计脚本:
declare
v_sql varchar2(4000);
begin
for rec in (select * from suxing.conf11g_dblink_tab) loop
v_sql :='insert into suxing.space_gather11G_tab
select * from (
with
I as (select instance_name from v$instance@'||rec.db_link||'),
A as (select round(sum(bytes)/1024/1024/1024,2) aa from dba_data_files@'||rec.db_link||'),
B as (select round(sum(bytes)/1024/1024/1024,2) bb from dba_free_space@'||rec.db_link||'),
C as (select round(sum(BYTES / 1024 / 1024 / 1024), 2) cc
from v$datafile@'||rec.db_link||' a, v$tablespace@'||rec.db_link||' b
where a.TS# = b.TS#
and a.CREATION_TIME <
to_date(''2017-07-15 10:00:00'', ''YYYY-MM-DD HH24:MI:SS'')),
D as (select round(sum(BYTES / 1024 / 1024 / 1024), 2) dd
from v$datafile@'||rec.db_link||' a, v$tablespace@'||rec.db_link||' b
where a.TS# = b.TS#
and a.CREATION_TIME <
to_date(''2017-04-15 00:00:00'', ''YYYY-MM-DD HH24:MI:SS'')),
E as (select round(sum(BYTES / 1024 / 1024 / 1024), 2) ee
from v\$datafile@'||rec.db_link||' a, v\$tablespace@'||rec.db_link||' b
where a.TS# = b.TS#
and a.CREATION_TIME <
to_date(''2017-06-15 00:00:00'', ''YYYY-MM-DD HH24:MI:SS'')),
G as (select GROUP_NUMBER,NAME,TOTAL_MB/1024 totalGB,FREE_MB/1024 freeGB
from v$asm_diskgroup@'||rec.db_link||' where name like ''DATA%'')
select I.instance_name,A.aa Total_G,A.aa-B.bb Used_G,B.bb Free_G,G.totalGB,G.freeGB,(C.cc - D.dd)/3 AVRG3,C.cc - E.ee,sysdate,to_char(sysdate,''yymmdd'')
from I,A,B,C,D,E,G
)';
--dbms_output.put_line(v_sql);
execute immediate v_sql;
commit;
end loop;
end;
#####多个服务器备份检查结果采集脚本:
declare
v_sql varchar2(4000);
begin
for rec in (select * from suxing.CONF_BACKUPCHECK_DBLINK_TAB) loop
v_sql :='insert into suxing.db_backup_check_alltab
select * from (
with
I as (select instance_name from v$instance@'||rec.db_link||'),
BC as (
select start_time, t.INPUT_TYPE, status
from v$rman_backup_job_details@'||rec.db_link||' t
where t.start_time in (select max(start_time)
from v$rman_backup_job_details@'||rec.db_link||')
and t.INPUT_TYPE = ''ARCHIVELOG''
group by t.start_time, t.INPUT_TYPE, t.STATUS
union all
select start_time, t.INPUT_TYPE, status
from v$rman_backup_job_details@'||rec.db_link||' t
where t.start_time in (select max(start_time)
from v$rman_backup_job_details@'||rec.db_link||' t
where t.INPUT_TYPE = ''DB INCR'')
group by t.start_time, t.INPUT_TYPE, t.STATUS)
select I.instance_name,BC.*,to_char(sysdate,''mmddhh34'') from I,BC)';
--dbms_output.put_line(v_sql);
execute immediate v_sql;
commit;
end loop;
end;
注:这些脚本当中,with子句的作用非常关键。
服务器
服务
脚本
监控
配置
备份
容量
存储
多个
数据
检查
多套
数据库
统计
两个
情况
结果
过程
工作
繁琐
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全工作存在问题
网络安全的防范措施个人
安全小常识数据库
cse数据库下载
相机影像数据库文件已满怎么办
西安软件开发群
数据仓库需要学数据库吗
原神日本是什么服务器
xbox 切服务器
网络安全核心股票
网络安全命令重置
速达数据库安装不成功
软件开发文档写什么
宝德服务器jbod模式
数据库约束类型
山东服务器维修技术
服务器安全狗不能下载
国家网络安全周2021主题
cf神秘商人服务器限量什么意思
网络安全在我身边漫画
应用系统网络安全配置
网络安全大赛中国视频
用 spss随机删除数据库
配置iis服务器
网约服务器繁忙
国产服务器行业分布
网络安全采访提纲的范文
怎么去分析电商数据库
济南软件开发人员招聘信息
网吧服务器如何设置网络