본문 바로가기

Oracle220

같은 SQLID 다른 PLAN (Histogram 차이) 운영 중에 일어나 해결한 것을 정리하였습니다. 바인드변수만 다르게 해서 동일한 SQLID로 수행되는 쿼리가 특정 바인드변수가 들어오면 끝나지 않고 오래걸리는 현상이 발생하였습니다. 확인해보니 오래걸릴 때에는 실행계획이 달라졌고, SQLID는 동일했었습니다. 해결으로는 해당 SQLID에 대해서는 무조건 같은 실행계획을 타게 profile을 이용하여 고정시켜줬고, 오래걸리는 쿼리도 빠르게 끝나게 되었습니다. 처리 후에 SQLID가 같은데 실행계획이 다르게 나오는 경우는 어떤경우인지 테스트를 통해 정리해보도록 하겠습니다. 시나리오 참고 : https://aprakash.wordpress.com/2011/02/07/same-sql_id-with-different-execution-plans/ Cursor_sha.. 2023. 12. 22.
플랜 고정해주는 sql profile disable/drop 이전 글 https://bae9086.tistory.com/458 [DBMS_SQLTUNE] Profile로 SQL변경없이 실행계획 변경해보기 출처 : http://www.gurubee.net/article/58105 SQL_PROFILE 사용 방법 10g부터 소개된 SQL_PROFILE의 기능에 대한 소개를 하고자 한다. SQL_PROFILE이란, 특정 SQL_ID의 실행계획이 비효율적으로 생성될 경우, SQL 구문 변. bae9086.tistory.com 이전 글에서 profile을 생성하여 sql변경없이 plan을 변경할 수 있는 방법에 대해서 설명하였습니다. 이렇게 생성한 profile을 사용하지 않게 disable시키거나, drop 시키는 명령어를 정리합니다. 확인 SQL> select * fr.. 2023. 12. 18.
[통계정보 export/import]다른 테이블에 통계정보 복사 운영중에 원본테이블을 두고 CTAS 등으로 새로운 테이블을 만들어서 작업을 해야할 때가있습니다. 저의 경우에는 임시테이블에 작업 후에 원본과 RENAME하여 원본테이블과 바꿔치기하는 작업까지 해야했는데, 이때 크기가 큰 테이블의 경우에는 통계정보 수집시에 시간이 오래걸리고, 기존 원본 테이블에는 통계정보가 있는 경우, 통계정보의 export/import 기능을 사용하여 통계정보의 복사가 가능합니다. 이름이 다른경우에는 import를 하더라도 통계정보가 이식되지 않고 , 통계정보를 export받은 테이블을 update로 이름을 바꿔줘야 됩니다. 참고한 자료로는 아래의 SR입니다. 아래 SR은 스키마까지 변경될 때를 나타내었지만 저는 동일스키마로 진행하였습니다. 2701368.1.How To Transfer.. 2023. 12. 14.
ORA-00257: Archiver error. Connect AS SYSDBA only until resolved. 테스트 DB에서 아래의 에러가 발생하였습니다. sys 이외의 유저의 접속은 제한되었습니다. ORA-00257: Archiver error. Connect AS SYSDBA only until resolved. 원인은 아카이브쪽 용량이 100%라서 추가 파일을 생성하지 못했고, 그에 따라 난 에러였습니다. 해결은 특정 날짜 이전의 아카이브 파일을 삭제하였습니다. 명령어입니다. RMAN> connect target / RMAN> LIST ARCHIVELOG ALL; RMAN> delete archivelog all completed before 'sysdate -7'; 감사합니다. 2023. 11. 11.