내맘대로긍정이 알려주는
Oracle 23ai 신기능
무료 세미나 발표자료
다운로드
trending_flat
OS환경 : Oracle Linux 7.6 (64bit)
DB 환경 : Oracle Database 19.10.0.0
에러 : SPM: 1 expired sql plan baselines auto-purged.
19c의 alert log 에서 볼수 있는 메세지
1
2
3
|
$ vi alert.log
2023-01-25T05:48:30.993539+09:00
SPM: 1 expired sql plan baselines auto-purged.
|
해결 방법 : 자동으로 purge 된 spm baseline 을 알려주는 메세지
자동으로 purge 된 spm baseline 을 알려주는 메세지
에러가 아님
메세지 그대로 1개의 만료된 sql plan baseline이 자동으로 삭제되었다는 메세지
원인 : dba_sql_plan_baselines 뷰에서 autopurge 가 YES 인 baseline이 일정기간뒤 자동으로 삭제됨
dba_sql_plan_baselines 뷰에서 autopurge 가 YES 인 baseline이 일정기간뒤 자동으로 삭제됨
autopurge가 YES인 spm baseline 확인
1
2
3
4
5
6
7
8
|
SQL>
select count(*) as " purgeable baselines count"
from dba_sql_plan_baselines
where autopurge = 'YES';
purgeable baselines count
--------------------------
61
|
몇주가 지나면 자동으로 지워지는지 확인
1
2
3
4
5
6
7
8
9
10
11
|
SQL>
set lines 200 pages 1000
col parameter_name for a20
col parameter_value for a20
select parameter_name,parameter_value
from dba_sql_management_config
where parameter_name = 'PLAN_RETENTION_WEEKS';
PARAMETER_NAME PARAMETER_VALUE
-------------------- --------------------
PLAN_RETENTION_WEEKS 53
|
53주동안 사용하지 않으면 자동으로 지워짐
아래 명령을 이용해 보관기간 변경가능
1
2
3
|
SQL> exec DBMS_SPM.CONFIGURE('PLAN_RETENTION_WEEKS',60);
PL/SQL procedure successfully completed.
|
다시 확인
1
2
3
4
5
6
7
8
9
10
11
|
SQL>
set lines 200 pages 1000
col parameter_name for a20
col parameter_value for a20
select parameter_name,parameter_value
from dba_sql_management_config
where parameter_name = 'PLAN_RETENTION_WEEKS';
PARAMETER_NAME PARAMETER_VALUE
-------------------- --------------------
PLAN_RETENTION_WEEKS 60
|
정상적으로 60주로 변경됨
참조 : 1438701.1, 1359841.1