1. 首页 > Oracle教程 > 正文

Oracle教程FG470-EMCC配置

本文档风哥主要介绍Oracle Enterprise Manager Cloud Control (EMCC) 的配置相关知识,包括EMCC配置的概念、组件、配置策略、目标配置、指标配置、模板配置等内容,由风哥教程参考Oracle官方文档EMCC内容编写,适合DBA人员在学习和测试中使用,如果要应用于生产环境则需要自行确认。

Part01-基础概念与理论知识

1.1 EMCC配置概念

Oracle Enterprise Manager Cloud Control (EMCC) 配置是指对EMCC系统的各项参数、监控目标、告警规则、通知方式等进行设置和调整,以满足企业的监控和管理需求。合理的配置可以确保EMCC系统稳定运行,并提供准确、及时的监控信息。更多视频教程www.fgedu.net.cn

EMCC配置核心概念:

  • 目标(Target):被监控的对象,如数据库、主机、中间件等
  • 指标(Metric):用于衡量目标状态的度量值
  • 收集(Collection):定期采集指标数据的过程
  • 阈值(Threshold):指标告警的触发条件
  • 模板(Template):预定义的监控配置集合
  • 合规性(Compliance):配置是否符合预定义的标准

1.2 EMCC配置组件

EMCC配置的主要组件:

# EMCC配置组件架构

1. 目标配置(Target Configuration)
– 目标发现:自动或手动发现监控目标
– 目标属性:配置目标的基本属性和连接信息
– 目标组:将目标分组便于管理
– 目标生命周期:添加、修改、删除目标

2. 指标配置(Metric Configuration)
– 指标定义:定义要采集的指标
– 收集设置:配置指标收集频率和方式
– 阈值设置:配置告警阈值
– 扩展指标:自定义监控指标

3. 模板配置(Template Configuration)
– 监控模板:预定义的监控设置集合
– 合规模板:预定义的合规性检查规则
– 补丁模板:预定义的补丁策略
– 配置模板:预定义的配置标准

4. 告警配置(Alert Configuration)
– 告警规则:定义告警触发条件
– 告警抑制:配置告警抑制规则
– 告警升级:配置告警升级策略
– 告警清除:配置告警自动清除规则

5. 通知配置(Notification Configuration)
– 通知方式:邮件、短信、SNMP等
– 通知规则:定义通知接收人和条件
– 通知计划:配置通知时间窗口
– 通知测试:测试通知通道

6. 安全配置(Security Configuration)
– 用户管理:创建和管理EMCC用户
– 角色管理:定义用户角色和权限
– 访问控制:配置目标访问权限
– 审计配置:配置审计策略

1.3 EMCC配置优势

合理配置EMCC的优势:

  • 标准化:通过模板实现监控标准化
  • 自动化:自动发现和监控新目标
  • 灵活性:根据需求灵活调整配置
  • 可扩展性:支持大规模环境扩展
  • 合规性:确保配置符合企业标准
  • 效率提升:减少重复配置工作
风哥提示:EMCC配置是一个持续优化的过程,需要根据实际监控需求和系统变化不断调整。

Part02-生产环境规划与建议

2.1 EMCC配置规划

EMCC配置前的规划要点:

# EMCC配置规划流程

# 1. 需求分析
– 监控范围:需要监控的目标类型和数量
– 监控深度:需要监控的指标和频率
– 告警需求:告警级别和通知方式
– 合规要求:行业和企业合规标准
– 报告需求:管理报告和审计报告

# 2. 架构设计
– 目标分组:按业务、环境、地域等维度分组
– 模板设计:设计监控模板和合规模板
– 权限设计:设计用户角色和权限体系
– 网络设计:规划Agent部署和通信

# 3. 配置策略
– 命名规范:目标、模板、用户的命名规范
– 收集策略:指标收集频率和保留策略
– 告警策略:告警阈值和升级策略
– 备份策略:配置备份和恢复策略

# 4. 实施计划
– 阶段划分:分阶段实施配置
– 测试验证:每个阶段进行测试验证
– 培训计划:用户培训计划
– 文档计划:配置文档更新计划

