본문 바로가기

Oracle241

[SGA] library cache lock&pin 발생원인과 재현하기 어제 테이블의 ddl을 수행하려고 보니 (단순 add column) 수행이 끝나지 않고 계속 대기하는 현상이 발생하였습니다. 다른 세션을 열어 세션의 상태를 조회해보니 library cache lock 상태로 wait중이었습니다. 급하게 holder session을 찾아 kill을 하고 처리를 했지만, 정확한 처리방법이 맞는것인지 다시 재현하여 확인할 수 있는 다른 테이블이나 방법은 없는지 정리를 하기로 하였습니다.  library cache 란?라이브러리 캐시는 Shared Pool 내에 위치하며, SQL 공유 커서 및 데이터베이스 오브젝트(테이블,인덱스)에 대한 정보를 관리합니다. 그리고 여기에 저장되는 정보의 단위를 라이브러리 캐시 오브젝트(LCO)라고 부릅니다. SQL 커서 뿐만 아니라 컴파일을 .. 2024. 12. 13.
Lob Partition 의 partition과 lob partition의 default attributes 설정 변경하여 자동으로 추가되는 파티션 압축되게 하기 구문일반 테이블 영역 default attributes 변경 구문ALTER TABLE 테이블명 MODIFY DEFAULT ATTRIBUTES COMPRESS 압축옵션;lob 테이블 영역 default attributes 변경 구문ALTER TABLE 테이블명 MODIFY DEFAULT ATTRIBUTES LOB(LOB 컬럼명) (COMPRESS 압축옵션); 테스트를 위해 CLOB이 포함된 테이블 하나를 생성하고 옵션 설정 전/후를 비교하여 추가된 파티션이 압축옵션을 가지고 있는지 테스트해보겠습니다. 1.테스트테이블 생성CREATE TABLE LOB_PART_TEST (ID VARCHAR2(10) NOT NULL,NAME VARCHAR2(10) NOT NULL,MSG CLOB,SEQ NUMBER)TABLE.. 2024. 11. 22.
[23ai] ai벡터검색 - ChatGPT를 이용하여 실시간 응답을 받기(RAG) 실제 AI API 를 이용해서 23ai에서 PL/SQL로 질의시 답변을 받아오는 방법을 테스트해보고 정리해보았습니다.AI는 여러회사의 제품이 있지만 저는 openai의 chatgpt를 사용하였습니다. 사전준비사항으로 api를 사용하기 위해 api key를 받아와야하고, 이것은 무료가 아니고 최소 10$ 가 필요합니다.openai에서 api key를 받아오고 사용하는 방법부터 정리하겠습니다. 1) api key 받기아래 URL로 접속합니다.https://platform.openai.com/settings/organization/api-keys  +create new secret key를 클릭합니다. Name과 Project를 입력 후 Create secret key를 하면 키가 나옵니다. 키는 암호화 형식.. 2024. 11. 15.
[23ai] ai벡터검색 - vector_distance 앞의 예제를 테스트하다보니 벡터검색에서 SQL 작성시 vector_distance를 사용하는 것을 확인하였고, 이 함수에 대한 내용을 읽고 정리하였습니다. 사용 구문VECTOER_DISTANCE(VEC A,VEC B,metric); 두 벡터를 매개변수로 사용하여 거리를 계산합니다. metric부분에 사용가능한 메트릭을 지정하여 구할 수 있습니다. default는 코사인(Cosine)입니다. 입력벡터가 binary인 경우에 default는 헤밍(Hamming)입니다. VEC A 와 VEC B는 형식과 차원 수가 같아야 합니다.JACCARD_DISTANCE 또는 JACCARD 메트릭을 사용하는 경우 VEC A, VEC B는 이진 벡터로 평가해야 합니다.VEC A or VEC B가 null인 경우 null을 .. 2024. 11. 13.