Carpe diem  
  Front Page
Notice | Tag | Location | Guestbook | Admin   
 
'profile'에 해당하는 글(1)
2007/01/24   Profile을 이용한 사용자 자원 관리


2007/01/24 11:44 2007/01/24 11:44
Profile을 이용한 사용자 자원 관리
출처 : http://database.sarang.net/?inc=read&am ··· page%3D1

Oracle9i Profile_1
==================
PURPOSE
------------------
Profile을 이용한 사용자 자원 관리에 대해서 알아보자

Explanation
-------------------
(1) Profile을 사용할 수 있도록 환경 설정

SQL> connect system
Enter password:
Connected.

SQL> show parameter resource

NAME                                              TYPE          VALUE
------------------------------------ ----------- ------------------------------
enqueue_resources                           integer        968
resource_limit                                    boolean       FALSE
resource_manager_plan                      string

SQL> alter system set resource_limit = true scope=spfile;

System altered.

# resource_limit를 true로 변경한 후 DB 재시작.

SQL> shutdown immediate

Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup

ORACLE instance started.
Total System Global Area  236000476 bytes
Fixed Size                   451804 bytes
Variable Size             201326592 bytes
Database Buffers           33554432 bytes
Redo Buffers                 667648 bytes
Database mounted.
Database opened.

SQL> show parameter resource

NAME                                              TYPE          VALUE
------------------------------------ ----------- ------------------------------
enqueue_resources                           integer        968
resource_limit                                    boolean      TRUE
resource_manager_plan                     string

(2) Profile에는 어떤것들이 있는지 조회해 보자

SQL>desc dba_profiles;

Name                                                       Null?      Type
----------------------------------------- -------- ----------------------------
PROFILE                                                  NOT NULL VARCHAR2(30)
RESOURCE_NAME                                    NOT NULL VARCHAR2(32)
RESOURCE_TYPE                                                     VARCHAR2(8)
LIMIT                                                                       VARCHAR2(40)

SQL> select resource_name, resource_type from dba_profiles;

RESOURCE_NAME                      RESOURCE
-------------------------------- --------
COMPOSITE_LIMIT                      KERNEL
FAILED_LOGIN_ATTEMPTS           PASSWORD
SESSIONS_PER_USER                 KERNEL
PASSWORD_LIFE_TIME                PASSWORD
CPU_PER_SESSION                     KERNEL
PASSWORD_REUSE_TIME            PASSWORD
CPU_PER_CALL                          KERNEL
PASSWORD_REUSE_MAX             PASSWORD
LOGICAL_READS_PER_SESSION   KERNEL
PASSWORD_VERIFY_FUNCTION     PASSWORD
LOGICAL_READS_PER_CALL         KERNEL
PASSWORD_LOCK_TIME               PASSWORD
IDLE_TIME                                   KERNEL
PASSWORD_GRACE_TIME            PASSWORD
CONNECT_TIME                          KERNEL
PRIVATE_SGA                             KERNEL

(3) Profile 생성

SQL>create profile test_profile limit
  2  sessions_per_user 2
  3  cpu_per_session unlimited
  4  cpu_per_call 6000
  5  idle_time 1
  6  connect_time 480
  7  /

Profile created.

# 세션당 2명의 유저를 허용하고 Session의 접속후 1분 동안 아무런 작업이 일어나지 않는
  다면 자동으로 Session을 종료한다.
 
# Profile을 생성하여 사용자에게 지정하지 않으면 새롭게 생성되는 모든 사용자는 Default로
  정의된 모든 Profile의 기능을 수행할수 있다.

# connect_time은 8분( 480 )동안만 Session을 사용할 수 있게 제한한다.

SQL> select profile, resource_name, limit from dba_profiles
  2  where profile = 'TEST_PROFILE';

PROFILE                                  RESOURCE_NAME                      LIMIT
------------------------------ -------------------------------- --------------
TEST_PROFILE                         COMPOSITE_LIMIT                     DEFAULT
TEST_PROFILE                         SESSIONS_PER_USER                2
TEST_PROFILE                         CPU_PER_SESSION                    UNLIMITED
TEST_PROFILE                         CPU_PER_CALL                         6000
TEST_PROFILE                         LOGICAL_READS_PER_SESSION  DEFAULT
TEST_PROFILE                         LOGICAL_READS_PER_CALL       DEFAULT
TEST_PROFILE                         IDLE_TIME                                 1
TEST_PROFILE                         CONNECT_TIME                         480
TEST_PROFILE                         PRIVATE_SGA                            DEFAULT
TEST_PROFILE                         FAILED_LOGIN_ATTEMPTS          DEFAULT
TEST_PROFILE                         PASSWORD_LIFE_TIME               DEFAULT
TEST_PROFILE                         PASSWORD_REUSE_TIME           DEFAULT
TEST_PROFILE                         PASSWORD_REUSE_MAX            DEFAULT
TEST_PROFILE                         PASSWORD_VERIFY_FUNCTION    DEFAULT
TEST_PROFILE                         PASSWORD_LOCK_TIME              DEFAULT
TEST_PROFILE                         PASSWORD_GRACE_TIME            DEFAULT