# 配置规模参考
监控目标数量 | 模板数量 | 告警规则数 | 用户数
—————-|———-|————|——–
< 100 | 5-10 | 20-50 | 5-10 100 - 500 | 10-20 | 50-100 | 10-20 500 - 1000 | 20-30 | 100-200 | 20-30 > 1000 | 30-50 | 200-500 | 30-50

2.2 EMCC配置策略

EMCC配置策略选择:

# EMCC配置策略矩阵

配置类型 | 适用场景 | 配置方法 | 维护难度
—————-|———————–|———————–|———-
集中式配置 | 小型环境,统一管理 | 通过Console集中配置 | 低
模板化配置 | 中型环境,标准化需求 | 使用监控模板 | 中
自动化配置 | 大型环境,动态扩展 | EMCLI脚本自动化 | 高
分层配置 | 多租户环境 | 按业务/部门分层 | 中

# 详细策略说明

1. 集中式配置
– 适用:小型环境,目标数量少
– 方法:通过EMCC Console手动配置
– 优点:简单直观
– 缺点:难以扩展,维护工作量大

2. 模板化配置
– 适用:中型环境,需要标准化
– 方法:创建监控模板,应用到目标
– 优点:标准化,易于维护
– 缺点:需要前期设计

3. 自动化配置
– 适用:大型环境,频繁变更
– 方法:使用EMCLI脚本自动化配置
– 优点:高效,可重复
– 缺点:需要脚本开发能力

4. 分层配置
– 适用:多租户或多部门环境
– 方法:按层级分配配置权限
– 优点:权限分离,责任清晰
– 缺点:架构复杂

2.3 EMCC配置注意事项

EMCC配置的注意事项:

  • 性能影响:过于频繁的指标收集会影响目标性能
  • 存储规划:监控数据会占用大量存储空间
  • 网络带宽:Agent上传数据会占用网络带宽
  • 告警风暴:不合理的阈值会导致告警风暴
  • 权限控制:合理配置用户权限,避免越权操作
  • 变更管理:配置变更需要记录和审批
生产环境建议:建议先在测试环境验证配置,再应用到生产环境。学习交流加群风哥微信: itpux-com

Part03-生产环境项目实施方案

3.1 目标配置

3.1.1 自动发现目标

# 1. 配置自动发现
# EMCC Console -> Setup -> Add Target -> Configure Auto Discovery

# 2. 使用EMCLI配置自动发现
$ emcli login -username=sysman
Enter password :
Login successful

# 同步Repository
$ emcli sync

# 创建自动发现规则
$ emcli create_discovery_spec \
-name=”Production_DB_Discovery” \
-target_type=”oracle_database” \
-host_list=”db-server1.fgedu.net.cn,db-server2.fgedu.net.cn” \
-port_range=”1521-1530″ \
-credentials=”DBSNMP:Dbsnmp123″

Discovery specification “Production_DB_Discovery” created successfully

# 执行自动发现
$ emcli submit_discovery \
-spec_name=”Production_DB_Discovery”

Discovery job submitted. Job ID: 12345

# 查看发现结果
$ emcli get_discovered_targets \
-job_id=12345

Target Name Target Type Host Status
————- —————— ———————- ——–
orcl1 oracle_database db-server1.fgedu.net.cn DISCOVERED
orcl2 oracle_database db-server2.fgedu.net.cn DISCOVERED
testdb oracle_database db-server1.fgedu.net.cn DISCOVERED

# 3. 批量添加发现的目标
$ emcli add_discovered_targets \
-job_id=12345 \
-target_list=”orcl1,orcl2″

Targets added successfully

# 4. 配置主机自动发现
$ emcli create_discovery_spec \
-name=”Host_Discovery” \
-target_type=”host” \
-ip_range=”192.168.1.0/24″ \
-snmp_community=”public”

Discovery specification “Host_Discovery” created successfully

3.1.2 手动添加目标

# 1. 添加Oracle数据库目标
$ emcli add_target \
-name=”prod_orcl” \
-type=”oracle_database” \
-host=”db-server.fgedu.net.cn” \
-properties=”SID:orcl;Port:1521;OracleHome:/oracle/app/oracle/product/19c/dbhome_1;MachineName:db-server.fgedu.net.cn” \
-credentials=”UserName:dbsnmp;password:Dbsnmp123;Role:Normal” \
-monitor_mode=”1″

