[ DB 사용자 관리(생성,변경,삭제) 및 사용자 정보 알아보기 ]
- 사용자 계정 : 논리적인 의미
- SYS계정
: 데이터베이스내의 모든 권한을 갖는 최상위 레벨의 사용자
- SYSTEM 계정
: SYS 사용자로부터 "DBA권한"을 받은 사용자
. 새로운 사용자를 추가, 변경, 삭제할 수 있다.
. 사용자별 공간할당, 패스워드관리, 세션관리 등을 할 수 있다.
. 데이터베이스 오브젝트(테이블, 뷰, 트리거...)는 "사용자별로" 생성된다.
. 데이터베이스 오브젝트를 생성한 사용자를 그 오브젝트의 소유자(owner)라 한다.
--[ 사용자 생성 ]
-- : dba권한을 가진 사용자만 가능하다.
-- 형식 ) create user 사용자ID identified by 패스워드
-- 해당 사용자가 생성하는 객체가 저장될 테이블 스페이스도 지정할 수 있다.
-- create user 사용자ID identified by 패스워드 default tablespace 테이블스페이스명
-- temporary tablespace temp /*정렬을 위한 temporary tablespace도 생성 가능*/
-- quota 20M on appl_data quota 10M on system; /*tablespace 용량 할당*/
-- 테이블스페이스를 지정하지 않으면, 기본적으로 system tablespace를 사용하게 된다.
create user user1 identified by user1
default tablespace test_1;
-- 사용자 정보 검색 : dba_users에서 검색
select username from dba_users;
select * from dba_users;
/*
[ 사용자 변경 ]
- 패스워드 변경 >
alter user 사용자명 identified by 바꿀비밀번호;
- 사용자의 테이블스페이스 변경>
alter user 사용자명 default tablespace 바꿀테이블스페이스명;
- 사용가능 용량 변경
alter user 사용자명 quota 10M on 테이블스페이스명;
alter user user1 identified by 1234;
alter user user1 quota 10 on test_1;
-- 전체 사용자에 대한 정보를 검색할 때
-- 테이블스페이스 정보, 패스워드, 아이디를 포함해 사용자의 정보를 볼 수 있다.
select * from dba_users;
-- 현재 로그인한 사용자에 대한 정보만을 검색할 때
select * from user_users;
[ 사용자 제거 ]
형식 )
drop user 사용자ID;
-- 해당사용자가 가지고 있는 객체(뷰,트리거 등)도 전부 삭제하는 방법(cascade)
-- 잘 사용하지 않는다.(신중하게 해야한다. 대부분 위 방법으로 삭제한다.)
drop user 사용자ID cascade;
*/
create user user2 identified by user2;
select * from dba_users;
-- 사용자 제거
drop user user2;
select username from dba_users where username = 'user2';
-- 현재 자신의 계정에 대한 정보를 검색할 때
select * from user_users;
[ 사용자 공간 사용 정보 알아보는 방법 ]
- 사용자 공간 정보 알아보기 위한 딕셔너리 : user_ts_quotas, dba_ts_quotas
*/
select * from USER_TS_QUOTAS;
select * from SYS.DBA_TS_QUOTAS;
-- MAX_BYTES 항목이 -1인 값의 의미는 최대 용량 제한이 없음을 의미(unlimited)
[ 사용자의 세션 정보를 알아보는 딕셔너리 ]
-> v$session
현재 접속중인 사용자들의 세션 정보를 알 수 있다.
select sid, serial#, username, program from v$session;
-- program : 어떤 프로그램을 통해 접속했는지
-- username : 사용자ID
-- HR에 접속한 것의 세션을 끊어버리기
-- 세션을 중지시키기 : alter system kill session 'SID,SERIALNUM';
alter system kill session '93,275';
select sid, serial#, username, program from v$session;
'스터디 > DB(ORACLE)' 카테고리의 다른 글
대용량 데이터베이스 솔루션 조광원 선생님 동영상 강의 (18) | 2017.10.28 |
---|---|
ORACLE 비밀번호(password) 관리 (0) | 2017.09.28 |
ORACLE 인덱스(Index) 개념/종류/주의사항/활용,관리 (0) | 2017.09.27 |
ORACLE 테이블스페이스(table space) -(2) (0) | 2017.09.21 |
ORACLE 테이블스페이스(Table Space) -(1) (0) | 2017.09.21 |