-- resource_limit = true
alter system set resource_limit = true;
-- password profile 생성
create profile prof_passwd limit
failed_login_attempts 5
password_lock_time 30
password_life_time 30
password_reuse_time 30;
-- resource profile 생성
create profile prof_resource limit
cpu_per_session 1500
connect_time 480
idle_time 15;
---------------------
-- scott가 적용 받고 있는 Profile 확인
select username, profile
from dba_users
where username = 'SCOTT';
-- 해당 profile에 어떤 내용이 들어있는지 확인
set pagesize 50
set line 200;
col profile for a15
col resource_name for a25
select * from dba_profiles;
where profile='PROF_PASSWD';
-- scott에게 위에서 만든 profile 적용하기
alter user scott profile prof_passwd;
-- scott에게 위에서 만든 profile 적용하기
alter user scott profile prof_resource;
-- scott가 적용 받고 있는 Profile 확인. 마지막으로 적용한 profile만 조회됨.
-- 1명의 사용자에게 여러개의 profile을 동시에 적용할 수 없다.
select username, profile
from dba_users
where username='SCOTT';
-- profile 삭제
drop profile prof_resource;
-- 사용자에게 할당이 되어 사용중인 profile은 삭제 불가. cascade옵션을 주면 삭제가능.
-- 해당프로파일을 사용하던 사용자는 default profile을 적용받게 된다.
drop profile prof_resource cascade;
-- 확인
select username, profile
from dba_users
where username='SCOTT';
---------------------
-- create table, create session 권한을 scott에게 주기
grant create table, create session to scott;
-- create view 권한을 다른 계정에게 줄 수 있는 권한을 scott에게 주기
grant create view to scott with admin option;
-- scott로 부터 create table 권한 회수
revoke create table from scott;
-- 사용자가 가지고 있는 권한 조회하기
select * from dba_sys_privs
where grantee='SCOTT';
-- scott의 emp 테이블을 select 할 수 있는 권한을 hr에게 주기
grant select on scott.emp to hr;
-- scott의 emp 테이블을 update 할 수 있는 권한을 다른 계정에게 줄 수 있는 권한을 hr에게 주기
grant update on scott.emp to hr with grant option;
-- scott의 emp 테이블을 select 할 수 있는 권한을 hr에게서 권한 뺐기
revoke select on scott.emp from hr;
-- role 생성, role에 권한 할당하기
create role testrole;
grant create session, create table to testrole;
-- hr 사용자에세 testrole 할당하기
grant testrole to hr;
-- 어떤 사용자가 어떤 role을 사용하는지 확인
select * from dba_role_privs where grantee='HR';
-- 어떤 role에 어떤 권한이 있는지 확인
select * from dba_sys_privs where grantee='CONNECT';
select * from dba_sys_privs where grantee='RESOURCE';
'IT > Oracle' 카테고리의 다른 글
오라클 정규식 표현 (0) | 2018.08.09 |
---|---|
오라클 View, 단순뷰, 복합뷰, inline view, view 조회 및 삭제, Materialized View(MVIEW) (0) | 2018.08.09 |
오라클 인덱스 조회, 모니터링, rebuild, invisible, (0) | 2018.08.08 |
오라클 pl/sql 커서, exception, pragma, exception raise, procedure, function (0) | 2018.07.29 |
오라클 pl/sql 데이터타입, reference type(%type, %rowtype), composite type(record, table), 조건문(if, case), 반복문(for, while, loop) (0) | 2018.07.29 |