Dataguard从库性能的监控

简介: 【前言】Oracle 11G开始支持了active dataguard,这时候从库就可以分担一些主库的读的压力了。这种架构有个问题就是从库的性能压力很难排除出来。有个朋友也是使用从库进行数据的抽取,但是这个从库每隔一段时间就会由于压力过大而导致系统宕机了。

【前言】Oracle 11G开始支持了active dataguard,这时候从库就可以分担一些主库的读的压力了。这种架构有个问题就是从库的性能压力很难排除出来。有个朋友也是使用从库进行数据的抽取,但是这个从库每隔一段时间就会由于压力过大而导致系统宕机了。在排查问题的时候很多时候需要读取awr报告,但是从库的awr报告是属于主库的,给整个排查增加了难度。还好这个时候从库是可以生成statspack报告的。

这个操作需要进行一些简单的配置,以下的操作都是在主库上面进行的,通过sys用户登录,详细操作如下:

  1. 创建statspack 所需要的schemas:PERFSTAT
  • 设置用户的密码
  • 数据表空间
  • Temp表空间

SQL> @?/rdbms/admin/spcreate.sql

Choose the PERFSTAT user's password

-----------------------------------

Not specifying a password will result in the installation FAILING

 

Enter value for perfstat_password: oracle

oracle

 

 

Choose the Default tablespace for the PERFSTAT user

---------------------------------------------------

Below is the list of online tablespaces in this database which can

store user data. Specifying the SYSTEM tablespace for the user's

default tablespace will result in the installation FAILING, as

using SYSTEM for performance data is not supported.

 

Choose the PERFSTAT users's default tablespace. This is the tablespace

in which the STATSPACK tables and indexes will be created.

 

TABLESPACE_NAME      CONTENTS STATSPACK DEFAULT TABLESPACE

------------------------------ --------- ----------------------------

SYSAUX             PERMANENT *

USERS             PERMANENT

 

Pressing <return> will result in STATSPACK's recommended default

tablespace (identified by *) being used.

 

Enter value for default_tablespace:

 

Using tablespace SYSAUX as PERFSTAT default tablespace.

 

 

Choose the Temporary tablespace for the PERFSTAT user

-----------------------------------------------------

Below is the list of online tablespaces in this database which can

store temporary data (e.g. for sort workareas). Specifying the SYSTEM

tablespace for the user's temporary tablespace will result in the

installation FAILING, as using SYSTEM for workareas is not supported.

 

Choose the PERFSTAT user's Temporary tablespace.

 

TABLESPACE_NAME      CONTENTS DB DEFAULT TEMP TABLESPACE

------------------------------ --------- --------------------------

TEMP             TEMPORARY *

 

Pressing <return> will result in the database's default Temporary

tablespace (identified by *) being used.

 

Enter value for temporary_tablespace:

 

  1. 创建schemas:stdbyperf
  • 设置用户的密码
  • 数据表空间
  • Temp表空间

SQL> @?/rdbms/admin/sbcreate

Choose the STDBYPERF user's password

-----------------------------------

Not specifying a password will result in the installation FAILING

 

Enter value for stdbyuser_password: oracle

oracle

 

Choose the Default tablespace for the STDBYPERF user

---------------------------------------------------

Below is the list of online tablespaces in this database which can

store user data. Specifying the SYSTEM tablespace for the user's

default tablespace will result in the installation FAILING, as

using SYSTEM for performance data is not supported.

 

Choose the STDBYPERF users's default tablespace. This is the tablespace

in which the STATSPACK tables and indexes will be created.

 

TABLESPACE_NAME      CONTENTS STATSPACK DEFAULT TABLESPACE

------------------------------ --------- ----------------------------

SYSAUX             PERMANENT *

USERS             PERMANENT

 

Pressing <return> will result in STATSPACK's recommended default

tablespace (identified by *) being used.

 

Enter value for default_tablespace:

 

Using tablespace SYSAUX as STDBYPERF default tablespace.

 

Choose the Temporary tablespace for the STDBYPERF user

-----------------------------------------------------

Below is the list of online tablespaces in this database which can

store temporary data (e.g. for sort workareas). Specifying the SYSTEM

tablespace for the user's temporary tablespace will result in the

installation FAILING, as using SYSTEM for workareas is not supported.

 

Choose the STDBYPERF user's Temporary tablespace.

 

TABLESPACE_NAME      CONTENTS DB DEFAULT TEMP TABLESPACE

------------------------------ --------- --------------------------

TEMP             TEMPORARY *

 

Pressing <return> will result in the database's default Temporary

tablespace (identified by *) being used.

 

  1. 创建stdbyperfdblink

SQL> @?/rdbms/admin/sbaddins

The following standby instances (TNS_NAME alias) have been configured

for data collection

 

DATABASE    INSTANCE DB LINK PACKAGE

----------------- -------------- ---------------------------- -------------------------------

TIANJIN      joe     STDBY_LINK_TIANJIN STATSPACK_TIANJIN_joe

 

=== END OF LIST ===

 

THE INSTANCE YOU ARE GOING TO ADD MUST BE ACCESSIBLE AND OPEN READ ONLY

 

Do you want to continue (y/n) ?

Enter value for key:

You entered:

 

Enter the TNS ALIAS that connects to the standby database instance

-----------------------------------------------------------------

Make sure the alias connects to only one instance (without load balancing).

Enter value for tns_alias: TIANJIN #tnsnames文件配置

You entered: TIANJIN

 

Enter the PERFSTAT user's password of the standby database

---------------------------------------------------------

Performance data will be fetched from the standby database via

database link. We will connect to user PERFSTAT.

Enter value for perfstat_password: oracle # PERFSTAT用户的密码

