MacOS에서 oracle 실행 시키기

혀어어언·2024년 7월 3일
1

Oracle과 SQL 튜닝

목록 보기
1/1

colima 설치 및 실행

colima 설치

  • homebrew를 통해 설치
$ brew install colima

colima 실행

  • colima를 x86_64 환경으로 띄워줌
  • Docker Desktop 환경에서는 oci-oracle-xe 이미지로 컨테이너를 띄웠을 때 아키텍처가 달라 문제가 되었었는데 Colima를 통해 해결 가능
$ colima start --memory 4 --arch x86_64
  • 아래와 같이 뜬다면 완료
INFO[0001] starting colima
INFO[0001] runtime: docker
INFO[0002] creating and starting ...                     context=vm
INFO[0142] provisioning ...                              context=docker
INFO[0144] starting ...                                  context=docker
INFO[0207] done
  • 완료되었다면 도커 명령어로 테스트

  • 정상적으로 가상 환경이 준비 되었다면 아래와 같이 도커 명령어들이 잘 작동됨

    $ docker ps
    CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

오라클 서버 프로세스 실행

  • docker run 커맨드 실행 시 이미지 파일이 없다면 다운받아서 실행됨

  • name: 컨테이너명을 명시해서 도커 실행을 쉽게 해줌

    • 컨테이너명 지정하면 docker start [컨테이너명]의 간단한 명령어로 해당 컨테이너 실행 가능
  • restart 옵션: 나중에 colima만 실행 하면 컨테이너는 알아서 실행 되도록 함

$ docker run --restart unless-stopped --name oracle -p 1521:1521 -e ORACLE_PWD=GOODDAY! container-registry.oracle.com/database/express:21.3.0-xe
  • 이미지가 없는 경우 다운 받아서 실행 됨
  • 아래와 같이 DATABASE IS READY TO USE!라는 문구가 보이면 완료된 것
Unable to find image 'container-registry.oracle.com/database/express:21.3.0-xe' locally
21.3.0-xe: Pulling from database/express
2318ff572021: Pull complete
c6250726c822: Pull complete
.
.
중략
.
.
The Oracle base remains unchanged with value /opt/oracle
#########################
DATABASE IS READY TO USE!
#########################

SQL 개발자 연결

  • connect 클릭
    • Host 는 localhost,
    • Database는 xe,
    • 포트는 1521 을 입력하고
    • 유저네임은 system,
    • 비밀번호는 docker run 시 옵션으로 준 값을 입력하고 테스트

터미널에서 SQL plus 접속

$ docker exec -it oracle sqlplus

유저 생성 후 권한 부여

생성
CREATE USER C##ivy identified by GOODDAY;
User created.
권한 부여
GRANT CONNECT, resource, dba to C##IVY;
Grant succeeded.
유저 생성 확인
select username from dba_users where username = 'C##IVY';
생성한 계정으로 로그인
  • Command+D로 접속 종료 후 생성한 계정으로 로그인
$ docker exec -it oracle sqlplus


에러

계정 생성 관련

  • 오라클 계정 생성 시 공통 사용자/롤 명이 부적합하다는 에러가 발생할 수 있음
  • 오라클 12c부터 계정 생성을 할 때, 계정명 앞에 C##을 붙여줘야 공통 사용자 생성이 가능
CREATE USER ivy identified by GOODDAY!;
ORA-65096: invalid common user or role name
CREATE USER C##ivy identified by GOODDAY;
  • 계정 생성할때마다 C##을 붙여주기 귀찮다면 아래 쿼리를 입력하면 됨
ALTER SESSION SET "_ORACLE_SCRIPT"=true;

[참고]
https://github.com/abiosoft/colima

0개의 댓글