• oracle11g ADG staspack安装文档


    本文档主要是用来解决物理备库的性能监控问题。我们都知道,当物理备库出现问题的时候,由于备库是只读模式的,所以无法在备库上使用AWR/Statspack/ash/addm等性能报告来分析。因此,在故障分析和调优应用的时候,只能手动收集相关的统计数据信息,这样给我们的工作带来了巨大的不变。随着Oracle 11.1 ADG的出现,被遗忘很久的Statspack有了新的用途,那就是可以用来监控备库性能。

    参考资料
    MOS文档: Installing and Using Standby Statspack in 11g (文档 ID 454848.1)

    安装要求
    备库状态为read-only模式
    备库状态为正在应用日志的状态


    Statspack的安装
    主库端安装statspack
    执行安装脚本如下:
    sqlplus / as sysdba
    SQL> @?/rdbms/admin/spcreate.sql
    注:如果你的主库已创建perstat用户,此脚本可以跳过。如果你的主库上没有该模式对象,则需要创建。创建的过程中,会要求填写如下信息:

    perfstat用户的密码(自定义)
    模式对象默认使用的表空间(建议使用SYSAUX)
    模式对象默认使用的临时表空间( 建议使用系统,例:TEMP)
    主端安装standby statspack
    执行安装脚本如下:
    sqlplus / as sysdba
    SQL> @?/rdbms/admin/sbcreate
    注:此脚本在执行过程中会创建standby statspack的模式对象,即stdbyperf,安装过程中会有如下提示信息:

    提示输入stdbyperf用户的密码(自定义)
    模式对象默认使用的表空间(建议使用SYSAUX)
    模式对象默认使用的临时表空间(建议使用系统,例:TEMP)
    创建完成之后,会自动调用sbaddins.sql脚本,这个脚本的目的是用来配置Statpack添加第一个备库实例的信息。会提示输入,如下信息:

    连接到物理备库的TNS 的本地服务名
    需要提供perfstat用户的密码
    在Statspack配置信息中手动添加新的实例
    使用如下用户登录,执行脚本如下:
    SQL> connect stdbyperf/your_password
    SQL> @?/rdbms/admin/sbaddins
    会提示输入如下信息:
    1.连接到物理备库的TNS 的本地服务名
    2.需要提供perfstat用户的密码

    手动收集备库的性能数据* *
    执行脚本如下
    SQL> connect stdbyperf/your_password
    SQL> exec statspack_<db_unique_name>_<instance_name>.snap

    生成备库统计信息报告
    执行脚本如下
    SQL> connect stdbyperf/your_password
    SQL>@?/rdbms/admin/sbreport

    删除快照信息
    执行脚本如下:
    SQL>connect stdbyperf/your_password
    SQL>@?/rdbms/admin/sbpurge

    删除备库的Statspack的配置
    执行脚本如下:
    SQL>connect stdbyperf/your_password
    SQL> @?/rdbms/admin/sbdelins

    删除备库的Statspack
    SQL> connect / as sysdba
    SQL> @?/rdbms/admin/sbdrop

    配置自动收集快照任务
    1.查看job
    SQL> connect stdbyperf/your_password
    SQL>select job,schema_user,last_date,what,instance from user_jobs;
    2.查询DB_LINK和PACKAGE_NAME
    SQL> col DB_UNIQUE_NAME for a5
    SQL> col PACKAGE_NAME for a25
    SQL> select * from STATS$STANDBY_CONFIG;
    DB_UN INST_NAME DB_LINKPACKAGE_NAME
    --- ------------ ---------------- -----------------------
    ST wxxrdb STDBY_LINK_st STATSPACK_ST_wxxrdb
    3.创建JOB任务
    variable jobno number;
    variable instno number;
    begin
    select instance_number into :instno from v$instance@ STDBY_LINK_st;
    dbms_job.submit(:jobno, 'STATSPACK_ST_wxxrdb.snap;', trunc(sysdate+1/24,'HH'), 'trunc(SYSDATE+1/24,''HH'')', TRUE, :instno);
    commit;
    end;
    /
    注:红字部分需要根据上一步查询出来的DB_LINK和PACKAGE_NAME的值,时间默认为1个小时,可以自行修改
    4.删除JOB任务
    SQL>exec dbms_job.remove('job_id');

    自动删除快照
    执行脚本如下:
    stdby_del_snap.sh
    注:将此脚本添加到定时任务中即可,建议在系统空闲的时间段执行

    脚本存放目录如下及删除规则:

    /oracle/script/stdby_del_snap/bin

    删除规则:快照保存时间为7天,每天凌晨1点执行一次脚本:

    00 1 * * * /oracle/script/stdby_del_snap/bin/stdby_del_snap.sh >>/oracle/script/stdby_del_snap/log/stdby_del_snap.log 2>&1

  • 相关阅读:
    一些遇到的错误的总结:
    ThinkPHP add save delete的返回说明
    一些实用函数 :去除html标签//去除空白//截取汉字
    group_concat
    linux环境下使用mkdir()函数无法创建目录的问题
    报错:Namespace declaration statement has to be the very first statement in the script的解决方法
    ThinkPHP中,字段更新加1的几种写法
    小狼毫输入法安装与简单配置(windows系统)
    对win10和win11的吐嘈
    看死亡诗社时有的一点新想法
  • 原文地址:https://www.cnblogs.com/emerson-ask/p/12503933.html
Copyright © 2020-2023  润新知