프린트 하기

OS 환경 : Oracle Linux 8.1 (64bit)

 

DB 환경 : Oracle Database 19.3.0.0

 

방법 : 오라클 데이터베이스 무료 분석 툴 SQLdb360

본문에서는 SQLdb360에 대해 설명함

SQLdb360은 Oracle 데이터베이스 분석을 위한 무료 도구 세트로 eDB360(전체 DB 분석)과 SQLd360(개별 SQL 분석)으로 나뉘며, SQLPlus에서 실행하고 결과는 HTML로 확인 가능함

RAC, Exadata, 멀티테넌트 환경을 지원하고 메타데이터만 접근함. 실행 후 흔적을 남기지 않고, 대용량 DB에서 실행시에는 시간이 더 걸릴 수 있음

 

 

전체 DB 분석과 특정 SQL 을 분석할 수 있음

전체 DB 분석: @edb360.sql
특정 SQL 분석: @sqld360.sql [SQL_ID]
=> SQL ID는 분석할 SQL의 ID를 입력해야 함.

 

 

SQLdb360은 실행 후 별도의 흔적을 남기지 않아 추가 정리가 필요 없음
참고로 대용량 DB에서 eDB360은 최대 24시간 이상 걸릴 수 있음(SQLd360은 더 빠름)
RAC, Exadata, 멀티테넌트 환경도 문제없이 지원됨

 

 

SQLdb360 사용법
SQLdb360 다운로드
https://github.com/sqldb360/sqldb360/releases 에서 최신 버전을 다운로드



분석할 대상 DB 서버에 도구 압축 파일 업로드 후 압축해제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# chown oracle:dba sqldb360-24.2.zip
# mv sqldb360-24.2.zip /home/oracle/
$ unzip sqldb360-24.2.zip
$ cd sqldb360-24.2
$ ls -al
total 140
drwxr-xr-5 oracle oinstall  4096 Oct 29 06:30  .
drwxr-xr-3 oracle oinstall    52 Nov 26 14:21  ..
-rwxr-xr-1 oracle oinstall 11158 Oct 29 06:30  changelog.txt
-rwxr-xr-1 oracle oinstall  1159 Oct 29 06:30  edb360_for_nohup.sql
-rwxr-xr-1 oracle oinstall  1146 Oct 29 06:30  edb360.sql
-rw-r--r-- 1 oracle oinstall 53187 Oct 29 06:30 'Introduction to SQLD360.docx'
drwxr-xr-2 oracle oinstall  4096 Oct 29 06:30  js
-rwxr-xr-1 oracle oinstall 28942 Oct 29 06:30  license.txt
-rwxr-xr-1 oracle oinstall  3011 Oct 29 06:30  README.md
drwxr-xr-5 oracle oinstall    86 Oct 29 06:30  repo
-rwxr-xr-1 oracle oinstall  2048 Oct 29 06:30  run_edb360.sh
drwxr-xr-2 oracle oinstall  8192 Oct 29 06:30  sql
-rwxr-xr-1 oracle oinstall  6762 Oct 29 06:30  sqld360.sql

 


압축해제한 경로에서 sqlplus sys 유저로 스크립트 실행(멀티테넌트 환경이라면 pdb에 sys로 접속)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
$ sqlplus / as sysdba
SQL> @edb360.sql
 
PL/SQL procedure successfully completed.
 
old   1SELECT TO_CHAR(sid) my_sid FROM &&v_dollar.mystat WHERE ROWNUM = 1
new   1SELECT TO_CHAR(sid) my_sid FROM V$mystat WHERE ROWNUM = 1
 
MY_SID
----------------------------------------
146
 
If eDB360 disconnects right after this message it means the user executing it
owns a table called PLAN_TABLE that is not the Oracle seeded GTT plan table
owned by SYS (PLAN_TABLE$ table with a PUBLIC synonym PLAN_TABLE).
eDB360 requires the Oracle seeded PLAN_TABLE, consider dropping the one in this schema.
 
PL/SQL procedure successfully completed.
 
 
Parameter 1:
If your Database is licensed to use the Oracle Tuning pack please enter T.
If you have a license for Diagnostics pack but not for Tuning pack, enter D.
If you have both Tuning and Diagnostics packs, enter T.
Be aware value N reduces the output content substantially. Avoid N if possible.
 
Oracle Pack License? (Tuning, Diagnostics or None) [ T | D | N ] (required)
Enter value for 1: T  <-- [T 입력]

실행 시 라이선스 유형(Tuning, Diagnostics, None)을 선택해줘야함
[T | D | N] 중 하나를 입력 후 엔터 시 수행됨

 

 

실행 완료 후 zip 파일이 생성됨

해당 zip 파일을 로컬 pc로 복사 후 압축 해제 및 결과 html 파일(00001_*_index.html)을 크롬 등 웹 브라우저로 열기

 

 

실행 화면

 

 

세부항목을 눌려보면 이렇게 확인 가능함

등등..

 

 

참조 : 

https://github.com/sqldb360/sqldb360

https://carlos-sierra.net/2017/04/10/edb360-meets-eadam-3-0-when-two-heads-are-better-than-one/