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버전의 오라클을 실행할 수 있습니다. {}안의 내용만 알맞게 설정하셔서 사용한다면 크게 문제 없을 것으로 생각이 됩니다.
docker exec -it {오라클 컨테이너 이름} bash
실행중인 오라클에 접속하는 명령어업니다.
sqlplus / as sysdba
🫡관리자 계정으로 접속하는 명령어입니다.
접속에 성공할 경우 위와같이 나오게 됩니다.
create user {name} identified by {비밀번호}
GRANT DBA TO {name};
유저 생성 및 권한 부여(위 권한은 모든 권한을 부여한다는 의미입니다.)
GRANT ALL PRIVILEGES TO {username};
이 명령어는 사용자에게 데이터베이스의 모든 현재 객체에 대한 모든 권한을 부여합니다.
그러나 이 명령어는 데이터베이스의 시스템 권한을 부여하지 않습니다.
즉, 테이블, 뷰, 시퀀스 등의 객체에 대한 CRUD 작업은 가능하지만, 사용자 생성, 데이터베이스 설정 변경 등의 시스템 작업은 수행할 수 없습니다.GRANT DBA TO {username};
이 명령어는 사용자에게 DBA 롤을 부여합니다.
DBA 롤은 데이터베이스의 모든 시스템 권한을 포함하므로, 이 롤을 가진 사용자는 데이터베이스에서 거의 모든 작업을 수행할 수 있습니다.
사용자 관리, 시스템 설정 변경, 백업 및 복구 등의 작업도 가능합니다.저는 연습용도로 사용하기 위해 DBA를 주었습니다. 실제로는 위험하기에 DBA Role을 주는 것을 권장하지 않습니다.
SQL> ALTER USER {name} ACCOUNT UNLOCK;
잠겨있을 경우 위 명령어를 쳐주시면 됩니다.
5.
🫠sqlplus
를 사용하면 username과 password를 적으라고 나오는데 이 때 위에서 만든 계정을 접속해보시고 접속에 성공하실 경우 성공입니다. (만약 현재 sysdba로 접속한 경우라면 exit로 나오신 후에 실행해보시면 됩니다.)
- Name: 자신이 원하는 이름으로 접속
- 사용자이름:
sys
또는 자신이 만든 유저이름- 비밀번호: 자신이 설정한 비밀번호
- SID: 위에서 설정한 SID(설정을 건드리지 않았다면 그대로 두시면 됩니다)
성공 할 경우의 이미지
🥳테스트 접속을 실행해보시면 아래와 같이 상태:성공이라고 나오게 됩니다.
접속 완료