« Statspack之七-移除定时任务 | Blog首页 | Statspack之八-删除历史数据 »
Statspack之三-安装statspack
链接:https://www.eygle.com/archives/2004/06/statspack03.html
安装Statspack需要用internal身份登陆,或者拥有SYSDBA(connect / as sysdba)权限的用户登陆。
需要在本地安装或者通过telnet登陆到服务器。
在Oracle8.1.6版本中运行statscre.sql;在Oracle8.1.7版本中运行spcreate.sql。
首先登陆到数据库,最好转到$ORACLE_HOME/RDBMS/ADMIN目录,这样我们执行脚本就可以方便些。
D:\oracle\ora81\RDBMS\ADMIN>sqlplus internal SQL*Plus: Release 8.1.7.0.0 - Production on 星期二 12月 3 16:54:53 2002 (c) Copyright 2000 Oracle Corporation.All rights reserved.
请输入口令:
连接到: Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production With the Partitioning option JServer Release 8.1.7.0.0 - Production
SQL> select instance_name,host_name,version,startup_time from v$instance;
INSTANCE_NAMEHOST_NAME VERSIONSTARTUP_TIME ---------------------------------------------------------------- eygleAM-SERVER 8.1.7.0.022-11月-02
SQL>
|
注:在Oracle9i中,不存在internal用户,可以使用sys用户以sysdba身份连接:
D:\oracle\ora92\rdbms\admin>sqlplus "/ as sysdba" SQL*Plus: Release 9.2.0.3.0 - Production on 星期四 7月 10 19:18:54 2003 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
连接到: Oracle9i Enterprise Edition Release 9.2.0.3.0 - Production With the Partitioning, Oracle Label Security, OLAP and Oracle Data Mining options JServer Release 9.2.0.3.0 - Production
SQL> |
检查数据文件路径及磁盘空间,以决定创建数据文件的位置:
SQL> select file_name from dba_data_files; FILE_NAME -------------------------------------------------------------------------------- D:\ORACLE\ORADATA\EYGLE\SYSTEM01.DBF D:\ORACLE\ORADATA\EYGLE\TEMP01.DBF …… D:\ORACLE\ORADATA\EYGLE\HH_AM01.ORA
已选择24行。
SQL> |
创建存储数据的表空间,如果采样间隔较短,周期较长,打算长期使用,那么你可能需要一个大一点的表空间,
如果每个半个小时采样一次,连续采样一周,数据量是很大的。本例创建一个500M的测试表空间。
注意:这里创建的表空间不能太小,如果太小创建对象会失败,至少需要建立100M表空间,如果打算
长期使用,可以建立稍大的表空间,本例创建500M LMT表空间。
SQL> create tablespace perfstat 2datafile 'd:\oracle\oradata\eygle\perfstat.dbf' 3size 500M 4extent management local;
表空间已创建。 SQL> |
检查是否存在安装所需要的脚本文件(对于不同的版本,脚本有所不同)
E:\Oracle\ora92\rdbms\admin>dir /w sp* 驱动器 E 中的卷没有标签。 卷的序列号是 ACC3-4340 E:\Oracle\ora92\rdbms\admin 的目录
spauto.sqlspcpkg.sqlspcreate.sqlspctab.sqlspcusr.sqlspdoc.txt spdrop.sqlspdtab.sqlspdusr.sqlsppurge.sqlsprepins.sqlspreport.sql sprepsql.sqlsptrunc.sqlspuexp.parspup816.sqlspup817.sqlspup90.sql 18 个文件510,296 字节 0 个目录4,146,565,120 可用字节 |
接下来我们就可以开始安装Statspack了。这期间会提示你输入缺省表空间和临时表空间的位置,输入我们为
perfstat用户创建的表空间和你的临时表空间。
SQL> @spcreate . . Specify PERFSTAT user's defaulttablespace 输入 default_tablespace 的值:perfstat Using perfstat for the default tablespace
用户已更改。
用户已更改。
Specify PERFSTAT user's temporary tablespace 输入 temporary_tablespace 的值:temp |
注意:在statspack创建过程中,当提示输入口令时,你可以输入一个明文口令,但是如果输入口令不符
合规范(如123或以数字开头的口令),创建会失败。
输入口令时可以暂时输入:perfstat ,稍后可以更改。
... Creating PERFSTAT user ...
Choose the PERFSTAT user's password.
Not specifying a password will result in the installation FAILING Specify PERFSTAT password 输入 perfstat_password 的值: 123 123
PL/SQL 过程已成功完成。
create user perfstat identified by 123 * ERROR 位于第 1 行: ORA-00988: 缺少或无效口令 |
如果安装成功,你可以看到如下的输出信息:
…. Creating Package STATSPACK...
程序包已创建。
没有错误。 Creating Package Body STATSPACK...
程序包主体已创建。
没有错误。
NOTE: SPCPKG complete. Please check spcpkg.lis for any errors. |
你可以查看.lis文件查看安装时的错误信息。
SQL> host dir *.lis 驱动器 D 中的卷没有标签。 卷的序列号是 5070-5982
D:\oracle\ora81\RDBMS\ADMIN 的目录
2002-12-0317:25204 spcpkg.lis 2002-12-0317:252,276 spctab.lis 2002-12-0317:253,965 spcusr.lis 2002-12-0317:231,187 spdtab.lis 2002-12-0317:24351 spdusr.lis 5 个文件7,983 字节 0 个目录3,965,304,832 可用字节
SQL> host find “ORA-“ *.lis SQL> host find "err" *.lis
---------- SPAUTO.LIS
---------- SPCPKG.LIS SPCPKG complete. Please check spcpkg.lis for any errors.
---------- SPCTAB.LIS SPCTAB complete. Please check spctab.lis for any errors.
---------- SPCUSR.LIS SPCUSR complete. Please check spcusr.lis for any errors.
---------- SPDTAB.LIS |
在UNIX上,你可以通过以下命令查看相应的错误信息
$ ls *.lis spauto.lisspcpkg.lisspctab.lisspcusr.lisspdtab.lisspdusr.lis $ grep ORA- *.lis $ grep err *.lis spcpkg.lis:SPCPKG complete. Please check spcpkg.lis for any errors. spctab.lis:SPCTAB complete. Please check spctab.lis for any errors. spcusr.lis:SPCUSR complete. Please check spcusr.lis for any errors. spdtab.lis:SPDTAB complete. Please check spdtab.lis for any errors. spdusr.lis:SPDUSR complete. Please check spdusr.lis for any errors. |
在这一步,如果出现错误,那么你可以运行spdrop.sql脚本来删除这些对象。然后重新运行spcreate.sql来创
建这些对象。运行 SQL*Plus, 以具有SYSDBA 权限的用户登陆:
SQL> @spdrop.sql . . . 同义词已丢弃。off;
视图已丢掉。
同义词已丢弃。
视图已丢掉。
同义词已丢弃。
用户已丢弃
NOTE: SPDUSR complete. Please check spdusr.lis for any errors.
SQL> |
历史上的今天...
>> 2013-06-24文章:
>> 2011-06-24文章:
By eygle on 2004-06-24 22:00 | Comments (12) | Special | 22 |
Using perfstat tablespace to store Statspack objects
... Creating STATS$SNAPSHOT_ID Sequence
SP2-0640: 未连接
SP2-0640: 未连接
... Creating STATS$... tables
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0640: 未连接
NOTE:
SPCTAB complete. Please check spctab.lis for any errors.
SQL> -- Create the statistics Package
SQL> @@spcpkg
SQL> Rem
SQL> Rem $Header: spcpkg.sql 17-apr-2002.16:59:10 vbarrier Exp $
SQL> Rem
SQL> Rem spcpkg.sql
SQL> Rem
SQL> Rem Copyright (c) 1999, 2002, Oracle Corporation. All rights reserved.
SQL> Rem
SQL> Rem NAME
SQL> Rem spcpkg.sql
SQL> Rem
SQL> Rem DESCRIPTION
SQL> Rem SQL*PLUS command file to create statistics package
SQL> Rem
SQL> Rem NOTES
SQL> Rem Must be run as the STATSPACK owner, PERFSTAT
SQL> Rem
SQL> Rem MODIFIED (MM/DD/YY)
SQL> Rem vbarrier 03/20/02 - 2184504
SQL> Rem spommere 03/19/02 - 2274095
SQL> Rem vbarrier 03/05/02 - Segment Statistics
SQL> Rem spommere 02/14/02 - cleanup RAC stats that are no longer needed
SQL> Rem spommere 02/08/02 - 2212357
SQL> Rem cdialeri 02/07/02 - 2218573
SQL> Rem cdialeri 01/30/02 - 2184717
SQL> Rem cdialeri 01/09/02 - 9.2 - features 2
SQL> Rem cdialeri 11/30/01 - 9.2 - features 1
SQL> Rem hbergh 08/23/01 - 1940915: use substrb on sql_text
SQL> Rem cdialeri 04/26/01 - 9.0
SQL> Rem cdialeri 09/12/00 - sp_1404195
SQL> Rem cdialeri 04/07/00 - 1261813
SQL> Rem cdialeri 03/28/00 - sp_purge
SQL> Rem cdialeri 02/16/00 - 1191805
SQL> Rem cdialeri 11/01/99 - Enhance, 1059172
SQL> Rem cgervasi 06/16/98 - Remove references to wrqs
SQL> Rem cmlim 07/30/97 - Modified system events
SQL> Rem gwood.uk 02/30/94 - Modified
SQL> Rem densor.uk 03/31/93 - Modified
SQL> Rem cellis.uk 11/15/89 - Created
SQL> Rem
SQL>
SQL> set echo off;
Creating Package STATSPACK...
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0641: "SHOW ERRORS"需要连接至服务器
Creating Package Body STATSPACK...
SP2-0640: 未连接
SP2-0640: 未连接
SP2-0641: "SHOW ERRORS"需要连接至服务器
NOTE:
SPCPKG complete. Please check spcpkg.lis for any errors.
请问这个是什么错误呀?谢谢
statspack安装要在本地进行,你不是远程搞的吧?
Specify PERFSTAT user's temporary tablespace.
输入 temporary_tablespace 的值: temp
Using temp for the temporary tablespace
PL/SQL 过程已成功完成。
用户已更改。
NOTE:
SPCUSR complete. Please check spcusr.lis for any errors.
SQL>
SQL> --
SQL> -- Build the tables and synonyms
SQL> connect perfstat/&&perfstat_password
ERROR:
ORA-01017: invalid username/password; logon denied
警告: 您不再连接到 ORACLE。
自动connect,但密码不正确?我创建的pw是:perfstat.
怎么回事呢?
spdrop重新来,一定是你的操作或步骤有问题。
进入c:\oracle\ora92\rdbms\admin\
sqlplus sys/password@oracle as sysdba登录
create tablespace perfstat datafile 'e:\oracle\oradata\orl\perfstat.dbf' size 500M extent management local;
再查看到18个文件 host dir/w sp*
@spcreate
之后提示输入password:pass
之后提示输入tablespace:perfstat
之后提示输入temporary tablespace:temp
之后就报上述的错误了.
(OS: windows 2000, DB: oracle9i2)
感谢!
spdrop重新来,错误依旧.
不行你就改下脚本,把passwd写进去
thanks.解决!
正看你写的书呢:)
我的问题和你一样你是怎么解决的阿?谢谢!
受益了,多谢盖老师!
你是不是有多个SID?
SQL>CONN SYS/YOUPASSWORD AS SYSDBA;
connected
这样的一般不会出错。