zoukankan      html  css  js  c++  java
  • Informix IDS 11琐细经管(918测验)认证指南,第2部门琐细流动监督(2)

    自动监督和更正操作

    可以运用经管 API、调度措施和 sysadmin 数据库中存储的信息来经管自动维护、监督和经管任务。Dynamic Server 的这些组件可以简化庞大琐细中的信息收集和效力器维护。

    经管 API

    SQL 经管 API 让经管员可以运用各种 SQL 饬令尝试近程经管,歧经管空间、经管设置、运转一样平常功课和琐细检讨。

    可以运用 EXECUTE FUNCTION 语句挪用内置的 admin( )task( ) 函数来尝试经管任务,这相称于尝试 Dynamic Server 的各个经管适用措施。

    EXECUTE FUNCTION 语句中,参数列表中的值指定适用措施及其饬令行参数。比喻,下面的 SQL 语句(它相称于 oncheck -ce 饬令)要求数据库效力器反省区段(extent):

    EXECUTE FUNCTION admin('check extents');
    












    sysadmin 数据库

    sysadmin 数据库中的一些表存储任务属性。运用任务属性(而不是设置参数)来界说调度措施收集的信息以及调度措施运转的语句。

    sysadmin 数据库还包孕:

    • 内置的 task() 函数
    • 内置的 admin() 函数
    • command_history 表

    表 1. sysadmin 数据库表
    表 描绘
    PH_TASK 包孕每个任务尝试时间和尝试体式格局的相干信息。
    PH_ALERT 包孕必需监督的错误、警告或信息性新闻的列表。
    PH_GROUP 包孕组名的列表。每个任务都是一个组的成员。
    PH_RUN 列出任务,并包孕数据库效力器若何和什么时刻尝试每个任务的相干信息。
    PH_THRESHOLD 包孕界说的阈值的列表。假如餍足一个阈值,任务可以决定采用另一个操作,歧在 PH_ALERT 表中拔出一个警告。

    ph_task 表中的每行都是一个独自的任务(界说为独自的监督事情),每列都是一个任务属性。任务属性指定的内容包孕什么时刻尝试 SQL 语句、存储历程或 UDR,以及如那边理这个任务等等。比喻,在每个星期一的半夜自动运转某个功课。









    调度措施

    调度措施让数据库效力器可以在预界说的时间尝试数据库函数和历程,也可以由效力器本人决定尝试的时间。经过运用一个基于 SQL 的经管琐细和一组任务,这些函数和历程可以收集信息并监督和调整效力器。

    调度措施经管和尝试那些安放好的维护、监督和经管任务。可以运用这个工具监督效力器的流动(比喻,空间经管,年夜概以指定的时间间隔自动地备份上一次日志备份之后的统统新日志数据),还可以创立自动运转的更正操作。

    调度措施经管:

    • 任务,可以在特定的时间年夜概遵照特定的时间间隔运转特定的任务。
    • 传感器,可以收集并保管信息。
    • 启动任务,只在数据库效力器启动时运转一次。
    • 启动传感器,只在数据库启动时运转一次。

    一组任务属性节制着调度措施,这些属性界说需要收集什么信息或尝试什么操作。任务属性存储 sysadmin 数据库的 ph_task 表中。

    这个表中的每行都是一个独自的任务,每列都是一个任务属性。任务属性指定的内容包孕什么时刻运转 SQL 语句、存储历程或函数,以及如那边理这个任务等等。

    比喻,可以界说一个任务,在每天的 9:00:00 到 19:00:00 之间每小时反省闲暇的日志空间。

    只运用任务属性(而不是设置参数)来界说调度措施要收集什么信息或尝试什么操作。调度措施在预界说的时间尝试任务,也可以凭据数据库效力器的需要决定尝试的时间。

    表 2. 内置的任务
    任务 描绘
    mon_command_history 清空饬令历史表。
    mon_config 保管 ONCONFIG 文件中的任何修正。
    mon_config_startup 在每次效力器启动时保管 ONCONFIG 文件。
    mon_vps 收集编造处置责罚器信息。
    mon_checkpoint 保管关于反省点的信息。
    mon_table_profile 保管表的配信任息,包孕表上迸发的更新、拔出和删除操作的总数。
    mon_table_names 保管表名以及表的创立时间。
    mon_users 保管每个用户的配信任息。
    check_backup 反省备份操作能否曾经运转。

    可以修正这些任务并设置更多的任务。

    设置任务

    要想设置任务,起首需要中断筹划。需要把握以下信息:

    • 对所监督的任务的描绘
    • 用来存储数据的表
    • 用来捕获数据的 SQL 饬令、存储历程或函数
    • 运转任务的时间和时间间隔

    如下面的示例所示,可以运用 SQL 在 ph_task 表中拔出一行。还可以包孕显示在表列中的值。

    清单 1 中的示例创立一个称为 mon_chunkio 的表,并运用一个存储历程收集和存储数据。这个任务指示数据库效力器每 5 分钟尝试一次存储历程 chunkio 来收集数据。运用默许的调度策略(比喻,在每个事情日的 8:00 A.M. 到 5:00 P.M.),但是 7 天之后数据逾期并被删除。

    清单 1. 创立一个表并运用存储历程收集和存储数据

                        
    INSERT INTO ph_task
    (
    tk_description,
    tk_result_table,
    tk_create,
    tk_execute,
    tk_frequency,
    tk_delete
    )
    VALUES
    (
    "Chunk I/O counts and space usage",
    "mon_chunkio",
    "create table mon_chunkio (ID integer, chunknum smallint, 
       free integer, size integer, reads integer, pagereads integer, 
       writes integer, pageswritten integer)",
    "chunkio",
    "0 0:05:00",
    "7 0:00:00"
    );
    


    设置传感器

    传感器是专门用来收集和保管数据的任务。创立传感器的办法便是在 ph_task 表中拔出一行,但是要提供一些出格信息。

    要想设置新的传感器,起首需要中断筹划。需要把握以下信息:

    • 对传感器的描绘
    • 用来保管收集的数据的后果表
    • 用来收集数据的 SQL 饬令、存储历程或函数
    • 运转传感器的时间和时间间隔

    清单 2 中的示例显示了一个传感器的代码,它收集关于正在运用的内存量的信息,并将这些信息存储在 mon_memory_system 表中。假如这个表不存在,就创立它。这个任务每 30 分钟运转一次,并删除 mon_memory_system 表中逾越 30 天的数据。

    清单 2. 收集关于正在运用的内存量的信息,并将这些数据存储在 mon_memory_system 表中

                        
    INSERT INTO ph_task
    (tk_name, tk_type, tk_group, tk_description, tk_result_table, tk_create,
    tk_execute, tk_stop_time, tk_start_time, tk_frequency, tk_delete )
    VALUES
    ("mon_memory_system",
    "SENSOR",
    "MEMORY",
    "Server memory consumption",
    "mon_memory_system",
    "create table mon_memory_system (ID integer, >

    修正任务

    修正任务的办法是修正 sysadmin 数据库中以 ph_ 开首的表中的行。

    进入 sysadmin 数据库中的 ph_task 表或需要修正的其他表。手工修正任务信息。









    饬令历史表

    sysadmin 数据库中的 command_history 表包孕在这个数据库效力器上尝试过的 SQL 经管 API 饬令的历史信息。



    版权声明: 原创作品,允许转载,转载时请务必以超链接体式格局标明文章 原始原由 、作者信息和本声明。否则将清查法律责任。

  • 相关阅读:
    Hoeffding Inequality 证明过程
    机器学习-1
    Java多线程安全问题的解决方式
    List<? extends T>和List<? super T>之间的区别
    关于禁用cookie后无法使用session的解决方案
    class.forName和classloader的区别
    在Js中使程序睡眠的sleep方法
    Java到底是值传递还是引用传递?
    Thymeleaf 绝对路径
    jdk1.8 Unsafe类 park和unpark方法解析
  • 原文地址:https://www.cnblogs.com/zgqjymx/p/1973049.html
Copyright © 2011-2022 走看看