本文档风哥主要介绍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
- 目标(Target):被监控的对象,如数据库、主机、中间件等
- 指标(Metric):用于衡量目标状态的度量值
- 收集(Collection):定期采集指标数据的过程
- 阈值(Threshold):指标告警的触发条件
- 模板(Template):预定义的监控配置集合
- 合规性(Compliance):配置是否符合预定义的标准
1.2 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的优势:
- 标准化:通过模板实现监控标准化
- 自动化:自动发现和监控新目标
- 灵活性:根据需求灵活调整配置
- 可扩展性:支持大规模环境扩展
- 合规性:确保配置符合企业标准
- 效率提升:减少重复配置工作
Part02-生产环境规划与建议
2.1 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配置策略选择:
配置类型 | 适用场景 | 配置方法 | 维护难度
—————-|———————–|———————–|———-
集中式配置 | 小型环境,统一管理 | 通过Console集中配置 | 低
模板化配置 | 中型环境,标准化需求 | 使用监控模板 | 中
自动化配置 | 大型环境,动态扩展 | EMCLI脚本自动化 | 高
分层配置 | 多租户环境 | 按业务/部门分层 | 中
# 详细策略说明
1. 集中式配置
– 适用:小型环境,目标数量少
– 方法:通过EMCC Console手动配置
– 优点:简单直观
– 缺点:难以扩展,维护工作量大
2. 模板化配置
– 适用:中型环境,需要标准化
– 方法:创建监控模板,应用到目标
– 优点:标准化,易于维护
– 缺点:需要前期设计
3. 自动化配置
– 适用:大型环境,频繁变更
– 方法:使用EMCLI脚本自动化配置
– 优点:高效,可重复
– 缺点:需要脚本开发能力
4. 分层配置
– 适用:多租户或多部门环境
– 方法:按层级分配配置权限
– 优点:权限分离,责任清晰
– 缺点:架构复杂
2.3 EMCC配置注意事项
EMCC配置的注意事项:
- 性能影响:过于频繁的指标收集会影响目标性能
- 存储规划:监控数据会占用大量存储空间
- 网络带宽:Agent上传数据会占用网络带宽
- 告警风暴:不合理的阈值会导致告警风暴
- 权限控制:合理配置用户权限,避免越权操作
- 变更管理:配置变更需要记录和审批
Part03-生产环境项目实施方案
3.1 目标配置
3.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 手动添加目标
$ 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 配置指标收集
$ 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 配置自定义指标
$ 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 创建监控模板
$ 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 创建合规模板
$ 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配置常见故障处理:
# 症状:应用监控模板时提示错误
# 诊断步骤
$ 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配置性能优化实践:
# 对非关键指标降低收集频率
$ 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脚本实现配置自动化
- 性能平衡:在监控深度和系统性能之间找到平衡
- 变更管理:建立配置变更流程,记录所有变更
- 定期审查:定期审查配置,删除不再需要的配置
5.2 EMCC配置检查清单
# 目标配置检查
□ 目标发现配置
□ 目标分组配置
□ 目标属性配置
□ 目标凭证配置
□ 目标生命周期管理
# 指标配置检查
□ 指标收集频率
□ 指标阈值设置
□ 自定义指标配置
□ 指标数据保留
□ 指标收集状态
# 模板配置检查
□ 监控模板创建
□ 合规模板创建
□ 模板应用状态
□ 模板版本管理
□ 模板备份
# 告警配置检查
□ 告警规则配置
□ 告警阈值配置
□ 告警抑制规则
□ 告警升级策略
□ 告警通知配置
# 安全配置检查
□ 用户管理
□ 角色配置
□ 权限分配
□ 审计配置
□ 访问控制
# 性能优化检查
□ 收集频率优化
□ 数据保留策略
□ 分区配置
□ 批量操作
□ 自动化脚本
5.3 EMCC配置工具推荐
EMCC配置管理推荐工具:
| 工具名称 | 用途 | 说明 |
|---|---|---|
| EMCLI | 命令行配置 | 批量配置和自动化脚本 |
| EMCC Console | 图形配置 | 直观的图形界面配置 |
| Information Publisher | 报表生成 | 配置报表和合规报告 |
| Configuration Management | 配置管理 | 配置漂移检测和比较 |
| Template Manager | 模板管理 | 监控模板和合规模板 |
| Group Manager | 组管理 | 目标分组和权限管理 |
- 建立配置基线,定期对比实际配置
- 使用版本控制管理配置脚本
- 建立配置变更审批流程
- 定期备份配置,确保可恢复
- 建立配置文档,记录所有配置项
- 定期进行配置审计和优化
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
