为了缓解主库压力,通过DG做了读写分离,可是监控备库的性能就成了个问题了,即便通过snapshot standby来收集awr也是收集的主库awr信息,于是想到了通过statspack来收集备库信息
首先安装statspack工具包:
1,创建单独的表空间
SQL>create tablespace perfstat datafile '/oracle/app/oradata/ora11g/ORA11G/ora11g/perfstat.dbf' size 1G autoextend off;
2,创建statspack用户(过程中需要为新用户设定密码,指定默认表空间和默认临时表空间等信息)
SQL>@/oracle/app/oracle/product/11.2.0/db_1/rdbms/admin/spcreate.sql
3,创建备库statspack用户并将备库信息添加进来
SQL>@/oracle/app/oracle/product/11.2.0/db_1/rdbms/admin/sbcreate.sql
4,手动收集快照(格式为:exec statspack_(db_(instance_name).snap)
SQL>conn stdbyperf/********
SQL>exec statspack_ora11g_.snap
5,过一段时间再收集一次快照(如有需要可以创建定时job自动执行)
SQL>exec statspack_ora11g_ora11g.snap
6,运行statspack报告
SQL>@/oracle/app/oracle/product/11.2.0/db_1/rdbms/admin/sbreport.sql
----创建定时job自动收集快照步骤
--1,查看job
SQL> select job,schema_user,last_date,what,instance from user_jobs;
--2,创建job
SQL> select * from dba_db_links; (查看database link名称,替换到下面的过程中,如下例:STDBY_LINK_DG2)
SQL> variable jobno number;
SQL> variable instno number;
SQL> begin
select instance_number into :instno from v$instance@STDBY_LINK_DG2;
dbms_job.submit(:jobno, 'statspack_ora11g.snap;', trunc(sysdate+1/24,'HH'), 'trunc(SYSDATE+1/24,''HH'')', TRUE, :instno);
commit;
end;
/
--3,再次查看job是否创建成功
SQL> select job,schema_user,last_date,what,instance from user_jobs;
--4,运行statspack报告
SQL>@/oracle/app/oracle/product/11.2.0/db_1/rdbms/admin/sbreport.sql
首先安装statspack工具包:
1,创建单独的表空间
SQL>create tablespace perfstat datafile '/oracle/app/oradata/ora11g/ORA11G/ora11g/perfstat.dbf' size 1G autoextend off;
2,创建statspack用户(过程中需要为新用户设定密码,指定默认表空间和默认临时表空间等信息)
SQL>@/oracle/app/oracle/product/11.2.0/db_1/rdbms/admin/spcreate.sql
3,创建备库statspack用户并将备库信息添加进来
SQL>@/oracle/app/oracle/product/11.2.0/db_1/rdbms/admin/sbcreate.sql
4,手动收集快照(格式为:exec statspack_(db_(instance_name).snap)
SQL>conn stdbyperf/********
SQL>exec statspack_ora11g_.snap
5,过一段时间再收集一次快照(如有需要可以创建定时job自动执行)
SQL>exec statspack_ora11g_ora11g.snap
6,运行statspack报告
SQL>@/oracle/app/oracle/product/11.2.0/db_1/rdbms/admin/sbreport.sql
----创建定时job自动收集快照步骤
--1,查看job
SQL> select job,schema_user,last_date,what,instance from user_jobs;
--2,创建job
SQL> select * from dba_db_links; (查看database link名称,替换到下面的过程中,如下例:STDBY_LINK_DG2)
SQL> variable jobno number;
SQL> variable instno number;
SQL> begin
select instance_number into :instno from v$instance@STDBY_LINK_DG2;
dbms_job.submit(:jobno, 'statspack_ora11g.snap;', trunc(sysdate+1/24,'HH'), 'trunc(SYSDATE+1/24,''HH'')', TRUE, :instno);
commit;
end;
/
--3,再次查看job是否创建成功
SQL> select job,schema_user,last_date,what,instance from user_jobs;
--4,运行statspack报告
SQL>@/oracle/app/oracle/product/11.2.0/db_1/rdbms/admin/sbreport.sql
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29098758/viewspace-2139415/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29098758/viewspace-2139415/