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-x 5 oracle oinstall 4096 Oct 29 06:30 .
drwxr-xr-x 3 oracle oinstall 52 Nov 26 14:21 ..
-rwxr-xr-x 1 oracle oinstall 11158 Oct 29 06:30 changelog.txt
-rwxr-xr-x 1 oracle oinstall 1159 Oct 29 06:30 edb360_for_nohup.sql
-rwxr-xr-x 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-x 2 oracle oinstall 4096 Oct 29 06:30 js
-rwxr-xr-x 1 oracle oinstall 28942 Oct 29 06:30 license.txt
-rwxr-xr-x 1 oracle oinstall 3011 Oct 29 06:30 README.md
drwxr-xr-x 5 oracle oinstall 86 Oct 29 06:30 repo
-rwxr-xr-x 1 oracle oinstall 2048 Oct 29 06:30 run_edb360.sh
drwxr-xr-x 2 oracle oinstall 8192 Oct 29 06:30 sql
-rwxr-xr-x 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 1: SELECT TO_CHAR(sid) my_sid FROM &&v_dollar.mystat WHERE ROWNUM = 1
new 1: SELECT 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/
'ORACLE > Performance Tuning ' 카테고리의 다른 글
오라클 19c 테이블 ctas 생성 및 append 삽입시, 인덱스 생성시 자동 통계정보 수집 (0) | 2024.10.24 |
---|---|
오라클 23ai append_values 힌트를 사용한 벌크 인서트 성능 비교 (0) | 2024.07.09 |
오라클 19c hash 조인 과다 실행시 부하 테스트 (0) | 2024.05.28 |
오라클 19c ordered_predicates 힌트 사용 확인(xplan, 10053 비교) (0) | 2024.05.24 |
오라클 19c insert 시 commit 주기에 따른 성능 테스트 (0) | 2024.05.23 |