禁用sga自动管理机制,分配比较小的数据缓冲区(30m)和共享池(70m)空间

1.1关闭SGA自动管理机制

查看是否开启了ASSM

idle>show
parameter sga;

NAME                                 TYPE        VALUE

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

lock_sga                             boolean     FALSE

pre_page_sga                         boolean     FALSE

sga_max_size                         big integer 804M

sga_target                           big integer 500M

关闭sga自动管理机制:(部分参数重启数据库生效)

sys@TESTDB12>alter
system set memory_target=0;

idle>alter
system set sga_target=0;

idle>show
parameter memory;

NAME                                 TYPE        VALUE

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

hi_shared_memory_address             integer     0

memory_max_target                    big integer 804M

memory_target                        big integer 0

shared_memory_address                integer     0

idle>show
parameter sga;

NAME                                 TYPE        VALUE

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

lock_sga                             boolean     FALSE

pre_page_sga                         boolean     FALSE

sga_max_size                         big integer 804M

sga_target                           big integer 0

1.2设置数据缓冲区的大小为30m

idle>alter
system set db_cache_size=30m;

System
altered.

1.3 设置共享池的大小为70m

idle>alter
system set shared_pool_size=70m scope=spfile;

System
altered.

1.4 验证设置好的数据缓冲区和共享池的大小

idle>show
parameter db_cache_size;

NAME                                 TYPE        VALUE

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

db_cache_size                        big integer 32M

idle>show
parameter shared_pool_size;

NAME                                 TYPE        VALUE

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

shared_pool_size                     big integer 72M

sys@TESTDB12>select
component,current_size/1024/1024 from v$sga_dynamic_components;

COMPONENT                                                       
CURRENT_SIZE/1024/1024

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

shared
pool                                                                         
80

large
pool                                                                           
4

java
pool                                                                            
4

streams
pool                                                                         
4

DEFAULT
buffer cache                                                                
24

KEEP
buffer cache                                                                    
0

RECYCLE
buffer cache                                                                 
0

DEFAULT
2K buffer cache                                                              
0

DEFAULT
4K buffer cache                                                              
0

DEFAULT
8K buffer cache                                                              
0

DEFAULT
16K buffer cache                                                             
0

DEFAULT
32K buffer cache                                                             
0

Shared
IO Pool                                                                       
0

ASM
Buffer Cache                                                                     
0

14
rows selected.

2.部署statspack

2.1创建一个专门用于statspack的表空间tools

idle>create
tablespace tools


datafile '/u01/app/oracle/oradata/TestDB12/tools01.dbf'

3  size
300m;

Tablespace
created.

2.2以sysdba身份执行创建prefstat对象的脚本

SQL> @?/rdbms/admin/spcreate.sql                                   
/sppurge.sql是删除快照

Choose the PERFSTAT user's password

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

Not specifying a password will result in the
installation FAILING

Enter value for
perfstat_password: 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

SYSAUX                         PERMANENT *

TOOLS                          PERMANENT

USERS                          PERMANENT

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

tablespace (identified by *) being used.

Enter value for
default_tablespace: tools

Using tablespace TOOLS 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.

Statstack安装完成。

2.3设置statspack自动产生快照的间隔时间为15分钟(一天有24小时96个15分钟)

{oracle@Redhat55.cuug.net:/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/admin}$
vi /u01/app/oracle/product/11.2.0/dbhome_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/,',''MI'')',
TRUE, :instno);

commit;

end;

2.4设置快照的默认级别为7级

perfstat@TESTDB12>exec
statspack.modify_statspack_parameter(i_snap_level=>7);

PL/SQL procedure successfully completed.

创建序列

sys@TESTDB12>alter
user scott identified by tiger;

User
altered.

sys@TESTDB12>conn
scott/tiger;

Connected.

scott@TESTDB12>CREATE
SEQUENCE emp2_empno


INCREMENT BY 1


START WITH 1


MAXVALUE 100000000


CACHE 10000


NOCYCLE;

Sequence
created.

3搭建查询环境

3.1创建新表并插入数据

scott@TESTDB12>create
table emp2 as select * from emp where 1=2;

Table
created.

scott@TESTDB12>alter
table emp2 modify empno number(10);

Table
altered.

