C. Oracle

oracle DCL

sfeg 2018. 1. 18. 21:25

DCL - date control language  (grant, revoke)

 
 
- Oracle_설치시  기본 user / pw
------------------------------------------------------------------------------------------
scott/tiger                       => end-user
sys/change_on_install    => DBA (oracle 8부터~)
system/manager             => DBA (DBA인 sys계정으로 부터 전권을 위임받은 계정)
internal/oracle                 => oracle 7대의 관리자 계정 (~8i까지는 사용가능하다.)
hr/hr                                => oracle9i~ 시작된 예제계정
------------------------------------------------------------------------------------------
ex) sqlplus "/as sysdba"
ex) sys/change_on_install  as  sysdba
 
 
1.1 user 생성
    create  user  유져명
    identified  by  비밀번호;
    ex) create  user  user1
          identified  by  tiger;
 
1.2 user 패스워드 변경    
      alter  user  유져명
      identified  by  변경할 비밀번호;
      ex) alter user user1 
            identified by lion
 
1.3 user  삭제
      drop user 삭제할 유져명
      ex) drop user user1;
 
      cascade : 테이블이 있는 user는 바로 삭제되지 않는다. 이럴때는 끝에다가 cascade를 사용하여
                            지워준다.
      ex) drop user scott cascade;   
 
  
GRANT
2. user  권한설정     
    - System 권한    :  grant 권한명 to 사용자명;
                                  grant  connnet,resource..(권한)  to 유저명;
                                  ex) grant  connect,resource  to user1;
 
 
     - Object  권한   :  grant 권한명  on object명 to 사용자명;
                                 ex)grant select on scott.emp to user1;  
                                     -> user1에게 scott의 emp 테이블을 select할수있는 권한을 준다.
                                    권한 => select, insert, update, delete, alter,index,execute,references
            
 
 
REVOKE
3. user  권한박탈
   - System 권한박탈:  revoke 권한명 from 박탈할유저명;
                                 ex) revoke select any table from user1
 
    -Object  권한박탈:  revoke 권한명 on object명(테이블명..) from 박탈할유저명;
                                 ex) revoke select on emp from user1;
 
 
 
 
ps. SCHEMA (스키마)       => object(table...) 가 저장될수 있는 도메인(영역)
                                                       유져명과 스키마명은 동일하다.
                                                       ex) select * from scott.emp    
                                                          - > 다른계정으로 접속하여 scott계정의 테이블을 보고 싶을때..