DB160705 아몰라 일단 쓰고봐 노트
C:\Documents and Settings\Administrator> set oracle_sid=orcl
C:\Documents and Settings\Administrator> sqlplus / as sysdba --무조건 입장
SQL> alter user sys identified by ...; --암호 수정
SQL> alter user sysem identified by ...;
SQL> alter user scott account unlock; --계정 잠금 해제
SQL> alter user scott identified by ...;
계정 만들기
conn system/oracle --system 계정으로 접근
create user user1 identified by pwd1; --user1 계정을 만들고 암호는 pwd1
grant connect,resource to user1; --DB에 접근이 허용되고, 자원 처리가 가능해지도록 권한 부여
user가 부여받은 권한 명세
select * from session_privs;
grant select,insert,update on abc to tom;
grant all on abc to user1, user2; --모든 계정권한을 다줌.
revoke delete on abc from user1; --권한을 뺏음.
revoke all on abc from user1; -- 권한을 뺏음.
create table rain(bun number, ir char(10)); -- 테이블 생성
insert into rain values(1,'rain'); -- 행 생성
계정(사용자) 생성 및 권한, 보안 설정 - 시스템이나 시스계정을 가진 사람만 가능 계정 만드는 법 : create user 유저명 identified by 비밀번호 예 ) create user user1 identified by 123; // 비밀번호가 123이고 유저명이 user1인 유저 생성 계정 삭제하는 법 : drop user 유저명; 예) drop user user1; //user1의 계정을 삭제한다 만약 지우려는 사용자가 접속중이거나 테이블을 가지고 있으면 삭제 불가 cmd에서 사용자 넘어가기 : conn 유저명/패스워드 예) conn user1/123; 권한 주는 법 : grant 범위 to 사용자명; grant connect to user1; user1에 연결할수 있는 권한 grant resource to user1; user1에 기본 기능을 줄수 있는 권한 grant create table to user1; user1에 테이블을 만들수 있는 권한 grant all to user1; user1에 모든 권한을 줌 시스템 계정은 절대적인 권한이 있기때문에 다른 계정이 만든 테이블을 볼수 있다. 일반 계정에서 다른 계정의 테이블을 보는 것은 권한이 없이는 불가능하다. 사용자에게 테이블과 뷰에 대한 권한 주는 법 : grant 범위 on 테이블명(뷰명) to 유저 예) grant select on buser to user2; // user2에게 buser 테이블을 select 할수있는 권한을 줌 grant select,update on buser to user2,user1; //user2와 user1에게 buser 테이블을 select과 update를 할수있는 권한을 줌 grant all on sawon to user1; // user1에게 사원 테이블에 대한 모든 권한을 줌 grant select on v1 to user1; // user1에게 v1(view)을 select 권한을 줌 권한을 취소 하는 법 : revoke 범위 on 테이블 from 사용자 예) revoke all on sawon from user1; // user1의 사원 테이블에 대한 모든 권한을 취소함 |
roll ( 사용자 그룹 )
각각의 사용자에게 권한을 줬다 뺐었다 할 수 있고, 롤(그룹)에게도 권한을 줬다 뺐었다 할 수 있다,
롤(그룹)안에 있는 모든 사용자에게 영향이 간다.
create role insa; -- 롤 생성
grant insa to tom, tom2; -- 롤 권한 부여
revoke insa from tom, tom2; -- 롤 권한 취소
role 만드는 법 : create role 롤명
롤을 쓰는 이유는 한명씩 따로따로 권한을 주기 힘들기 때문에 비슷한 집단을 만들어서 한번에 권한을 주기 위해
예) create role insa; // 롤명이 insa인 롤 생성
생성한 role에 사용자 추가하는 법 : grant 롤명 to 유저명;
예) grant insa to user1; -- insa라는 이름을 가진 롤에 사용자명이 user1인 유저 추가
grant broadcast to mbc; -- broadcast라는 이름을 가진 롤에 사용자명이 mbc인 유저 추가
생성한 role에 테이블 권한 주기 : grant 범위 on 테이블명 to 롤명
예) grant select on gogek to insa; // insa 롤에 gogek테이블을 select 할수 있는 권한 을 줌
role 삭제하는 법 : drop role 롤명;
* 롤을 삭제해도 그 안에 있는 사용자는 삭제가 되지 않고 롤에 있던 권한이 사라진다.
예)drop role insa; // insa롤을 삭제한다.
|
grant create synonym to tom; -- 권한 부여
create synonym abctab for scott.abc; -- 동의어 생성
create public synonym abctab2 for scott.abc; -- 동의어 생성
비공개 synonym 만드는 방법 : create synonym 이름 for 사용자명.테이블명
예) create synonym bu for scott.buser;
공개 synonym 만드는 방법 : create public synonym 이름 for 사용자명.테이블명
예) create public synonym bu2 for scott.buser;
생성 후
abctab ---> scott.abc 명렁문 ---> 사용되는
abctab2 ---> scott.abc
rename abc to kbs; -- abc테이블을 kbs로 이름을 바꿔줌
synonym은 원본테이블을 참조하여 사용하는 것인데, 원본테이블의 이름을 바꿔버리면 의미가 사라진다.
pulic으로 테이블을 만들면 어디서든 먹힌다. (전역)
synonym은 만든 user가 지울 수 있다.
비공개 synonym 삭제하는 방법 : drop synonym 동의어명
예) drop synonym bu; -- 비공개 synonym은 생성한 테이블에서 가능
공개(public synonym) 삭제하는 방법 : drop public synonym 동의어명
* system 계정에서만 가능하다
예) drop public synonym bu2;
'📁 공부정리 > DB' 카테고리의 다른 글
DB160705 일단 쓰고보자 (SQL / PL) (0) | 2016.07.05 |
---|---|
DB 160630 (0) | 2016.06.30 |
DB 160628 (0) | 2016.06.28 |