이상적인 DATABASE 상태와 성능이 안좋았을 때의 상태를
상대적으로 비교하기 용이한 레포트
SYS @ ora19dw > @?/rdbms/admin/awrddrpt.sql
Specify the Report Type
~~~~~~~~~~~~~~~~~~~~~~~
Would you like an HTML report, or a plain text report?
Enter 'html' for an HTML report, or 'text' for plain text
Defaults to 'html'
report_type의 값을 입력하십시오: html

오렌지는 startup 타임이 같은거로 넣기

- SNAP ID 45
- 하드 파싱 유발
- SNAP ID 46
- CURSOR_SHARING =FORCE 후 db restart 하고
- SNAP ID 47
- 하드 파싱 유발
- SNAP ID 48
비교 레포트에 하드 파싱 지표가 높았는데 떨어졌다는게 보이면 됨
SYS @ ora19dw > show parameter cursor_sharing
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cursor_sharing string EXACT
SYS @ ora19dw >
SYS @ ora19dw > exec dbms_workload_repository.create_snapshot;
PL/SQL 처리가 정상적으로 완료되었습니다.
SYS @ ora19dw > declare
2 type rc is ref cursor;
3 l_rc rc;
4 l_dummy all_objects.object_name%type;
5 l_start number default dbms_utility.get_time;
6 begin
7 for i in 1 .. 10000
8 loop
9 open l_rc for
10
11 'select object_name from all_objects where object_id = ' || i;
12 fetch l_rc into l_dummy;
13 close l_rc;
14
15 end loop;
16 dbms_output.put_line ( round( (dbms_utility.get_time - l_start)/100, 2) || 'seconds');
17 end;
18 /
PL/SQL 처리가 정상적으로 완료되었습니다.
SYS @ ora19dw > exec dbms_workload_repository.create_snapshot;
PL/SQL 처리가 정상적으로 완료되었습니다.
SYS @ ora19dw > alter system set cursor_sharing=force scope=both;
시스템이 변경되었습니다.
SYS @ ora19dw > startup force
ORACLE 인스턴스가 시작되었습니다.
Total System Global Area 2902454440 bytes
Fixed Size 8900776 bytes
Variable Size 553648128 bytes
Database Buffers 2332033024 bytes
Redo Buffers 7872512 bytes
데이터베이스가 마운트되었습니다.
데이터베이스가 열렸습니다.
SYS @ ora19dw > exec dbms_workload_repository.create_snapshot;
PL/SQL 처리가 정상적으로 완료되었습니다.
SYS @ ora19dw > declare
2 type rc is ref cursor;
3 l_rc rc;
4 l_dummy all_objects.object_name%type;
5 l_start number default dbms_utility.get_time;
6 begin
7 for i in 1 .. 10000
8 loop
9 open l_rc for
10 'select object_name from all_objects where object_id = ' || i;
11 fetch l_rc into l_dummy;
12 close l_rc;
13 end loop;
14 dbms_output.put_line ( round( (dbms_utility.get_time - l_start)/100, 2) || 'seconds');
15 end;
16 /
PL/SQL 처리가 정상적으로 완료되었습니다.
SYS @ ora19dw > exec dbms_workload_repository.create_snapshot;
PL/SQL 처리가 정상적으로 완료되었습니다.