Target “prod_orcl:oracle_database” added successfully

# 2. 添加Oracle监听器目标
$ emcli add_target \
-name=”LISTENER_db-server” \
-type=”oracle_listener” \
-host=”db-server.fgedu.net.cn” \
-properties=”ListenerOraDir:/oracle/app/oracle/product/19c/dbhome_1/network/admin;Port:1521;OracleHome:/oracle/app/oracle/product/19c/dbhome_1;Machine:db-server.fgedu.net.cn” \
-credentials=”UserName:oracle;password:Oracle123″

Target “LISTENER_db-server:oracle_listener” added successfully

# 3. 添加主机目标
$ emcli add_target \
-name=”db-server.fgedu.net.cn” \
-type=”host” \
-host=”db-server.fgedu.net.cn” \
-properties=”OS:Linux;Platform:x86_64″

Target “db-server.fgedu.net.cn:host” added successfully

# 4. 添加Oracle ASM目标
$ emcli add_target \
-name=”+ASM” \
-type=”osm_instance” \
-host=”db-server.fgedu.net.cn” \
-properties=”OracleHome:/oracle/app/19c/grid;MachineName:db-server.fgedu.net.cn” \
-credentials=”UserName:sys;password:Sys123;Role:SYSASM”

Target “+ASM:osm_instance” added successfully

# 5. 批量添加目标(使用输入文件)
$ cat /tmp/targets.csv
name,type,host,properties,credentials
orcl1,oracle_database,server1.fgedu.net.cn,”SID:orcl1;Port:1521″,”dbsnmp/password1″
orcl2,oracle_database,server2.fgedu.net.cn,”SID:orcl2;Port:1521″,”dbsnmp/password2″

$ emcli add_targets -input_file=”/tmp/targets.csv”

Targets added successfully: 2

3.2 指标配置

3.2.1 配置指标收集

# 1. 查看可用指标
$ emcli get_metrics \
-target_type=”oracle_database” \
-target_name=”prod_orcl”

Metric Name Category Unit
—————————– ————– ————
CPU_Usage Performance %
Memory_Usage Performance %
Disk_Usage Storage %
Tablespace_Usage Storage %
Active_Sessions Performance Count
Response_Time Performance ms

# 2. 修改指标收集频率
$ emcli modify_collection_schedule \
-target_type=”oracle_database” \
-target_name=”prod_orcl” \
-collection_name=”CPU_Usage” \
-interval=”5″ \
-interval_unit=”MINUTE”

Collection schedule modified successfully

# 3. 启用/禁用指标收集
$ emcli modify_collection_schedule \
-target_type=”oracle_database” \
-target_name=”prod_orcl” \
-collection_name=”Memory_Usage” \
-enabled=”false”

Collection disabled successfully

# 4. 配置指标阈值
$ emcli modify_metric_threshold \
-target_type=”oracle_database” \
-target_name=”prod_orcl” \
-metric=”CPU_Usage” \
-warning_threshold=”80″ \
-critical_threshold=”95″

Metric threshold modified successfully

# 5. 批量配置指标(使用输入文件)
$ cat /tmp/metric_config.csv
target_type,target_name,metric,warning,critical
oracle_database,prod_orcl,CPU_Usage,80,95
oracle_database,prod_orcl,Memory_Usage,85,95
oracle_database,prod_orcl,Disk_Usage,85,95
oracle_database,prod_orcl,Tablespace_Usage,85,95

$ emcli modify_metric_thresholds -input_file=”/tmp/metric_config.csv”

Metric thresholds modified successfully

# 6. 查看指标数据
$ emcli get_metric_data \
-target_type=”oracle_database” \
-target_name=”prod_orcl” \
-metric=”CPU_Usage” \
-start_time=”2026-03-31 09:00:00″ \
-end_time=”2026-03-31 10:00:00″

Timestamp Value
———————- —–
2026-03-31 09:00:00 15.5
2026-03-31 09:05:00 18.2
2026-03-31 09:10:00 22.1
2026-03-31 09:15:00 25.3

3.2.2 配置自定义指标

