Oracle怎样部署Statspack并生成报告,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
Oracle 部署 Statspack
[实验环境]
操作系统 RedHat 5.5
主机名 lxh
数据库版本 Oracle 10.2.0
字符集 GHS16GBK
生产库实例名 prod
[实验过程]
1.部署statspack
1.1、创建一个专门用于statspack的表空间statspack
SYS@ prod>create tablespace statspack datafile '/u01/app/oracle/oradata/prod/statspack01.dbf' size 300m;
1.2、以sysdba身份执行创建prefstat对象的脚本
SYS@ prod>@?/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
------------------------------ --------- ----------------------------
EXAMPLE PERMANENT
STATSPACK PERMANENT
SYSAUX PERMANENT *
TBS1 PERMANENT
TEST3 PERMANENT
USERS PERMANENT
Pressing <return> will result in STATSPACK's recommended default
tablespace (identified by *) being used.
Enter value for default_tablespace:statspack
Using tablespace STATSPACK 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:回车
… …
NOTE:
SPCPKG complete. Please check spcpkg.lis for any errors.
PERFSTAT@ prod>
Statstack安装完成。
1.3、设置statspack自动产生快照的间隔时间为15分钟
[oracle@James ~]$vi /u01/app/oracle/product/10.2.0/db_1/rdbms/admin/spauto.sql
variable jobno number;
variable instno number;
begin
select instance_number into :instno from v$instance;
dbms_job.submit(:jobno, 'statspack.snap;',trunc(sysdate+1/96,'MI'), 'trunc(SYSDATE+1/96,''MI'')', TRUE, :instno);
commit;
end;
/
1.4、设置快照的默认级别为7级
SYS@ prod>exec statspack.modify_statspack_parameter(i_snap_level=>7);
2.产生statspack报告
2.1、启动statspack的自动快照
SCOTT@ prod>conn perfstat/oracle
PERFSTAT@ prod>@?/rdbms/admin/spauto
2.2、验证statspack自动生成的报告
PERFSTAT@prod>alter session set nls_date_format='yyyy-mm-dd hh34:mi:ss';
PERFSTAT@prod>select snap_id,snap_time,snap_level from stats$snapshot order by snap_time;
SNAP_ID SNAP_TIME SNAP_LEVEL
---------- ------------------- ----------
1 2014-08-25 17:52:02 7
2 2014-08-25 19:05:03 7
3 2014-08-25 19:20:04 7
4 2014-08-25 19:35:05 7
5 2014-08-25 19:50:05 7
6 2014-08-25 20:05:01 7
2.3、生成statspack分析报告
SQL>@?/rdbms/admin/spreport
Current Instance
~~~~~~~~~~~~~~~~
DB Id DB Name Inst Num Instance
----------- ------------ -------- ------------
199802235 PROD 1 prod
Instances in this Statspack schema
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DB Id Inst Num DB Name Instance Host
----------- -------- ------------ ------------ ------------
199802235 1 PROD prod lxh
Using 199802235 for database Id
Using 1 for instance number
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 DB Name Snap Id Snap Started Level Comment
------------ ------------ --------- ----------------- ----- --------------------
prod PROD 1 25 Aug 2014 17:52 7
2 25 Aug 2014 19:05 7
3 25 Aug 2014 19:20 7
4 25 Aug 2014 19:35 7
5 25 Aug 2014 19:50 7
6 25 Aug 2014 20:05 7
Specify the Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enter value for begin_snap:2
Enter value for end_snap: 3
Enter value for report_name:
@?/rdbms/admin/spreport
Specify the Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enter value for begin_snap: 3
Enter value for end_snap: 4
Enter value for report_name:
Specify the Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enter value for begin_snap: 4
Enter value for end_snap: 5
Enter value for report_name:
Specify the Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enter value for begin_snap: 5
Enter value for end_snap: 6
Enter value for report_name:
2.4、取消statspack自动生成快照
查看job ID
PERFSTAT@ prod>select job,log_user,last_date,next_date from user_jobs;
JOB LOG_USER LAST_DATE NEXT_DATE
---------- ------------------------------ ------------------- -------------------
22 PERFSTAT 2014-08-25 20:05:01 2014-08-25 20:20:00
PERFSTAT@ prod>exec dbms_job.remove('22');
关于Oracle怎样部署Statspack并生成报告问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。