scott@TESTDB12>alter
table emp2 modify ename varchar(30);

Table
altered.

将emp2 表设为nologging

scott@TESTDB12>alter
table emp2 nologging;

Table
altered.

插入2千万行数据:

scott@TESTDB12>begin

2  for
i in 1..20000000 loop


insert into emp2


values
(emp2_empno.nextval,'cuug'||i,'SALESMAN',7698,sysdate,1600,300,30);

5  if
mod(i,1000)=0 then


commit;

7  end
if;

8  end
loop;


commit;

10  end;

11  /

3.2编写查询业务脚本

{oracle@Redhat55.cuug.net:/home/oracle}$
mkdir -p script/bin/

{oracle@Redhat55.cuug.net:/home/oracle/script/bin}$  vi script/bin/share_pool_sql_1.sh

#!/bin/bash

CNT=1

while
[ $CNT -lt 20000000 ]

do

sqlplus
scott/tiger <<EOF

select
* from emp2 where empno=$CNT;

exit

EOF

CNT=`expr
$CNT + 1`

done

4.运行查询业务脚本并产生statspack报告

4.1运行查询业务脚本并启动statspack的自动快照

{oracle@Redhat55.cuug.net:/home/oracle/script/bin}$
sh share_pool_sql_1.sh

sys@TESTDB12>conn
perfstat/oracle

Connected.

perfstat@TESTDB12>@?/rdbms/admin/spauto

----------------------------------------------华丽的分割线----------------------------------------------------------------------------------

perfstat@TESTDB12>Rem

perfstat@TESTDB12>Rem
$Header: spauto.sql 16-feb-00.16:49:37 cdialeri Exp $

perfstat@TESTDB12>Rem

perfstat@TESTDB12>Rem
spauto.sql

perfstat@TESTDB12>Rem

perfstat@TESTDB12>Rem  Copyright (c) Oracle Corporation 1999, 2000.
All Rights Reserved.

perfstat@TESTDB12>Rem

perfstat@TESTDB12>Rem    NAME

perfstat@TESTDB12>Rem      spauto.sql

perfstat@TESTDB12>Rem

perfstat@TESTDB12>Rem    DESCRIPTION

perfstat@TESTDB12>Rem      SQL*PLUS command file to automate the
collection of STATPACK

perfstat@TESTDB12>Rem      statistics.

perfstat@TESTDB12>Rem

perfstat@TESTDB12>Rem    NOTES

perfstat@TESTDB12>Rem      Should be run as the STATSPACK owner,
PERFSTAT.

perfstat@TESTDB12>Rem      Requires job_queue_processes init.ora
parameter to be

perfstat@TESTDB12>Rem      set to a number >0 before automatic
statistics gathering

perfstat@TESTDB12>Rem      will run.

perfstat@TESTDB12>Rem

perfstat@TESTDB12>Rem    MODIFIED  
(MM/DD/YY)

perfstat@TESTDB12>Rem    cdialeri   
02/16/00 - 1191805

perfstat@TESTDB12>Rem    cdialeri   
12/06/99 - 1059172, 1103031

perfstat@TESTDB12>Rem    cdialeri   
08/13/99 - Created

perfstat@TESTDB12>Rem

perfstat@TESTDB12>

perfstat@TESTDB12>

perfstat@TESTDB12>spool
spauto.lis

perfstat@TESTDB12>

perfstat@TESTDB12>--

perfstat@TESTDB12>--  Schedule a snapshot to be run on this
instance every hour, on the hour

perfstat@TESTDB12>

perfstat@TESTDB12>variable
jobno number;

perfstat@TESTDB12>variable
instno number;

perfstat@TESTDB12>begin

2   
select instance_number into :instno from v$instance;

3   
dbms_job.submit(:jobno, 'statspack.snap;', trunc(sysdate+1/96,'MI'),
'trunc(SYSDATE+1/96,''MI'')', TRUE, :instno);

4   
commit;

5  end;

6  /

PL/SQL
procedure successfully completed.

perfstat@TESTDB12>

perfstat@TESTDB12>

perfstat@TESTDB12>prompt

perfstat@TESTDB12>prompt        Job number for automated statistics
collection for this instance

Job
number for automated statistics collection for this instance

perfstat@TESTDB12>prompt       
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