# 1. 创建自定义指标(使用SQL)
$ emcli create_metric_extension \
-name=”Custom_DB_Metric” \
-target_type=”oracle_database” \
-display_name=”Custom Database Metric” \
-collection_frequency=”5″ \
-collection_frequency_unit=”MINUTE”

Metric extension “Custom_DB_Metric” created successfully

# 2. 添加指标列
$ emcli add_metric_column \
-extension_name=”Custom_DB_Metric” \
-column_name=”SESSION_COUNT” \
-display_name=”Session Count” \
-data_type=”NUMBER” \
-unit=”Count”

Column added successfully

# 3. 配置SQL收集
$ emcli set_metric_sql \
-extension_name=”Custom_DB_Metric” \
-sql=”SELECT COUNT(*) as SESSION_COUNT FROM v$session WHERE type=’USER'”

SQL configured successfully

# 4. 部署指标扩展
$ emcli deploy_metric_extension \
-name=”Custom_DB_Metric” \
-version=”1.0″ \
-targets=”prod_orcl:oracle_database”

Metric extension deployed successfully

# 5. 验证自定义指标
$ emcli get_metric_data \
-target_type=”oracle_database” \
-target_name=”prod_orcl” \
-metric=”Custom_DB_Metric:SESSION_COUNT”

Timestamp Value
———————- —–
2026-03-31 10:00:00 45
2026-03-31 10:05:00 48
2026-03-31 10:10:00 52

3.3 模板配置

3.3.1 创建监控模板

# 1. 创建监控模板
$ emcli create_monitoring_template \
-name=”Production_DB_Template” \
-target_type=”oracle_database” \
-description=”Monitoring template for production databases” \
-based_on_target=”prod_orcl”

Monitoring template “Production_DB_Template” created successfully

# 2. 修改模板指标设置
$ emcli modify_monitoring_template \
-name=”Production_DB_Template” \
-target_type=”oracle_database” \
-metric=”CPU_Usage” \
-warning_threshold=”75″ \
-critical_threshold=”90″ \
-collection_schedule=”5_MINUTE”

Template modified successfully

# 3. 添加多个指标到模板
$ emcli add_template_metrics \
-name=”Production_DB_Template” \
-target_type=”oracle_database” \
-metrics=”Memory_Usage:80:95:5_MINUTE,Disk_Usage:85:95:15_MINUTE,Tablespace_Usage:85:95:30_MINUTE”

Metrics added successfully

# 4. 应用模板到目标
$ emcli apply_monitoring_template \
-name=”Production_DB_Template” \
-targets=”prod_orcl:oracle_database,prod_orcl2:oracle_database”

Monitoring template applied successfully

# 5. 查看模板应用状态
$ emcli get_template_applications \
-name=”Production_DB_Template” \
-target_type=”oracle_database”

Target Name Target Type Apply Status Last Applied
————- —————— ————– ——————-
prod_orcl oracle_database SUCCESS 2026-03-31 10:00:00
prod_orcl2 oracle_database SUCCESS 2026-03-31 10:05:00

# 6. 导出模板
$ emcli export_monitoring_template \
-name=”Production_DB_Template” \
-target_type=”oracle_database” \
-output_file=”/backup/templates/production_db_template.xml”

Template exported successfully

# 7. 导入模板
$ emcli import_monitoring_template \
-input_file=”/backup/templates/production_db_template.xml” \
-name=”Imported_Production_Template”

Template imported successfully

3.3.2 创建合规模板

# 1. 创建合规规则
$ emcli create_compliance_rule \
-name=”DB_Parameter_Check” \
-target_type=”oracle_database” \
-description=”Check critical database parameters” \
-rule_type=”SQL”

Compliance rule created successfully

# 2. 配置规则检查
$ emcli add_compliance_check \
-rule_name=”DB_Parameter_Check” \
-check_name=”audit_trail_check” \
-sql=”SELECT CASE WHEN value = ‘DB’ THEN ‘COMPLIANT’ ELSE ‘NON_COMPLIANT’ END as status FROM v$parameter WHERE name = ‘audit_trail'” \
-severity=”CRITICAL”

Compliance check added successfully

# 3. 创建合规标准
$ emcli create_compliance_standard \
-name=”Production_DB_Standard” \
-target_type=”oracle_database” \
-description=”Compliance standard for production databases” \
-rules=”DB_Parameter_Check,DB_Patch_Check,DB_Backup_Check”

