docker로 oracle 실행 및 접속

greenTea·2023년 10월 30일
0

1. docker로 oracle 실행

docker run --name {원하는 이름} -d -p 1521:1521 -e ORACLE_SID={SID설정} -e ORACLE_PWD={자신의 비밀번호} -e ORACLE_CHARACTERSET=KO16MSWIN949 -v {원하는 위치}:/opt/oracle/oradata doctorkirk/oracle-19c

🤔위 명령어를 통해 19c버전의 오라클을 실행할 수 있습니다. {}안의 내용만 알맞게 설정하셔서 사용한다면 크게 문제 없을 것으로 생각이 됩니다.

2. oracle 접속

  1. docker exec -it {오라클 컨테이너 이름} bash
    실행중인 오라클에 접속하는 명령어업니다.
  1. sqlplus / as sysdba

    🫡관리자 계정으로 접속하는 명령어입니다.
    접속에 성공할 경우 위와같이 나오게 됩니다.
  1. create user {name} identified by {비밀번호}
    GRANT DBA TO {name};
    유저 생성 및 권한 부여(위 권한은 모든 권한을 부여한다는 의미입니다.)
  • GRANT ALL PRIVILEGES TO {username};
    이 명령어는 사용자에게 데이터베이스의 모든 현재 객체에 대한 모든 권한을 부여합니다.
    그러나 이 명령어는 데이터베이스의 시스템 권한을 부여하지 않습니다.
    즉, 테이블, 뷰, 시퀀스 등의 객체에 대한 CRUD 작업은 가능하지만, 사용자 생성, 데이터베이스 설정 변경 등의 시스템 작업은 수행할 수 없습니다.
  • GRANT DBA TO {username};
    이 명령어는 사용자에게 DBA 롤을 부여합니다.
    DBA 롤은 데이터베이스의 모든 시스템 권한을 포함하므로, 이 롤을 가진 사용자는 데이터베이스에서 거의 모든 작업을 수행할 수 있습니다.
    사용자 관리, 시스템 설정 변경, 백업 및 복구 등의 작업도 가능합니다.

저는 연습용도로 사용하기 위해 DBA를 주었습니다. 실제로는 위험하기에 DBA Role을 주는 것을 권장하지 않습니다.

  1. SQL> ALTER USER {name} ACCOUNT UNLOCK;
    잠겨있을 경우 위 명령어를 쳐주시면 됩니다.

5.🫠sqlplus를 사용하면 usernamepassword를 적으라고 나오는데 이 때 위에서 만든 계정을 접속해보시고 접속에 성공하실 경우 성공입니다. (만약 현재 sysdba로 접속한 경우라면 exit로 나오신 후에 실행해보시면 됩니다.)

3. sqldeveloper로 접속

  • Name: 자신이 원하는 이름으로 접속
  • 사용자이름: sys 또는 자신이 만든 유저이름
  • 비밀번호: 자신이 설정한 비밀번호
  • SID: 위에서 설정한 SID(설정을 건드리지 않았다면 그대로 두시면 됩니다)

성공 할 경우의 이미지

🥳테스트 접속을 실행해보시면 아래와 같이 상태:성공이라고 나오게 됩니다.

접속 완료

profile
greenTea입니다.

0개의 댓글