DATABASE DCL

Let's Just Go·2022년 5월 8일
0

DATABASE

목록 보기
7/11

DATABASE

DCL

CREATE USER

  • CREATE USER
    • 사용자 계정 생성

      -- 사용자 계정 모두 확인 
      SELECT * FROM all_users;
      
      -- 계정 생성 명령 
      CREATE USER user2 IDENTIFIED BY user2;
      -- CREATE USER 아아디 IDENTIFIED BY 비밀번호;
      -- sys나 system으로 접속해야 계정을 생성할 수 있음
      -- hr_practice의 접속을 끊고 system으로 접속하여 계정 생성

  • GRANT
    • 사용자에게 권한을 부여

    • GRANT (CREATE ON | SELECT ON | ...) [테이블이름] TO [유저이름];

    • RESOURCE, CONNECT, DBA TO [유저이름] : DB안의 거의 모든 권한을 부여

      /*
      CREATE USER : DB 유저 생성 권한 
      CREATE SESSION : DB 접속 권한 
      CREATE TABLE : 테이블 생성 권한 
      CREATE VIEW : 뷰 생성 권한 
      CREATE SEQUENCE : 시퀀스 생성 권한 
      ALTER ANY TABLE  : 어떤 테이블도 수정할 수 있는 권한 
      INSERT ANY TABLE : 어떤 테이블도 데이터를 삽입하는 권한 
      SELECT ANY TABLE ...
      
      SELECT ON [테이블 이름] TO [유저 이름] : 특정 테이블만 조회할 수 있는 권한 
      INSER ON ...
      UPDATE ON ...
      RESOURCE, CONNECT, DBA TO [유저이름]
      */
      GRANT
          CREATE SESSION
      TO user2;
      --USER2에게 DB접속 권한 부여
      GRANT
          CREATE ANY TABLE
      TO user2;
      
      GRANT SELECT ON hr.employees TO user2;
      GRANT connect, resource, dba TO user2;
      --USER2에 해당 DB에 대한 거의 대부분의 권한을 부여
      
      CREATE TABLE t_test (
          bno NUMBER(3)
      );
      
      CREATE SEQUENCE t_test_seq;
      
      INSERT INTO t_test VALUES ( t_test_seq.NEXTVAL );
      
      SELECT
          *
      FROM
          t_test;

REVOKE

  • REVOKE
    • 사용자에게 부여된 권한을 회수

    • REVOKE 권한 FROM 유저;

      --권한 회수 
      REVOKE connect, resource FROM user2;
      --USER2에 위의 권한을 회수하겠다 라는 뜻
      --USER2말고 더 상위에 있는 사용자에 들어가서 REVOKE해야함

TABLE SPACE

  • TABLE SPACE
    • DB객체 내 실제 데이터가 저장되는 공간

    • 테이블 스페이스를 생성하면 저장된 경로에 실제 파일로 정의한 용량만큼 파일이 생성되고 데이터가 물리적으로 저장

      SELECT
          *
      FROM
          dba_tablespaces;
      
      --USERS 테이블 스페이스를 기본 사용공간으로 지정 
      ALTER USER user2
          DEFAULT TABLESPACE user_tablespace
          QUOTA UNLIMITED ON users;
      
      -- 테이블 스페이스 내 객체를 전체 삭제 
      DROP TABLESPACE user_tablespace INCLUDING CONTENTS;
      
      -- 물리적 파일까지 한번에 삭제하는 법 
      DROP TABLESPACE user_tablespace INCLUDING CONTENTS AND DATAFILES;

profile
안녕하세요! 공부한 내용을 기록하는 공간입니다.

0개의 댓글