SPM관련해서 테스트 하던 도중 안되는 원인을 모르겠어서 질문드립니다.
우선 A라는 인스턴스에서 SPM을 등록하여 잘 돌아가는 것을 확인하였습니다.
그리고 나서 해당 SPM을 pack하여 table화 시켜 B라는 인스턴스로이동하여 unpack하였습니다. 그런데 B라는 인스턴스에서는 해당 SPM이 작동하지 않습니다.
optimizer_use_sql_plan_baselines 파라미터도 확인해보고 dba_sql_plan_baseline의 enable, accept 값들도 확인하였습니다.
혹시 몰라서 fixed값도 TRUE로 바꾸어 보아도 작동이 되지 않습니다. (autotrace와 v$sql의 sql_plan_baseline 값으로 작동안되는 것을 확인하였습니다.)
수행하는 sql문은 A와 B인스턴스에서 아예 동일합니다. SPM의 sql 비교는 정규화된 SIGNATURE값으로 비교한다고 하여 등록된 SPM의 SIGNATURE값과 수행된 V$SQL의 SIGNATURE값을 비교해도 동일합니다.
혹시 더 확인해야 할 사항이 있을까요?
(물론 SPM등록된 cost값보다 SPM을 무시하고 돌아가는 plan의 cost값이 더 낮긴합니다. 이것때문에 무시되는 거라면 A인스턴스에서는 잘 되었던 이유는 무엇인가요.?)