TECH
QUESTION
자주하는 질문답변 입니다.
Oracle
| 작성자 | 유건데이타 | 등록일 | 2015-05-16 |
| 제목 | STATSPACK 개관 및 설치, 구성 방법 | ||
|---|---|---|---|
|
STATSPACK 개관 및 설치, 구성 방법
================================== PURPOSE ------- 이 자료는 oracle 8.1.6부터 새로이 제공되는 성능진단도구인 statspack에 대한 소개와 구성방법에 대해 설명한다. Explanation ----------- 1. StatsPack 개관 StatsPack은 일련의 SQL,PL/SQL 및 SQL*Plus 스크립트로 구성되어 있으며, 사용자가 각종 성능 관련 데이터를 수집, 저장하고, 출력 및 자동화를 할 수 있게 해 준다. DB 계정은 설치 script를 실행할 때 자동으로 생성된다. ( PERFSTAT 계정 ). PERFSTAT 계정은 성능 튜닝에 필요한 v$ view에 대해 제한적으로 query-only 권한을 부여 받게 된다. Statspack은 그동안 널리 사용되어 오던 UTLBSTAT/UTLESTAT 튜닝 스크립트와는 근본적으로 다르며, 더 많은 정보를 수집하고, 성능 관련 통계정보를 데이터 베이스에 누적시킨다는 장점이 있다. 누적된 성능 관련 정보는 후에도 보고서 작성 및 분석을 위해 다시 사용될 수 있다. 수집된 데이터는 제공된 보고서에 의해 분석되는데, 보고서에서는 "instance health and load" 라는 종합 보고서를 포함해, 자원을 많이 사용하는 SQL 문장 및, wait event, init 파라미터 등 다양한 정보가 포함된다. 2. StatsPack README 파일의 위치 StatsPack 의 README 파일은 버젼 별/플랫폼 별 상세 정보 및 툴 관련 이력정보를 담고 있다. 플랫폼 별 버젼 별 위치는 다음과 같다. unix: Oracle8i 8.1.6 $ORACLE_HOME/rdbms/admin/statspack.doc Oracle8i 8.1.7 and Oracle9i 9.0.1 $ORACLE_HOME/rdbms/admin/spdoc.txt NT: Oracle8i 8.1.6 %ORACLE_HOME%\rdbms\admin\statspack.doc Oracle8i 8.1.7 and Oracle9i 9.0.1 %ORACLE_HOME%\rdbms\admin\spdoc.txt 3. StatsPack 패키지의 구성 및 설치 1) StatsPack 설치를 위한 데이터베이스의 여유 공간 오라클은 StatsPack 패키지를 SYSTEM 테이블스페이스에 설치하는 것을 권고하지 않는다. 일반적으로 TOOLS 테이블 스페이스에 설치하는 것이 바람직하며, Locally-managed tablespace를 사용할 경우, 별도로 storage 절을 지정할 필요가 없다. 왜냐하면, storage 관련 사항이 자동으로 관리되기 때문이다. 만약 dictionary-manageed tablespace에 패키지를 설치할 경우, 저장되는 데이터 관련 사항을 모니터하여 storage 절을 조정하는 것을 권고한다. 변동되는 데이터를 저장하는 테이블 및 인덱스의 기본 storage 는 initial 1M next 1M 로 지정되어 있다. 패키지 설치를 위해서는 최소 35M 정도의 여유 공간이 있어야 한다. 패키지에서 필요한 저장 공간은 통계정보를 수집하는 횟수 및 빈도에 따라 다르며, 데이터베이스의 크기 및 인스턴스 갯수와 수집되는 데이터의 양에 따라 다르다. 따라서 저장 공간과 관련된 일반적인 storage 절을 예측하기는 어려우며, 각 사이트에서 실제 필요한 저장 공간을 예측하여 권고하기도 어렵다. 2) StatsPack 패키지의 설치 a. 대화형 설치 설치 중에 PERFSTAT이라는 사용자 계정이 생성되며, 기본 패스워드로 PERFSTAT이 지정된다. 이 사용자 계정이 관련된 PL/SQL 코드 및 데이터 베이스 객체를 소유하게 된다. ( STATSPACK 테이블, constraint 및 STATSPACK 패키지 등 ) 설치 SQL 스크립트에서는 PERFSTAT 의 default tablespace 및 temporary tablespace를 물어오고, 테이블과 인덱스를 저장할 테이블스페이스를 물어온다. 참고사항 : * PERFSTAT 계정의 default tablespace 또는 temporary tablespace로 SYSTEM 테이블스페이스를 지정하지 말 것. 만약 SYSTEM 을 지정한다면, 문제가 있음을 알려주는 메시지와 함께 설치 과정이 실패한다. 이것은 Oracle에서, SYSTEM 테이블스페이스를 각종 통계정보나 데이터 sort 등에 사용하지 않기를 권고하기 때문이다. 만약 여유 공간이 있다면, TOOLS 테이블스페이스에 데이터를 저장하고, 인스턴스에서 사용하는 TEMPORARY 테이블스페이스에서 sort 작업을 수행 하도록 한다. * 설치 중간에, dbms_shared_pool 과 dbms_job PL/SQL 패키지가 생성된 다. dbms_shared_pool 패키지는 Statspack 패키지를 shared pool에 고정 시키는 데 ( pin ) 사용된다. dbms_job은 일정 주기마다 통계정보를 자 동으로 수집하는데 dbms_job을 사용하기 때문에 설치된다. * 설치 스크립트에서는 Statspack 이 소유한 각종 테이블에 대해 PUBLIC 대상으로 SELECT 권한을 부여해 준다. ( 이름 앞에 STATS$ 가 붙음 ) SVRMGRL이 Oracle 8i ( 8.1.6 과 8.1.7 )에 가용하지만, StatsPack 설치는 SQL*Plus를 통해서만 가능하며, 설치 스크립트에서는 SQL*Plus에서 사용되는 formatting 명령이 사용된다. 설치 패키지는 각 플랫폼 별로 다음과 같이 수행한다. Oracle 8.1.6: Unix 플랫폼: SQL> connect / as sysdba SQL> @?/rdbms/admin/statscre NT 플랫폼: SQL> connect / as sysdba SQL> @%ORACLE_HOME%\rdbms\admin\statscre Oracle8i 8.1.7 와 Oracle9i 9.0.1 Unix 플랫폼: SQL> connect / as sysdba SQL> @?/rdbms/admin/spcreate NT 플랫폼: SQL> connect / as sysdba SQL> @%ORACLE_HOME%\rdbms\admin\spcreate VMS 플랫폼 SQL> connect / as sysdba SQL> @ora_rdbms_admin:spcreate b. 배치 모드 설치 배치 모드로 설치를 진행하기 위해서는 SQL*Plus에 변수를 선언하여 default tablespace 및 temporary tablespace 등을 스크립트 실행 전에 지정해 주어야 한다. 사용되는 변수는 다음과 같다. default_tablespace -> default tablespace 지정 temporary_tablespace -> temporary tablespace 지정 예. unix 플랫폼: SQL> connect / as sysdba SQL> define default_tablespace='tools' SQL> define temporary_tablespace='temp' SQL> @?/rdbms/admin/spcreate 이렇게 하면 spcreate는 사용자에게 정보를 물어보지 않고 설치를 진행한다. 3) 설치 과정에서 생성되는 로그 파일 StatsPack 설치 스크립트는 실행 중에 3개의 스크립트를 호출하여 실행시킨다. 이 스크립트들은 자동으로 실행되므로, 별도로 실행시킬 필요 가 없다. Oracle8i 8.1.6 1. statscusr -> 사용자 생성 및 권한 부여 2. statsctab -> 테이블생성 3. statspack -> 패키지 생성 Oracle8i 8.1.7 , Oracle9i 9.0.1 1. spcusr -> 사용자 생성 및 권한부여 2. spctab -> 테이블 생성 3. spcpkg -> 패키지 생성 설치 스크립트는 'script 이름.lis' 파일로 실행 중 나타나는 각종 메시지를 spool로 남겨둔다. 설치 후에는 각각을 확인하여 설치 중간에 발생한 에러가 없었는지를 확인하여야 한다. 예를 들어 Oracle 8.1.6 의 경우, statcusr.lis 파일을, Oracle 8.1.7 이나 Oracle 9.0.1의 경우 spcusr.lis 파일을 점검하여야 한다. 4) 설치 중에 발생하는 에러 설치를 SVRMGRL에서 수행할 경우 ORA-1012 에러가 (로그인을 하지 않음 ) 발생하며, PLS-00201 에러 ( stats$statspack_parameter 가 정의되지 않음 )가 발생한다. 이 문제를 해결하기 위해서는 SQL*Plus를 사용하여 StatsPack을 제거하고, 위에서 설명한 절차에 따라 설치를 하면 된다. Oracle 8.1.6: Unix 플랫폼: SQL> connect / as sysdba SQL> @?/rdbms/admin/statsdrp NT 플랫폼: SQL> connect / as sysdba SQL> @%ORACLE_HOME%\rdbms\admin\statsdrp Oracle8i 8.1.7 and Oracle9i 9.0.1 Unix 플랫폼: SQL> connect / as sysdba SQL> @?/rdbms/admin/spdrop NT 플랫폼: SQL> connect / as sysdba SQL> @%ORACLE_HOME%\rdbms\admin\spdrop Example ------- none Reference Documents ------------------- |
|||
| Comment | |||
|---|---|---|---|
| 등록된 코멘트가 없습니다. |
