[MAC] 도커 컨테이너 with colima

1

DB

목록 보기
9/17
post-thumbnail

콜리마 먼저 실행 -> 맥 m1 버전
colima start --memory 4 --arch x86_64

  • 기존의 컨테이너 실행하려면
    docker start 컨테이너이름

  • 기존 컨테이너 목록 확인
    docker context ls

  • 현재 실행되고 있는 컨테이너
    docker ps

  • 죽어있는 컨테이너 까지 모두 확인
    docker ps -a

  • 기존의 오라클 컨테이너 삭제
    docker rm <컨테이너이름>

  • 기존의 오라클 볼륨 파일 제거 (생성한 볼륨 폴더가 있는 곳에서)
    Sudo rm -rf <컨테이너이름>

  • 새로운 컨테이너 생성 - 타임존까지 설정
    docker run --name 컨테이너이름 -p 1521:1521 -e ORACLE_PASSWORD=원하는비밀번호 -e TZ=Asia/Seoul -d gvenzl/oracle-xe

  • 생성시, 재시작해도 콜리마만 키면 바로 연결되게 하는 법 :
    run 뒤에 --restart unless-stopped 추가

  • 같은 포트(1521)에서 다른 컨테이너 사용하고 싶을 땐
    docker stop 컨테이너이름 으로 종료 후 연결(docker start 컨테이너 이름)


Docker sql 접속하기

  1. docker exec -it 컨테이너이름 bash
  2. sqlplus
  3. 유저네임 - system -> 따로 설정했다면 그거 넣기
  4. 비번 - pass

볼륨지정하고 컨테이너 올리기

mkdir ~/Documents/원하는폴더이름

docker run -d --name 컨테이너이름 -v ~/Documents/만든폴더이름:/opt/oracle/oradata -p 1521:1521 -e TZ=Asia/Seoul -e ORACLE_PASSWORD=pass gvenzl/oracle-xe

docker logs -f oracle

사용자 이름 변경

  • 위의 username, 사용자 이름을 변경하는 방법
  • 위의 명령어로 도커 sql먼저 접속
  1. docker exec -it 컨테이너이름 bash
  2. sqlplus
  3. 유저네임 - system -> 따로 설정했다면 그거 넣기
  4. 비번 - pass

  • CREATE USER [유저이름] IDENTIFIED BY [비밀번호];
  • GRANT RESOURCE, CONNECT TO 유저이름;
  • grant create view to 유저이름

  • 유저 삭제하며 관련 테이블 모두 drop
    • drop user {유저아이디} cascade;
  • 암호 기간 만료 비활성화
    • alter profile default limit password_life_time unlimited;
  • 최대 접속 가능 process 조회 및 변경
    • show parameter processes;
  • alter system set processes = 200 scope=spfile;

다 했는데도 에러뜰때..

ORA-01950: 테이블스페이스 'USERS'에 대한 권한이 없습니다.
sqlplus에서 ERROR at line 1: ORA-01031: insufficient privileges
이때는 sqlplus에 system으로 접속해서
grant unlimited tablespace to 유저이름;
해주면 된다!

출처 - 무한감사드립니다......

profile
백엔드를 공부하고 있습니다.

0개의 댓글