perfstat@TESTDB12>prompt        Note that this job number is needed
when modifying or removing

Note
that this job number is needed when modifying or removing

perfstat@TESTDB12>prompt        the job:

the
job:

perfstat@TESTDB12>print
jobno

JOBNO

----------

23

perfstat@TESTDB12>

perfstat@TESTDB12>prompt

perfstat@TESTDB12>prompt        Job queue process

Job
queue process

perfstat@TESTDB12>prompt        ~~~~~~~~~~~~~~~~~

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

perfstat@TESTDB12>prompt        Below is the current setting of the
job_queue_processes init.ora

Below
is the current setting of the job_queue_processes init.ora

perfstat@TESTDB12>prompt        parameter - the value for this
parameter must be greater

parameter
- the value for this parameter must be greater

perfstat@TESTDB12>prompt        than 0 to use automatic statistics
gathering:

than
0 to use automatic statistics gathering:

perfstat@TESTDB12>show
parameter job_queue_processes

NAME                                 TYPE        VALUE

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

job_queue_processes                  integer     1000

perfstat@TESTDB12>prompt

perfstat@TESTDB12>

perfstat@TESTDB12>prompt

perfstat@TESTDB12>prompt        Next scheduled run

Next
scheduled run

perfstat@TESTDB12>prompt        ~~~~~~~~~~~~~~~~~~

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

perfstat@TESTDB12>prompt        The next scheduled run for this job is:

The
next scheduled run for this job is:

perfstat@TESTDB12>select
job, next_date, next_sec

2   
from user_jobs

3  
where job = :jobno;

JOB NEXT_DATE NEXT_SEC

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

23 28-JUL-14 04:31:00

1
row selected.

----------------------------------------------华丽的分割线----------------------------------------------------------------------------------

4.2验证statspack自动生成的报告

perfstat@TESTDB12>alter
session set nls_date_format='yyyy-mm-dd hh24:mi:ss';

perfstat@TESTDB12>select
snap_id,snap_time,snap_level from stats$snapshot order by snap_time;

SNAP_ID SNAP_TIME           SNAP_LEVEL

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

1 2014-07-28 23:07:05          7

11 2014-07-28 04:46:00          7

12 2014-07-28 05:01:04          7

13 2014-07-28 05:16:02          7

14 2014-07-28 05:31:04          7

生成statspack分析报告

SQL> @?/rdbms/admin/spreport

Specify the Begin and End Snapshot Ids

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

Enter value for
begin_snap:

Enter value for
end_snap:

Enter value for report_name:

Specify the Begin and End Snapshot Ids

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

Enter value for
begin_snap:

Enter value for
end_snap:

Enter value for report_name:

Specify the Begin and End Snapshot Ids

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

Enter value for
begin_snap:

Enter value for
end_snap:

Enter value for report_name:

Specify the Begin and End Snapshot Ids

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

Enter value for
begin_snap:

Enter value for
end_snap:

Enter value for report_name:

4.3取消statspack自动生成快照

perfstat@TESTDB12>select
job,log_user,last_date,next_date from user_jobs;

JOB LOG_USER                       LAST_DATE

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

NEXT_DATE

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

23 PERFSTAT                       2014-07-28 05:31:04

2014-07-28
05:46:00

perfstat@TESTDB12>exec
dbms_job.remove('23');

5.启samba共享并对生成的statspack报告copy到windows主机

[root@James ~]# service smb
start        //启动samba服务

[root@James ~]# chkconfig smb
on    //开机自动启动

{root@Redhat55.cuug.net:/root}#
smbpasswd -a oracle //将系统oracle用户添加到samba服务