Compliance standard created successfully

# 4. 评估合规性
$ emcli evaluate_compliance \
-standard_name=”Production_DB_Standard” \
-targets=”prod_orcl:oracle_database”

Compliance evaluation started. Job ID: 67890

# 5. 查看合规结果
$ emcli get_compliance_results \
-job_id=67890

Target Standard Result Score
————- ———————— ——– —–
prod_orcl Production_DB_Standard PASS 95%

# 6. 创建合规报告
$ emcli create_compliance_report \
-name=”Monthly_Compliance_Report” \
-standard=”Production_DB_Standard” \
-schedule=”MONTHLY” \
-email=”dba@fgedu.net.cn”

Compliance report created successfully

Part04-生产案例与实战讲解

4.1 EMCC配置案例

某大型企业EMCC配置标准化实战案例:

# 项目背景
– 监控目标:500+ Oracle数据库,200+ 主机,50+ 中间件
– 环境分类:生产、测试、开发
– 业务分类:核心系统、支撑系统、辅助系统
– 配置目标:实现监控标准化和自动化

# 配置实施步骤

# 1. 设计目标分组架构
# 创建目标组
$ emcli create_group \
-name=”Production_Databases” \
-description=”All production databases” \
-group_type=”generic”

Group created successfully

$ emcli create_group \
-name=”Core_System_Databases” \
-description=”Core business system databases” \
-group_type=”generic” \
-parent_groups=”Production_Databases”

Group created successfully

# 批量添加目标到组
$ emcli add_targets_to_group \
-group_name=”Core_System_Databases” \
-targets=”erp_orcl:oracle_database,crm_orcl:oracle_database,hr_orcl:oracle_database”

Targets added to group successfully

# 2. 创建分层监控模板
# 核心系统模板(高频监控)
$ emcli create_monitoring_template \
-name=”Core_System_DB_Template” \
-target_type=”oracle_database” \
-description=”High-frequency monitoring for core systems”

$ emcli add_template_metrics \
-name=”Core_System_DB_Template” \
-target_type=”oracle_database” \
-metrics=”CPU_Usage:70:90:1_MINUTE,Memory_Usage:80:95:1_MINUTE,Active_Sessions:100:200:1_MINUTE”

# 支撑系统模板(中频监控)
$ emcli create_monitoring_template \
-name=”Support_System_DB_Template” \
-target_type=”oracle_database” \
-description=”Medium-frequency monitoring for support systems”

$ emcli add_template_metrics \
-name=”Support_System_DB_Template” \
-target_type=”oracle_database” \
-metrics=”CPU_Usage:80:95:5_MINUTE,Memory_Usage:85:95:5_MINUTE,Active_Sessions:150:300:5_MINUTE”

# 辅助系统模板(低频监控)
$ emcli create_monitoring_template \
-name=”Auxiliary_System_DB_Template” \
-target_type=”oracle_database” \
-description=”Low-frequency monitoring for auxiliary systems”

$ emcli add_template_metrics \
-name=”Auxiliary_System_DB_Template” \
-target_type=”oracle_database” \
-metrics=”CPU_Usage:85:95:15_MINUTE,Memory_Usage:90:95:15_MINUTE,Active_Sessions:200:400:15_MINUTE”

# 3. 批量应用模板
# 创建应用脚本
$ cat /software/apply_templates.sh
#!/bin/bash
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn

# 应用核心系统模板
echo “Applying Core System Template…”
emcli apply_monitoring_template \
-name=”Core_System_DB_Template” \
-group=”Core_System_Databases”

# 应用支撑系统模板
echo “Applying Support System Template…”
emcli apply_monitoring_template \
-name=”Support_System_DB_Template” \
-group=”Support_System_Databases”

# 应用辅助系统模板
echo “Applying Auxiliary System Template…”
emcli apply_monitoring_template \
-name=”Auxiliary_System_DB_Template” \
-group=”Auxiliary_System_Databases”

echo “Template application completed”

# 执行脚本
$ chmod +x /software/apply_templates.sh
$ /software/apply_templates.sh

