개요


Select AI?

Oracle Select AI는 자연어 질문을 LLM에 전달하여 SQL을 생성하고 실행할 수 있는 기능입니다. 마치 Visual Studio Code 등 IDE 툴에 Plug-in 을 설치하고 ChatGPT 나 Gemini 등을 활용하여 필요한 코드를 수정하고 적용하는 것 처럼 필요한 SQL 구문을 LLM 을 통해 작성 및 실행을 할 수 있습니다. 이로서 개발자들이 SQL 작성에 필요한 공수를 조금이나마 줄일 수 있으며, 업무의 로직을 구현하는데 좀더 많은 자원을 할당할 수 있게 합니다.

이 문서에서는 필요한 LLM 을 Local GPU 서버에 올려 별도의 LLM 서버를 구축한 다음 이를 Oracle Database 가 활용하는 방법을 기술합니다. LLM 의 관리는 LLM 을 쉽게 다운받고 활용할 수 있는 LM Studio 를 통해 구성하고 이를 활용합니다. 이러한 구성의 전체 과정을 절차적으로 보면 아래와 같습니다.

  1. GPU 서버 GUI 접속 환경 구성
  2. LM Studio 설치 및 Local Server 구동
  3. Gemma 모델 설치 및 API Token 생성
  4. Nginx 설치 및 HTTPS Reverse Proxy 구성
  5. Oracle 26ai 서버에서 이름 해석 및 인증서 Wallet 등록
  6. Oracle Network ACL, Credential, Select AI Profile 구성
  7. Gemma Local LLM을 이용한 Select AI 테스트
  8. GPT-OSS 120B 모델 로드 및 테스트
  9. Select AI 요청의 테이블 정보 전달 문제 확인
  10. System/Developer Message를 병합하는 Merge Proxy 구성
  11. Merge Proxy를 systemd 서비스로 등록
  12. Nginx가 LM Studio Direct 또는 Merge Proxy를 선택하도록 ON/OFF 스크립트 구성

최종 구성

flowchart LR
    A["Oracle AI Database 26ai<br>Select AI"] -->|"HTTPS 443"| B["Nginx<br>ai.localllm.com"]
    B -->|"Proxy OFF"| D["LM Studio<br>127.0.0.1:1234"]
    B -->|"Proxy ON"| C["Merge Proxy<br>127.0.0.1:1235"]
    C --> D
    D --> E["google/gemma-4-e4b"]
    D --> F["openai/gpt-oss-120b"]