部署statspack工具(一)的更多相关文章

  1. 部署statspack工具(二)之解决方案1

    7.解决方案一:调整buffer cache sys@TESTDB12>alter system set sga_max_size=804m scope=spfile;        //重启数 ...

  2. 部署statspack工具(二)之解决方案2

    解决方案二:在emp2的empno列上面创建索引,再执行share_pool_sql_1.sh脚本,查看sp报告 8.1在emp2的empno列上创建索引 sys@TESTDB12>create ...

  3. 【tool】部署前端工具

    一.部署前端工具如下: nodejsnpmwebpackvue 二.安装nodejs 1. 下载稳当版本nodejs 2. 配置环境变量 NODE_HOME=D:\soft\nodejs\ path= ...

  4. TriAquae 是一款由国产的基于Python开发的开源批量部署管理工具

    怀着鸡动的心情跟大家介绍一款国产开源运维软件TriAquae,轻松帮你搞定大部分运维工作!TriAquae 是一款由国产的基于Python开发的开源批量部署管理工具,可以允许用户通过一台控制端管理上千 ...

  5. 手把手教你 Docker部署可视化工具Grafana

    一.Grafana的简单介绍 Grafana是开源的.炫酷的可视化监控.分析利器,无论您的数据在哪里,或者它所处的数据库是什么类型,您都可以将它与Grafana精美地结合在一起.它还有丰富的套件供您选 ...

  6. 一键快速部署CodeBlocks的EGE图形库工具

    大一下学期,学完了c语言的基本内容, 也就开始开发项目了,此时一个图形界面就比较重要了,c语言中不提供图形界面,一般这些是用的其它开发的图形库,如 Easyx .ege等. 本文就提供 Codeblo ...

  7. 菜鸟教程之工具使用(四)——借助JRebel使Tomcat支持热部署

    JRebel是一个J2EE热部署的工具.使用它可以减少浪费8-18%的开发时间在项目的构建和部署上.虽然Java也提供了HotSpot的JVM,但是如果你修改的类中有方法名称变动的话,HotSpot就 ...

  8. openstack部署工具简介

    个人使用方面DevStack无疑,在可预见的未来时间内,DevStack仍将是众多开发者们的首选安装方式或工具.该方式主要是通过配置参数,执行shell脚本来安装一个OpenStack的开发环境.Gi ...

  9. 三石之道之Ansible自动化运维工具部署

    centos6默认python版本为2.6 centos7默认python版本为2.7 ansible需要最低python2.7的支持 总结:centos6要部署ansible工具,需要先升级pyth ...

随机推荐

  1. Posix消息队列实现机制

    本文是对<Unix 网络编程 卷2:进程通信>的笔记. 引言 消息队列是进程间通信的一种方式,可是如果不理解他的实现原理,会有众多不理解之处,下面就结合本书中的例子,对posix消息队列来 ...

  2. ActionBarSherlock,SlidingMenu

    转自:http://www.chenwg.com/android/actionbarsherlock%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B.html Android3 ...

  3. Django之路: 模版篇

    一.Django 模版  上章是介绍简单的把django.http.HttpResponse的内容显示到网页上,下面就介绍以下如何使用渲染模版的方法来显示内容.本节代码是基于Django 1.8,但 ...

  4. web容器启动顺序

    web容器启动顺序: 第一:context-param 第二:Listerer 第三:Filter 第四:servlet

  5. DataTable的名称要后设置

    string sqldatabase = string.Format(dr["sql"].ToString(), drpat["PATIENT_ID"].ToS ...

  6. iOS系统弃用方法更新方法

    -boundingRectWithSize:options:attributes:context:用法 - (CGSize)sizeWithFont:(UIFont *)font constraine ...

  7. Mysql(集群)业务水平切割 垂直切割(Amoeba)

     Amoeba原理戳这里:Amoeba详细介绍 需要根据企业 数据业务进行切割,垂直切割又称为纵向切割. 垂直切割通说的说就是有多个表,对表进行分离(用户数据.博客文章数据.照片数据.标签数据类型.群 ...

  8. 用Quick Cocos2dx做一个连连看(二)

    今天完成了以下内容: 1 成对生成SpriteItem 2 重排接口制作完成 3 SpriteItem的选择逻辑 主要代码如下: function MainScene:onEnter() local ...

  9. 攻入Javascript,究竟什么是AJAX

    什么是AJAX 时隔半年,当AJAX再一次出现在我脑海中时,从最初的模糊到现在的越来越明确.那么究竟什么是AJAX?它和form表单提交有什么区别? 如果你使用过AJAX和表单提交的话,想必会发现一件 ...

  10. Git GitHub的使用

    Git的工作区示意 GIT总结 使用git github也一段时间突然发现还是少了一些总结,那就从这儿开始吧! (1)git的配置,这儿就从单独的安装配置开始 安装:sudo yum install ...