# 4. 配置自动发现规则
$ emcli create_discovery_spec \
-name=”Auto_Discovery_Production” \
-target_type=”oracle_database” \
-host_list=”prod-scan.fgedu.net.cn” \
-port_range=”1521″ \
-credentials=”DBSNMP:AutoDbsnmp123″ \
-auto_promote=”true” \
-template=”Production_DB_Template”

Discovery specification created successfully

# 5. 配置合规检查
$ emcli create_compliance_standard \
-name=”Enterprise_DB_Standard” \
-target_type=”oracle_database” \
-description=”Enterprise-wide database compliance standard”

# 添加合规检查项
$ emcli add_compliance_check \
-rule_name=”Enterprise_DB_Standard” \
-check_name=”password_policy” \
-sql=”SELECT CASE WHEN profile = ‘DEFAULT’ AND resource_name = ‘FAILED_LOGIN_ATTEMPTS’ AND limit = ‘3’ THEN ‘COMPLIANT’ ELSE ‘NON_COMPLIANT’ END FROM dba_profiles WHERE profile = ‘DEFAULT’ AND resource_name = ‘FAILED_LOGIN_ATTEMPTS'” \
-severity=”HIGH”

$ emcli add_compliance_check \
-rule_name=”Enterprise_DB_Standard” \
-check_name=”audit_enabled” \
-sql=”SELECT CASE WHEN value = ‘DB’ OR value = ‘DB,EXTENDED’ THEN ‘COMPLIANT’ ELSE ‘NON_COMPLIANT’ END FROM v$parameter WHERE name = ‘audit_trail'” \
-severity=”CRITICAL”

# 6. 创建配置报告
$ emcli create_report_definition \
-name=”DB_Configuration_Report” \
-report_type=”CONFIGURATION” \
-targets=”Production_Databases” \
-schedule=”WEEKLY” \
-email=”dba-team@fgedu.net.cn”

Report definition created successfully

# 配置结果
# – 成功创建3个监控模板
# – 成功分组500+数据库目标
# – 成功应用标准化配置
# – 合规检查覆盖率100%
# – 配置管理效率提升70%

4.2 EMCC配置故障处理

EMCC配置常见故障处理:

# 故障1:模板应用失败
# 症状:应用监控模板时提示错误

# 诊断步骤
$ emcli get_template_applications \
-name=”Production_DB_Template” \
-target_type=”oracle_database”

Target Name Target Type Apply Status Error Message
————- —————— ————– ——————-
prod_orcl oracle_database FAILED Invalid metric name

# 查看详细错误
$ emcli get_template_application_details \
-name=”Production_DB_Template” \
-target_name=”prod_orcl” \
-target_type=”oracle_database”

Error: Metric ‘CPU_Usage’ not found for target type ‘oracle_database’

# 解决方案
# 1. 检查指标名称是否正确
$ emcli get_metrics -target_type=”oracle_database” | grep -i cpu

CPU_Utilization
Host_CPU_Utilization

# 2. 修正模板中的指标名称
$ emcli modify_monitoring_template \
-name=”Production_DB_Template” \
-target_type=”oracle_database” \
-metric=”CPU_Utilization” \
-warning_threshold=”80″ \
-critical_threshold=”95″

# 3. 重新应用模板
$ emcli apply_monitoring_template \
-name=”Production_DB_Template” \
-targets=”prod_orcl:oracle_database”

# 故障2:指标数据未收集
# 症状:指标显示无数据

# 诊断步骤
$ emcli get_metric_data \
-target_type=”oracle_database” \
-target_name=”prod_orcl” \
-metric=”Memory_Usage”

No data found for the specified time range

# 检查收集状态
$ emcli get_collection_status \
-target_type=”oracle_database” \
-target_name=”prod_orcl” \
-metric=”Memory_Usage”

Collection Status: DISABLED

# 解决方案
# 1. 启用指标收集
$ emcli modify_collection_schedule \
-target_type=”oracle_database” \
-target_name=”prod_orcl” \
-collection_name=”Memory_Usage” \
-enabled=”true”

# 2. 检查Agent状态
$ emctl status agent

# 3. 手动触发收集
$ emcli collect_metric \
-target_type=”oracle_database” \
-target_name=”prod_orcl” \
-metric=”Memory_Usage”

