Oracle DB의 관리자 계정> 계정을 생성하고 권한을 부여하기 위해서는 sys계정으로 접속해야 한다.
※ sysdba = sys 계정이 바라보는 물리적인 공간
명령프롬프트 Ver.
sys 계정은 비번을 볼 수 없어 재정의 해서 사용
sys 계정 접속
※ normal 계정 접속 방법
CREATE TABLESPACE [테이블 스페이스 이름]
DATAFILE '[저장위치\\저장이름.dbf]'
SIZE [스페이스 크기]
[방법 1] SELECT [ ] FROM dba_data_files => 데이터사전의 데이터파일 테이블
[방법 2] SELECT [ ] FROM v$datafile => 뷰의 데이터파일
[방법 1]
[방법 2]
※ BLOCKS: 데이터를 담을 때 상자(4K 혹은, 8K)에 담는다.
※ BLOCK_SIZE: 상자 하나의 크기 => 8K가 디폴트로 정해졌음을 알 수 있다.
※ PCTFREE 10 => 상자 하나를 가득채우지 않고 10%를 남긴다.
[이유] 후에 업데이트 등으로 인해 부족하게 되면 다음 상자에 채워지게 되는 데,
이때 체이싱이 일어나게 된다.
CREATE USER [계정 이름] IDENTIFIED BY [계정암호]
DEFAULT TABLEPACE [테이블스페이스 이름]
[테이블 스페이스 변경 방법]
alter user [유저명] default tablespace [테이블 스페이스명]
권한을 부여받은 사용자는 그 권한을 부여할 수 있다.
EX)
- GRANT CREATE SESSION TO [계정 이름] WITH ADMIN OPTION => 접근권한 부여
- GRANT CREATE TABLE TO [계정이름] WITH ADMIN OPTION => 테이블 생성
- CREATE VIEW TO [계정이름] WITH ADMIN OPTION => 뷰생성
※ SESSION = 사용자가 DB 서버에 접속할 때 논리적인 이름, 식별자 역할을 하는 아이
※ WITH ADMIN OPTION = 계정의 옵션과 같이
- GRANT SELECT ON [계정이름.테이블이름] TO [권한을 받는 계정]
: BANK 계정의 MEMBER 테이블에 대한 SELECT 권한을 SCOTT에게 부여
- GRANT UPDATE, DELETE ON [계정이름.테이블이름] TO [권한을 받는 계정]
: BANK 계정의 MEMBER 테이블에 대한 UPDATE, DELETE 권한 을 SCOTT에게 부여
결과>> SCOTT 계정에서 BANK의 MEMBER테이블을 SELECT 할 수 있게 됨
명령프롬프트 Ver.
EX)
GRANT CONNECT, CONNECT, CREATE VIEW TO [계정이름]
REVOKE [권한] FROM [계정이름]