DB2数据库巡检脚本

DB2数据库巡检脚本的示例:

#!/bin/bash

# 设置DB2登录凭证
DB2_USER="your_username"
DB2_PASSWORD="your_password"

# 设置巡检结果输出文件路径
OUTPUT_FILE="/path/to/output.log"

# 获取DB2版本信息
version_info=$(db2 connect to your_database_name user $DB2_USER using $DB2_PASSWORD > /dev/null; db2level)
echo "DB2 Version:" $version_info > $OUTPUT_FILE

# 获取数据库列表
databases=$(db2 connect to your_database_name user $DB2_USER using $DB2_PASSWORD > /dev/null; db2 list db directory | grep 'Database name' | awk '{print $4}')

# 巡检开始时间
start_time=$(date +"%Y-%m-%d %H:%M:%S")
echo "Start Time:" $start_time >> $OUTPUT_FILE
echo "" >> $OUTPUT_FILE

# 遍历数据库列表进行巡检
for db in $databases
do
    echo "Checking database:" $db
    echo "===================================" >> $OUTPUT_FILE
    echo "Database:" $db >> $OUTPUT_FILE

    # 获取数据库大小
    size_info=$(db2 connect to $db user $DB2_USER using $DB2_PASSWORD > /dev/null; db2 "select sum(tabschema||'.'||tabname), sum(data_object_p_size) from syscat.tables where type='T' group by tabschema")
    echo "Database Size:" >> $OUTPUT_FILE
    echo "$size_info" >> $OUTPUT_FILE

    # 获取数据库表空间使用情况
    tablespace_info=$(db2 connect to $db user $DB2_USER using $DB2_PASSWORD > /dev/null; db2 "select tbspace, (tbspace_cur_size - tbspace_free_size) as used_size, tbspace_cur_size as total_size, (tbspace_total_size - tbspace_cur_size) as free_size from sysibmadm.tbsp_utilization")
    echo "Tablespace Usage:" >> $OUTPUT_FILE
    echo "$tablespace_info" >> $OUTPUT_FILE

    # 获取数据库日志使用情况
    log_info=$(db2 connect to $db user $DB2_USER using $DB2_PASSWORD > /dev/null; db2 "select log_primary_d_used, log_secondary_d_used, log_filsiz/1024/1024 as log_file_size from sysibmadm.log_utilization")
    echo "Log Usage:" >> $OUTPUT_FILE
    echo "$log_info" >> $OUTPUT_FILE

    echo "===================================" >> $OUTPUT_FILE
    echo "" >> $OUTPUT_FILE
done

# 巡检结束时间
end_time=$(date +"%Y-%m-%d %H:%M:%S")
echo "End Time:" $end_time >> $OUTPUT_FILE

echo "Database inspection completed. Please check the output file: $OUTPUT_FILE"

请根据需要修改 DB2_USERDB2_PASSWORDOUTPUT_FILE 变量为你的DB2登录凭证和输出文件路径。运行脚本后,将会生成一个巡检报告文件,其中包含了DB2版本、每个数据库的大小、表空间使用情况和日志使用情况等信息。

这只是一个基本的示例脚本,你可以根据具体需求进行扩展和定制,添加更多的巡检项和检查规则。

你可能感兴趣的:(DB2数据库学习资料,数据库,oracle)