You entered: oracle

 

  1. stdbyperf 收集系统性能信息

    SQL> connect stdbyperf/your_password

    SQL> exec statspack_<db_unique_name>_<instance_name>.snap

[oracle@db01 admin]$ sqlplus stdbyperf/oracle

 

SQL*Plus: Release 11.2.0.3.0 Production on Thu Mar 2 02:42:09 2017

 

Copyright (c) 1982, 2011, Oracle. All rights reserved.

 

 

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

 

SQL> exec statspack_TIANJIN_joe.snap

 

PL/SQL procedure successfully completed.

 

  1. stdbyperf收集系统性能信息

SQL> @?/rdbms/admin/sbreport

 

Instances in this Statspack schema

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

DB Unique Name         Instance Name

------------------------------ ----------------

TIANJIN          joe

 

Enter the DATABASE UNIQUE NAME of the standby database to report

Enter value for db_unique_name: TIANJIN

You entered: TIANJIN

 

Enter the INSTANCE NAME of the standby database instance to report

Enter value for inst_name: joe

You entered: joe

 

Specify the number of days of snapshots to choose from

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Entering the number of days (n) will result in the most recent

(n) days of snapshots being listed. Pressing <return> without

specifying a number lists all completed snapshots.

 

Listing all Completed Snapshots

                 Snap

Instance Snap Id Snap Started      Level Comment

------------ --------- -------------------- -----------

joe     3 02 Mar 2017 02:42 5

 

  1. 其他删除操作

SQL>@?/rdbms/admin/sbpurge #删除快照

SQL>@?/rdbms/admin/sbdelins   #删除配置

SQL>@?/rdbms/admin/sbdrop   #删除schema

 

  1. 详细报告

DB Unique Name Instance Startup Time Release RAC

------------------------------ ------------ --------------- ----------- ---

TIANJIN joe 18-Apr-17 14:05 11.2.0.3.0 NO

 

Host Name: db02 Num CPUs: 2 Phys Memory (MB): 2,000

~~~~

 

Snapshot Snap Id Snap Time Sessions Curs/Sess Comment

~~~~~~~~ ---------- ------------------ -------- --------- -------------------

Begin Snap: 1 01-Mar-17 05:27:28 32 .8

End Snap: 2 01-Mar-17 05:28:26 32 .7

Elapsed: 0.97 (mins)

 

Cache Sizes Begin End

~~~~~~~~~~~ ---------- ----------

Buffer Cache: 356M Std Block Size: 8K

Shared Pool: 224M Log Buffer: 7,032K

 

Load Profile Total Per Second

~~~~~~~~~~~~ ------------------ -----------------

DB time(s): 1.6 0.0

DB CPU(s): 1.2 0.0

Redo MB applied: 1.4 0.0

Logical reads: 1,972.0 34.0

Physical reads: 12.0 0.2

Physical writes: 1,560.0 26.9

User calls: 492.0 8.5

Parses: 211.0 3.6

Hard parses: 163.0 2.8

W/A MB processed: 11.3 0.2

Logons: 1.0 0.0

Executes: 1,095.0 18.9

Rollbacks: 0.0 0.0

 

Instance Efficiency Indicators

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Buffer Nowait %: 100.00 Redo NoWait %:

Buffer Hit %: 99.85 Optimal W/A Exec %: 100.00

Library Hit %: 78.84 Soft Parse %: 22.75

Execute to Parse %: 80.73 Latch Hit %: 100.00

Parse CPU to Parse Elapsd %: 47.98 % Non-Parse CPU: 45.39

 

Shared Pool Statistics Begin End

------ ------

Memory Usage %: 55.11 64.14

% SQL with executions>1: 71.92 83.57

% Memory for SQL w/exec>1: 75.27 89.08

相关文章
|
3月前
|
SQL 关系型数据库 MySQL
MySQL主从:延时从库恢复全解
MySQL主从:延时从库恢复全解
|
5月前
|
SQL 关系型数据库 MySQL
使用mysql数据库的binlog应对故障
【6月更文挑战第1天】本文介绍`mysql的 binlog`工具用于解析MySQL的二进制日志,转换为可执行的SQL语句,主要用于数据库主从复制和增量恢复。定期备份和binlog推送能实现故障时的数据恢复。
212 9
使用mysql数据库的binlog应对故障
|
SQL 数据采集 算法
Mysql主从同步及主从同步延迟解决方案
Mysql主从同步及主从同步延迟解决方案
693 0
Mysql主从同步及主从同步延迟解决方案
|
运维
简单记录一次ADG备库同步故障
这是一套11g的老库,主库3节点,备库1节点。项目上于昨天晚上做某测试扩容了表空间,在其他位置新建了9个数据文件,在备库无法创建这个非标准位置的datafile,从而导致同步中断。
413 0
|
缓存 关系型数据库 MySQL
MySQL|主从延迟问题排查(二)
主库执行insert  select 批量写入操作,主从复制通过row模式下转换为批量的insert大事务操作,导致只读实例CPU资源以及延迟上涨
2338 0
|
SQL 监控 关系型数据库
MySQL|主从延迟问题排查(一)
大查询长时间执行无法释放DML读锁,后续同步主库的DDL操作获取DML写锁资源被阻塞等待,导致后续同步主库的操作堆积,主从延迟增长严重。从同步延迟的监控来看,延迟从17:11开始,17:51:59进行kill大查询操作,直到17:53建议业务方将大查询kill掉后才结束。
3328 0
MySQL|主从延迟问题排查(一)
|
SQL 安全
记一次备库延迟的案例
 造成主主从复制延迟的原因有很多种,这次我们就讲一个大查询导致主从复制延迟不断增大的案例。
1164 0
|
SQL 监控 关系型数据库