#설정한 Profile이 제대로 적용되었는지 확인.

(4) 생성한 Profile을 사용자에게 적용시키고 결과를 확인한다

SQL> alter user kigook profile test_profile;
User altered.

SQL> connect kigook/kigook
Connected.

SQL> select * from t;

ID
--
aa

# 1분후에 다시 같은 문장을 조회해 보자.

SQL> /

select * from t
*
ERROR at line 1:
ORA-02396: exceeded maximum idle time, please connect again

# 접속후 1분간 아무런 작업이 없으면 자동으로 Session을 종료시키는지 확인.

(5) Profile의 수정

SQL> connect system 

Enter password:
Connected.

SQL>alter profile test_profile limit
  2  idle_time 10
  3  /

Profile altered.

SQL> select resource_name, limit from dba_profiles
  2  where resource_name like '%IDLE_TIME%';

RESOURCE_NAME                       LIMIT
-------------------------------- ----------------------------------------
IDLE_TIME                                  UNLIMITED
IDLE_TIME                                  10

# 변경된 Profile의 내용 확인.

Conclusion
----------

Profile을 적용하여 계정에 대한 관리에 대해서 알아보았다. 다음 Note에서 다른 부분에 대
해서 알아보겠다.

----------------------
Written by Kigook Choi
----------------------

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
Tag : , ,


BLOG main image
Passionate, Crazy
 Notice
 Category
전체 (71)
여행 (22)
취미/여가 (8)
지식/공부 (28)
독서/감상 (6)
 TAGS
미샤 합격방법서 이라크 profile 여름휴가 와인 아이스쇼 후원 보고서 단일연결리스트 태터 환형연결리스트 ASP.NET 먹거리 wowpen 한국디지털대학 설봉호 딴수이 주죠역 호텔 해모수 ELS구로 방글라데시 여행 스타 해외 플래시게임 결혼식 금강산 Excel 한글티 메이지신궁 자바 부동산 로만자 바이트 미래 코식이 코끼리 한국인 아기 호우 objective-C 시먼딩 독서 더바디샵 간사이 도전 댓글 후지쯔 네이버 여행준비 스린야시장 쿼리문 아저씨 나눔 panda 가을 행복 FLEX stripTags 멀티캠퍼스 부산항 하고싶은것 Beans 북카페 MS 초고수 뮤직비디오 제거 근황보고 KC MP3 공감 java 의미 MFC 엠티 온라인 NSString KFC 도쿄 댄스 쭝샤오거리 경영 fox KTX 선물 웹마케팅 야구 iphone 비트 매니아 오타쿠 다이어리 요요기공원 Mac
 Calendar
«   2012/02   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      
 Recent Entries
[Hibernate] criteria or...
[Hibernate] 중복된 row...
[freemarker] 숫자 콤마 빼기
고베의 일품 야경을 늦게...
간사이 지역 여행 준비하기
object param 값
[FLEX] Renderer를 이용하...
아이폰 SDK - md5
NSString 문자열 길이를 U...
JSP Get 방식 한글 parame... (3)
 Recent Comments
get방식으로 받은 한글이...
데잇 - 2009
당연히 해봤죠 ~ ^^; 여...
euni - 2009
request.setCharacterEnco...
꼼즈 - 2009
궁금하던 정보 잘 얻고 갑...
해피포터 - 2008
나는 언제 성장하는 거냐?
SEAN。 - 2008
받아들이는 관점에 따라...
euni - 2008
성장이 맞는 것 같지만,...
euni - 2008
거럼 뭐가 메카지? ㅋㅋㅋ...
euni - 2008
종합선물세트 아닐까요 ㅎㅎ
ho - 2008
성장만화 아니었습니까?
SEAN。 - 2008
 Recent Trackbacks
 Archive
2011/10
2010/06
2010/03
2009/09
2009/06
 Link Site
소니톤/개발/애니/여행/e-...
지식보다 지혜를...
 Visitor Statistics
Total : 185885
Today : 7
Yesterday : 44
태터툴즈 배너
rss