프로그래머의 삶 Programmer's Life/Database-Oracle&MySQL

계정 생성및 권한 부여

Oliver's World 2008. 11. 3. 13:58
728x90

--연습 계정 생성
SQL> conn /as sysdba
연결되었습니다.

SQL> create user sky identified by pass default tablespace users;

사용자가 생성되었습니다.


-------------------------------------------------------


create user 시 옵션


1. default tablespace - 지정되지 않으면 사용자가 만드는 객체는 사용자의 디폴트 테이블스페이스에 보관된다. 지정되지 않으면 디폴트로 SYSTEM이 이용된다.


2. temporary tablespace - 쿼리 내의 정렬 등에 이용되는 임시 세그먼트이며, 사용자의 임시 테입ㄹ스페이스 내에 할당된다. 오라클 9i이전까지 SYSTEM테이블스페이스가 디폴트엿으며, 오라클 9i부터는 TEMP가 디폴트 임시 테이블스페이스로 이용된다.


3. quota - 사용자에게는 테이블스페이스 내에 데이터를 저장할 수 있는 할당량이 주어진다. 할당량은 사용자가 테이블스페이스 내에 할당할 수 있는 최대 공간이다.


3. password expire - 이절을 포함시키면 사용자는 청므 로그인 할 때 자신의 암호를 변경해야 한다.


-------------------------------------------------------



--기본 권한(롤) 부여
SQL> grant connect, resource to sky;

권한이 부여되었습니다.


--------------------------------------------------------


grant dba to [USER_ID]



일 경우 DBA의 120가지 시스템 권한을 가진 롤....DB에 관련된 모든 작업이 허용된다.


-------------------------------------------------------



SQL> alter user jjm identified by jjm
  2  ;

사용자가 변경되었습니다.(사용자 비밀번호 변경)


-------------------------------------------------------


alter user <사용자 아이디> account [lock|unlock]


사용자 계정 잠금/해제


-------------------------------------------------------


테이블스페이스 할당량 변경하기


alter user [user_id]

quota unlimited on users

quota 10m no temp

quota 0m on system


-  unlimited는 사용자가 users 테이블스페이스가 완전히 채워질 때까지 데이터를 저장할 수 있음을 지정하는 키워드이다. temp 테이블스페이스의 저장공간 할당량은 10m로 지정했으며 system테이블스페이스의 할당량은 0m로 지정했다.


-------------------------------------------------------


사용자 삭제


- drop user 명령으로 가능 , 선택적 포함 키워드인 cascade 존재

- cascade가  drop user 명령 뒤쪽에 포함되면 사용자를 삭제하기 전에 사용자의 모든 객체(테이블, 뷰 , 프로시저 코드를 모두 포함) 를 제거해야 한다. 사용자의 모든 객체 뿐만 아니라, 삭제되는 사용자 테이블을 참조하는 다른 사용자 스키마내의 제약조건도 삭제되며, 삭제되는 사용자의 객체를 참조하던 다른 사용자의 객체 역시 무효화된다.


-------------------------------------------------------


-------------------------------------------------------

728x90