# 故障3:目标连接失败
# 症状:目标状态显示为Down

# 诊断步骤
$ emcli get_target_properties \
-target_name=”prod_orcl” \
-target_type=”oracle_database”

Property Name Property Value
—————— ——————
ConnectString //server1:1521/orcl
MonitoringUser dbsnmp

# 测试连接
$ sqlplus dbsnmp/password@//server1:1521/orcl

ERROR:
ORA-01017: invalid username/password; logon denied

# 解决方案
# 1. 更新目标凭证
$ emcli modify_target \
-name=”prod_orcl” \
-type=”oracle_database” \
-credentials=”UserName:dbsnmp;password:NewPassword123;Role:Normal”

# 2. 测试目标连接
$ emcli test_target_connection \
-name=”prod_orcl” \
-type=”oracle_database”

Connection test successful

# 故障4:合规评估失败
# 症状:合规检查返回错误

# 诊断步骤
$ emcli get_compliance_results \
-standard_name=”Production_DB_Standard”

Target Standard Result Error
————- ———————— ——– ——————-
prod_orcl Production_DB_Standard ERROR SQL execution failed

# 查看详细错误
$ emcli get_compliance_error_details \
-standard_name=”Production_DB_Standard” \
-target_name=”prod_orcl”

Error: ORA-00942: table or view does not exist
SQL: SELECT * FROM v$nonexistent_view

# 解决方案
# 1. 修正SQL语句
$ emcli modify_compliance_check \
-rule_name=”Production_DB_Standard” \
-check_name=”invalid_check” \
-sql=”SELECT * FROM v$parameter WHERE name = ‘audit_trail'”

# 2. 重新评估合规性
$ emcli evaluate_compliance \
-standard_name=”Production_DB_Standard” \
-targets=”prod_orcl:oracle_database”

4.3 EMCC配置优化

EMCC配置性能优化实践:

# 优化1:减少指标收集频率
# 对非关键指标降低收集频率

$ emcli modify_collection_schedule \
-target_type=”oracle_database” \
-target_name=”prod_orcl” \
-collection_name=”Tablespace_Free_Space” \
-interval=”30″ \
-interval_unit=”MINUTE”

# 批量优化
$ cat /tmp/optimize_metrics.csv
target_type,target_name,collection_name,new_interval
oracle_database,prod_orcl,Tablespace_Free_Space,30
oracle_database,prod_orcl,Segment_Advisor_Recommendations,60
oracle_database,prod_orcl,Alert_Log_Errors,5

$ emcli modify_collection_schedules -input_file=”/tmp/optimize_metrics.csv”

# 优化2:禁用不必要的指标
# 禁用不使用的指标以减少负载

$ emcli modify_collection_schedule \
-target_type=”oracle_database” \
-target_name=”prod_orcl” \
-collection_name=”Unused_Metric” \
-enabled=”false”

# 优化3:优化模板应用
# 使用组应用代替逐个应用

# 创建目标组
$ emcli create_group \
-name=”Standard_DBs” \
-description=”Standard configuration databases”

# 批量添加目标
$ emcli add_targets_to_group \
-group_name=”Standard_DBs” \
-file=”/tmp/db_targets.txt”

# 应用模板到组(一次操作)
$ emcli apply_monitoring_template \
-name=”Standard_DB_Template” \
-group=”Standard_DBs”

# 优化4:配置数据保留策略
# 调整监控数据保留时间

$ emcli set_repository_property \
-name=”metric_data_retention” \
-value=”90″

Repository property updated successfully

# 配置分区策略
$ emcli configure_partitioning \
-table_name=”mgmt_metrics_raw” \
-retention_days=”90″ \
-partition_type=”RANGE”

Partitioning configured successfully

# 优化5:批量配置管理
# 使用脚本自动化配置

$ cat /software/bulk_config.sh
#!/bin/bash
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn

# 批量修改指标阈值
for db in $(emcli get_targets -target_type=”oracle_database” -format=”name” | grep -v “Target Name”); do
echo “Configuring $db…”
emcli modify_metric_threshold \
-target_type=”oracle_database” \
-target_name=”$db” \
-metric=”CPU_Utilization” \
-warning_threshold=”80″ \
-critical_threshold=”95″
done

