계정 생성 및 삭제 (oracle DB 11g)
계정 생성
오라클 11g버전에서는 http://{IP주소}:{포트번호}/apex/f?p=4950 에서 쉽게 만들 수 있으나, SQL문을 통해서도 계정 생성 및 권한 부여가 가능하다.
콘솔창에서 관리자 아이디로 로그인을 해야 계정 생성이 가능하다.
1 | select * from all_users; | cs |
를 통해 모든 계정을 확인 할 수 있다.
1 | create user {username} identified by {passwd}; | cs |
를 통해서 계정을 만들수 있는데, 권한을 주어야 로그인이 가능하다.
시스템 권한을 확인하는 쿼리문은
1 | SELECT * FROM SESSION_PRIVS; | cs |
이고
사용자에게 권한을 주는 것은
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | grant create session to {user_name}; --로그인이 가능하도록 권한을 줌 grant create table to {user_name}; --테이블을 만들 수 있는 권한을 줌 grant create sequence to {user_name}; --시퀀스를 만들 수 는 권한을 줌 grant create view to {user_name}; --뷰를 만들 수 있는 권한을 줌 grant create trigger to {user_name}; --트리거를 만들 수 있는 권한을 줌 | cs |
등을 이용해 줄 수 있다. 다른 방법으로는
1 2 3 4 5 6 7 | GRANT CREATE SESSION ,CREATE TABLE ,CREATE VIEW ... ... ... TO {USERE}; | cs |
을 써주는 방법이 있다
아래는 예시이다.
1 2 3 | GRANT UNLIMITED TABLESPACE TO DEMO; --관리자 계정에서 실행 --이후 DEMO계정에서 테이블 생성이 가능해진다. | cs |
1 2 | GRANT SELECT, INSERT, UPDATE ON TEST.EMP TO DEMO; --TEST 계정의 EMP테이블에 접근할 권한을 준다. | cs |
다음은
1 2 3 4 5 | alter user {user_name} default tablespace users; --테이블 스페이스 alter user {user_name} quota unlimited on users; --쓸 용량을 지정 | cs |
sid : xe (설치할때 기본 테이블 스페이스)
을 해야 로그인이 완전히 가능하다. 그런데 이때는 콘솔로만 접속이 가능하다.
그러므로 웹에서도 접속을 할 수 있게 하려면
http://{IP주소}:{포트번호}/apex/f?p=4950
에서 application express에서 관리자로 로그인을 하면 된다.
다음 Use Existing 체크 이후 빈칸을 채운 후 create을 하면 된다.
그러면 웹에서도 접속이 가능하다.
또는 11g부터는 http://{IP주소}:{포트번호}/apex/f?p=4950
에서 create new를 체크후 만들면 위의 명령어 없이 계정이 생성된다.
이렇게 만든 계정은 콘솔로도 접속이 가능하다.
권한 해제
권한의 해제는 위의 grant와 형식은 같고,
grant 대신 reboke를 사용하면 된다.
계정 삭제
1 | drop user {user name}; | cs |
의 방법으로 간단하게 제거 할 수 있다.
단 관리자 계정으로 접속을 해야한다.
SQL을 배운지 얼마 되지 않아 잘못된 내용이 있을 수 있습니다. 틀린 내용이있다면, 댓글로 달아주세요.
'DATABASE(oracleDB 11g) > SQL' 카테고리의 다른 글
[SQL]이름 지정 규칙 (0) | 2019.02.08 |
---|---|
[SQL]서브쿼리(SUBQUERY)의 추가내용_01 (0) | 2019.02.08 |
[SQL]VIEW 의 기초 (0) | 2019.02.01 |
[SQL]제약 조건(Constraints) (1) | 2019.02.01 |
[SQL]TCL(트랜잭션 관리) 기초 (0) | 2019.02.01 |