User
조회
--User
SELECT * FROM ALL_USERS;
--DBA
SELECT * FROM DBA_USERS;
생성
CREATE USER user_name IDENTIFIED BY password;
비밀번호 변경
ALTER USER user_name IDENTIFIED BY password;
권한
GRANT CONNECT, RESOURCE TO user_name;
--프로시저 실행 권한
GRANT EXECUTE ON procedure_name TO user_name;
--DBA 권한
GRANT DBA TO user_name;
--SYSDBA 권한
GRANT SYSDBA TO user_name;
--테이블 스페이스 권한
GRANT UNLIMITED TABLESPACE TO user_name;
--가지고 있는 시스템 권한 확인
SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE = 'user_name';
--가지고 있는 롤 확인 (시스템 권한은 롤에 포함)
SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'user_name';
--가지고 있는 롤에 있는 시스템 권한 확인
SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE = 'role_name';
잠금
ALTER USER user_name ACCOUNT LOCK;
ALTER USER user_name ACCOUNT UNLOCK;
비밀번호 만료 명령
ALTER USER user_name PASSWORD EXPIRE;
삭제
DROP USER user_name CASCADE;
CASCADE가 없으면 ORA-01922가 발생함
기본 테이블스페이스 변경
ALTER USER user_name DEFAULT TABLESPACE tablespace_name;
기본 테이블스페이스가 아닌 테이블스페이스에 대한 사용
--size만큼 사용할 수 있도록 함
ALTER USER owner_name QUOTA size ON tablespace_name;
--제한 없음
ALTER USER owner_name QUOTA UNLIMITED ON tablespace_name;