# 批量应用模板
emcli apply_monitoring_template \
-name=”Production_DB_Template” \
-group=”Production_Databases”

# 批量启用收集
for metric in “CPU_Utilization” “Memory_Usage” “Disk_Usage”; do
emcli modify_collection_schedule \
-target_type=”oracle_database” \
-group=”Production_Databases” \
-collection_name=”$metric” \
-enabled=”true”
done

echo “Bulk configuration completed”

# 执行批量配置
$ chmod +x /software/bulk_config.sh
$ /software/bulk_config.sh

# 优化6:配置备份和恢复
# 创建配置备份脚本

$ cat /software/backup_emcc_config.sh
#!/bin/bash
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn

BACKUP_DIR=/backup/emcc/config/$(date +%Y%m%d)
mkdir -p $BACKUP_DIR

# 导出监控模板
for template in $(emcli get_monitoring_templates -format=”name” | grep -v “Template Name”); do
emcli export_monitoring_template \
-name=”$template” \
-output_file=”$BACKUP_DIR/${template}.xml”
done

# 导出合规标准
for standard in $(emcli get_compliance_standards -format=”name” | grep -v “Standard Name”); do
emcli export_compliance_standard \
-name=”$standard” \
-output_file=”$BACKUP_DIR/${standard}.xml”
done

# 导出目标列表
emcli get_targets -format=”csv” > $BACKUP_DIR/targets.csv

# 导出组定义
emcli get_groups -format=”csv” > $BACKUP_DIR/groups.csv

echo “Configuration backup completed at $(date)” >> $BACKUP_DIR/backup.log

# 添加到crontab
$ crontab -e
0 1 * * * /software/backup_emcc_config.sh

Part05-风哥经验总结与分享

5.1 EMCC配置总结

EMCC配置的关键经验总结:

  • 标准化优先:使用模板实现配置标准化,减少重复工作
  • 分层管理:按业务重要性和环境类型分层配置
  • 自动化:使用EMCLI脚本实现配置自动化
  • 性能平衡:在监控深度和系统性能之间找到平衡
  • 变更管理:建立配置变更流程,记录所有变更
  • 定期审查:定期审查配置,删除不再需要的配置
风哥提示:EMCC配置是一个持续优化的过程,建议定期评估配置效果,根据实际需求调整配置策略。

5.2 EMCC配置检查清单

# EMCC配置检查清单

# 目标配置检查
□ 目标发现配置
□ 目标分组配置
□ 目标属性配置
□ 目标凭证配置
□ 目标生命周期管理

# 指标配置检查
□ 指标收集频率
□ 指标阈值设置
□ 自定义指标配置
□ 指标数据保留
□ 指标收集状态

# 模板配置检查
□ 监控模板创建
□ 合规模板创建
□ 模板应用状态
□ 模板版本管理
□ 模板备份

# 告警配置检查
□ 告警规则配置
□ 告警阈值配置
□ 告警抑制规则
□ 告警升级策略
□ 告警通知配置

# 安全配置检查
□ 用户管理
□ 角色配置
□ 权限分配
□ 审计配置
□ 访问控制

# 性能优化检查
□ 收集频率优化
□ 数据保留策略
□ 分区配置
□ 批量操作
□ 自动化脚本

5.3 EMCC配置工具推荐

EMCC配置管理推荐工具:

工具名称 用途 说明
EMCLI 命令行配置 批量配置和自动化脚本
EMCC Console 图形配置 直观的图形界面配置
Information Publisher 报表生成 配置报表和合规报告
Configuration Management 配置管理 配置漂移检测和比较
Template Manager 模板管理 监控模板和合规模板
Group Manager 组管理 目标分组和权限管理
最佳实践:

  • 建立配置基线,定期对比实际配置
  • 使用版本控制管理配置脚本
  • 建立配置变更审批流程
  • 定期备份配置,确保可恢复
  • 建立配置文档,记录所有配置项
  • 定期进行配置审计和优化
风哥总结:EMCC配置是确保监控系统有效运行的关键,通过合理的规划和标准化配置,可以大大提高运维效率,降低管理成本。建议DBA团队建立完善的配置管理体系,持续优化配置策略。更多视频教程www.fgedu.net.cn

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息