본문 바로가기
IT실습공부/개인프로젝트

aws 서버에 도커를 설치하고 oracle DB 11xe 버전을 구동시켜보자.

by 육지상어 2020. 12. 12.
728x90
반응형

subicura.com/2017/01/19/docker-guide-for-beginners-2.html<-참고자료

aws에서 db 서버를 제공해주지만, 프리 티어에서 oracal DB를 제공해주지 않는다. mysql에 더 익숙하지만, 하는김에 그냥 나한테 안익숙한 oracal DB를 사용해보자.

도커는 프로세스 격리해주는 오픈소스 가상화 플랫폼이다. 프로세스를 관리하기 위해 격리해주고 구동시킨다는데, 솔직히 개인이 사용하는 내 aws 인스턴스에는 크게 필요하지 않다고 생각하지만, 한번 해보자.

curl -fsSL https://get.docker.com/ | sudo sh < - 설치
docker version < -버전 확인

https://romeoh.tistory.com/entry/Oracle-docker%EC%97%90-Oracle-11g-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0
도커 허브 검색 후, 가입

docker login으로 접속 후
docker search oracle-xe-11g < 11g 검색
docker pull jaspeen/oracle-xe-11g < 11g 이미지 다운

docker run --name oracle11g -d -p 1521:1521 jaspeen/oracle-xe-11g <- 이미지 도커로 실행한다.
docker exec -it oracle11g sqlplus <- sql 실행

user-name: system
password: oracle

ORA-01089: immediate shutdown in progress - no operations are permitted 오류가 발생하면
시작중이니깐 조금 기다렸다가 다시 시도해 보자

접속된걸 확인할 수 있다.

 

이제 관리를 편하게 하기 위해 흔히 사용하는 sql 디벨로퍼로 접속해보자.

우선 aws 인스턴스 보안 탭에서 1521 포트를 허가하고 자신의 dns 주소를 얻어오자. 그냥 인스턴스 누르면 바로 나온다.

호스트 이름에 입력하고, 네임은 맘대로 사용자는 시스템, 비밀번호는 오라클하고 테스트를 누르면 접속 성공이 뜬다.

접속 후 최초로 해야할것은 시스템 접근 비밀번호를 바꿔주자

이렇게 말이다. 

ALTER USER SYSTEM IDENTIFIED BY 원하는 암호;
ALTER USER SYS IDENTIFIED BY 원하는 암호

 

그리고 유저들을 생성해주자.  (참고 : mine-it-record.tistory.com/17)

 

--이게 주석 입니다.

--1. 유저생성(비밀번호생성)

--CREATE USER[유저 이름]IDENRIFIED BY[비밀번호]

CREATE USER dba_user IDENTIFIED BY pass;

CREATE USER web_user IDENTIFIED BY pass;

CREATE USER user002 IDENTIFIED BY pass3;

--생성 유저 확인

--유저가 바꿔줄수 있는거는 소문자로 그외에 원래 있는거나 명령어는 대문자

SELECT USERNAME FROM DBA_USERS;

 

--2. 비밀번호 변경

--ALTER USER [유저이름] IDENTIFIED BY [변경할 비밀번호];

ALTER USER web_user IDENTIFIED BY pass;

 

--3. 유저 삭제

--DROP USER[유저이름]

DROP USER dab_user;

DROP USER user002;

 

--4. 권한 부여

--GRANT[권한]TO[대상 유저]

GRANT CONNECT,RESOURCE,DBA TO web_user;

GRANT CREATE TABLECREATE VIEW TO web_user;

GRANT CONNECT,DBA TO dba_user;

--5. 권한 회수

--REVOKE[권한]FROM[대상유저]

REVOKE DBA FROM web_user;

 

--CREATE,ALTER,DROP

 

select username from all_users; 모든 유저 보기

 

그런데 곧 독서실도 닫고, 치킨이 땡기므로

월요일날 유저 생성하고, DB table 생성하고, 코인 리스트들을 실시간으로 업데이트 하는 백엔드 api를 제작하도록 하겠다.

 

반응형

댓글