IT/Oracle2011. 4. 16. 18:08

> 데이터 베이스 유저 생성 및 관리

> 유저 인증

> 기본 저장 영역 할당

> 권한 부여 및 취소

> 롤 생성 및 관리

> 프로파일 생성 및 관리

> 표준 암호 보안 기능 구현

> 유저별 리소스 사용량 제어

 

< 6-1 DBA User계정 >

데이터 베이스 유저 계정에는 다음의 내용이 포함되어 있다.

1. 고유 유저 이름

2. 인증 방식

3. 기본 테이블 스페이스

4. 임시 테이블 스페이스

5. User Profile

6. consumer group

7. lock상태

 

1. 고유 유저 이름 : 유저 이름은 30바이트를 초과하거나 특수 문자를 포함할 수 없다.

3. 기본 테이블 스페이스 : 유저가 테이블 스페이스를 지정하지 않은 경우 객체를 지정하는 장소.

4. 임시 테이블 스페이스 : 유저가 정렬 및 임시 테이블과 같은 임시 객체를 생성할 수 있는 장소

5. User Profile : user에게 할당되는 리소스 및 암호 제한 집합.

 

테이블 생성시, 테이블의 저장위치는 다음의 우선순위에 따라 결정된다.

1. 지정된 테이블 스페이스

2. 유저가 가진 유저의 디폴트 테이블 스페이스

3. 시스템 defined스페이스

 

< 6-2 미리 정의된 계정 : SYS 및 SYSTEM >

SYS계정

-> DBA 롤이 부여됨

-> ADMIN, OPTION과 함께 모든 권한을 가짐.

-> 시작, 종료 및 일부 유지 관리 명령에 필요

-> 데이터 딕셔너리 소유

-> AWR(Automatic Workload Repository)소유

 

 

SYSTEM계정 - DBA role이 부여됩니다. SYSDBA권한은 없음.

 

* SYS및 SYSTEM계정은 데이터베이스에서 필수 계정이며 삭제할 수 없습니다.

 

< 6-3 Creating a User - 유저 생성 >

Select Administration > Schema > User & Privileges > User

선택한 이후에 Create버튼을 누릅니다.

 

다음의 절차로 진행됩니다.

1. Administration을 선택합니다.

2. Schema > User & Privileges > User

3. Object Name를 입력한 이후에 Create로 선택합니다.

4. 정보 입력창이 뜨면 기본 정보를 입력합니다.

4-1 Name, Password 입력합니다. *표시는 다 기본으로 입력해야 합니다.

4-2 Default Tablespace를 선택합니다. 표시된 부분을 클릭합니다.

선택 창이 보여지면 원하는 테이블 스페이스를 선택합니다.

4-3 초기화면 Schema > User & Privileges > Userd에서 만들어진 것을 확인이 가능합니다.

 

1. Administration을 선택합니다.

 

 

2. Schema > User & Privileges > User

 

 

 

3. Object Name를 입력한 이후에 Create로 선택합니다.

 

 

4. 정보 입력창이 뜨면 기본 정보를 입력합니다.

4-1 Name, Password 입력합니다. *표시는 다 기본으로 입력해야 합니다.

 

 

4-2 Default Tablespace를 선택합니다. 표시된 부분을 클릭합니다.

 

 

선택 창이 보여지면 원하는 테이블 스페이스를 선택합니다.

여기서 기본 테이블 스페이스를 선택하지 않으면 시스템에 정의된 기본 영구 테이블 스페이스가 사용됩니다.

 

4-3 초기화면 Schema > User & Privileges > Userd에서 만들어진 것을 확인이 가능합니다.

 

 

 

< 6-4 Authenticating Users >(유저 인증)

(Authenticating) 인증의 장점

인증은 데이터, 리소스 또는 프로그램을 사용하려는 주체의 ID를 검증하는 작업을 의미합니다.

ID를 검증하며 신뢰성이 향상됩니다. 그리고 ID를 통해 책임 소재를 명확하게 구분하는 것이 가능합니다.

 

유저를 생성시에는 이 유저에 사용할 인증 기법을 결정해야 합니다.

세가지 인증 기법이 있습니다.

Passoword

오라클 DB에 의한 암호 인증을 의미합니다.

 

External :

-> 운영 체제에대한 인증, 유저 이름이나 암호를 지정하지 않음.

-> 운영 체제 또는 네트워크 인증 서비스를 사용하여 데이터 베이스 계정에 대한 액세스를 제한

OS_AUTHENT_PREFIX를 이용

 

<External 인증 방법>

다음과 같이 선언되어 있다. OS_AUTHENT_PREFIX = OPS$

 

운영 체제의 계정 이름이 tsmith의 유저가 오라클 데이터 베이스에 연결하여 운영체제에 의해 인증받는 경우 오라클 데이터 베이스는 해당 데이트베이스 유저인 OPS$smith가 있는 지 확인하고 이 유저가 있는 경우 유저의 연결을 허용함.

 

Global

생물 통계학(Biometrics), x509인증서, 토큰 장치 및 Oracle Internet Directory 를 통해 유저 식별. Oracle Enterprise Identify Management과정 참조.

 

< 6-5 관리자 인증 >

운영 체제 보안

- DBA는 파일을 생성하고 삭제하기 위한 OS권한을 가져야 한다.

- 일반 데이터베이스 유저는 데이터베이스 파일을 생성 또는 삭제할 수 있는 OS권한을 가질 수 없습니다.

 

관리자 보안

- SYSDBA 및 SYSOPER연결은 Password file이나 OS를 통해 인증됩니다.

- OS 인증의 경우, 데이터베이스는 제공되는 유저 이름과 암호를 사용하지 않음.

- 운영체제를 통한 인증이 성공후, 유저명을 기술하지 않은 CONNECT / 연결이 적용

- OS 인증은 Password file인증보다 우선 순위가 높음.

 

< 6-6 유저 계정 Lock 해제 및 암호 재설정 >

(1) 새 암호를 입력합니다.

(2) Unlocked 체크 박스를 선택합니다.

(3) Apply를 눌러 암호를 재설정하고 유저 계정의 lock를 해제합니다.

 

아래의 BI유저를 암호를 재설정하고 Lock해제를 실시합니다.

(1) BI를 선택합니다.

(2) EDIT버튼을 선택합니다.

(3) 새 암호를 입력합니다.

(4) Unlocked 체크 박스를 선택합니다.

(5) Apply를 눌러 암호를 재설정하고 유저 계정의 lock를 해제합니다.

 

(1) BI를 선택합니다.

 

 

 

(2) EDIT버튼을 선택합니다.

 

 

(3) 새 암호를 입력합니다.

(4) Unlocked 체크 박스를 선택합니다.

(5) Apply를 눌러 암호를 재설정하고 유저 계정의 lock를 해제합니다.

 

 

< Lock 해제 확인 >

 

 

< 6-7 권한 >

두가지 권한이 존재함.

시스템 권한 : 유저가 DB에서 특정 작업 수행, 100가지 이상의 시스템 권한 존재, 테이블 스페이스 생성등.

객체 권한 : 유저가 특정 객체만 조작 가능, 유저는 테이블, 뷰, 시퀀스, 프로시저, 함수 또는 패키지 등의 특정 객체에 대해 특정 작업 수행

 

시스템 권한 부여 :

(1) Edit User 페이지 --> System Privileges탭 선택

(2) 사용 가능한 권한 리스트에서 알맞은 권한 선택하여 권한 부여

 

 

 

객체 권한 부여

Edit User페이지에서 Object Privileges를 선택

 

< 6-8 시스템 권한 취소>

 

 

- Grant명령으로 직접 부여된 시스템 권한은 REVOKE SQL문을 사용하여 취소 가능

시나리오

(1) DBA가 ADMIN OPTION을 사용하여 Jeff에게 CREATE TABLE시스템 권한을 부여합니다.

(2) Jeff가 테이블을 생성합니다.

(3) Jeff가 CREATE TABLE시스템 권한을 Emi에게 부여합니다.

(4) Emi 가 테이블을 생성합니다.

(5) DBA가 jeff에게 부여된 CREATE TABLE시스템 권한을 취소합니다.

 

< RESULT >

Jeff테이블은 여전히 존재하지만 새 테이블을 생성할 수 없습니다. Emi의 테이블은 여전히 존재하며

CREATE TABLE시스템 권한을 갖는다.

 

< 6-9 객체 권한 취소>

 

 

 

< 6 - 10 > Roll 사용시의 이점

권한 관리 용이성

동적 권한 관리 :

롤과 연관된 권한을 수정하며 그 롤을 부여받은 모든 유저는 즉시 수정된 권한을 갖는다.

 

권한의 선택적 가용성

롤을 활성화 및 비활성화하여 권한을 일시적으로 사용하지 않게 할 수 있다.

 

< 6 - 11 > user에게 roll를 할당하는 그림예

 

 

왜 사용하나?

각 유저에게 개별적으로 권한을 부여하면 시간이 너무 많이 걸리고 오류 발생 가능성이 높기 때문에

롤을 사용하여 권한 관리를 쉽게 제어한다. 보안이 향상시키도록 고안됨.

 

Roll 특성

-> 롤에도 권한 부여 취소가 가능하다.

-> 롤을 유저나 다른 롤에게 부여혹은 취소 가능

-> 롤은 롤을 부여받은 각 유저에 대해 활성화나 비활성화 가능

-> 롤은 암호를 사용할 수있다.

-> 롤은 유저가 소유하지 않고 스키마에 존재하지 않음.

 

EM에서의 롤 생성(User생성과 유사함)

(1) Administration > Schema > User & Privileges > Roles선택

(2) Create 버튼을 누릅니다.

 

유저에게 롤 할당하기

(1) EM에서 Administration > Schema > User & Privileges > User선택

(2) User를 선택하고 Edit버튼을 누른다.

* (1), (2)는 위의 내용을 그림을 참조하면 알수 있습니다.

 

(3) Role탭을 누른다음 Edit List버튼을 누릅니다.

 

(4) Available Roles에서 원하는 롤을 선택하고 Selected Roles로 이동합니다.

(5) 롤을 모두 할당한 후에 OK버튼을 누릅니다.

 

 

 

< 6-12 프로파일 >

- 프로파일은 DB사용 및 instance리소스에 명명된 리소스 제한 집합을 적용

- 프로파일은 계정 상태를 관리하고 유저의 암호의 길이, 만료 시간등을 제한을 지정한다.

- 모든 유저에게 프로파일이 할당되고 언제나 하나의 프로파일에만 속한다.

- 현재 로그인상태에서 변경할 때, 변경 내용은 다음 로그인 때부터 적용

 

- 프로 파일을 통해 다음의 리소스 제한이 가능합니다.

CPU :

네트워크/메모리 : 각 데이터 베이스 세션은 시스템 메모리 리소스 및 네트워크 리소스를 소모합니다.

Connect Time

Idle Time

Concurrent Sessions

Private SGA

 

디스크 I/O : 유저가 세션 단위 레벨 또는 호출 단위레벨에서 읽을 수 있는 데이터 양을 제한한다.

 

프로파일 생성하기

(1) Administration > Schema > User & Privileges > Profiles

(2) Create 버튼을 클릭합니다.

 

< 6 - 13 암호 보안 기능 구현 >

계정 lock : 유저가 지정한 시도 횟수 내에 시스템에 로그인하지 못하면 일정 기간 동안 계정을 자동으로 Lock합니다.

암호 aging 및 만료 : 유저 암호에 수명이 있어서 암호가 만료되면 암호를 변경해야 합니다.

PASSWORD_LIFE_TIME

PASSWORD_GRACE_TIME

과거 암호 기록

PASSWORD_REUSE_TIME

PASSWORD_REUSE_MAX

암호의 복잡성 기록 : 암호의 복잡성을 검사하여 특정 규칙을 만족하는지 확인합니다.

PASSWOR_VERIFY_FUNCTION

 

암호 프로파일 생성

(1) Administration > Schema > User & Privileges > Profiles

(2) Create 버튼을 선택합니다.

 

암호의 프로파일 삭제시

SQL *PLUS에서 CASCADE옵션을 사용하여 프로파일을 삭제하면 해당 프로파일을 가진 모든 유저가 자동으로 DEFAULT프로파일에 할당됩니다.

 

제공되는 암호 확인 함수 : VERIFY_FUNCTION

최소 길이는 4자입니다.

암호는 유저 이름과 같을 수 없습니다.

암호에는 최소한 하나의 영문자, 하나의 숫자 및 하나의 특수문자가 포함됩니다.

암호는 이전 암호와 최소한 3자이상 달라야 합니다.

이 함수는 <oracle_home>/rdbms/admin/utlpwdmg.sql스크립트를 통해 생성.

 

< 6 - 14 유저에게 할당량 지정 >

할당량은 테이블 스페이스에 허용된 공간입니다.

테이블 스페이스의 대한 할당량 제공 옵션에는 세가지가 있습니다.

 

Unlimited : 원하는 만큼 사용 가능

Value : 할당량 지정

UNLIMITED TABLESPACE 시스템 권한 : 모든 개별 테이블 스페이스 할당량이 무시되고 유저에게 SYSTEM및 SYSAUX 를 포함한 모든 테이블 스페에스에 대해 무제한 할당량이 주어집니다. 이 권한을 부여시 주의해야함.

 

SYS 및 SYSTEM유저만 SYSTEM 또는 SYSAUX 테이블 스페이스에 객체를 생성할 수 있어야 합니다.

 

 

 

 

 

Posted by 예영교육 연구소
IT/Network2011. 4. 15. 01:54

데이터 주소 체계

데이터를 전송시, 인캡슐레이션 과정이 실시되면서 각각의 헤더에는 여러가지 파라메터 값들이 포함된다. 파라메터 값들 중에는 데이터를 전송할 때 사용하는 다양한 주소 체계가 포함된다.

 

OSI 7계층

국제 표준화 기구(ISO)에서 개발한 모델로, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어서 설명한 것이다.

 

이미지 출처 : http://www.flickr.com

 

포트 번호(Port Number)

- Layer 4계층 주소

- TCP, UDP헤더에 포함된 파라메터 값

- 주소 체계: 16bit

- 주소 범위 : 0~65535 (0~1023까지는 네트워크 서비용으로 미리 예약)

- 클라이언트와 서버간의 어플리케이션 서비스를 구분할 때 사용.

 

IP주소

- Layer 3계층 주소

- IP 헤더에 포함된 파라메터

- 주소 체계: 32bit

- 주소 범위 : 0 ~ 4,294,967,296

- 로컬 환경에서 리모트 환경으로 최적 경로를 이용하여 데이터 전송을 실시할 때 사용되는 주소.

 

MAC주소

- Layer 2계층 주소

- Ethernet헤더에 포함된 파라메터

- 주소 체계는 48bit (24bit는 OUI-24, 이는 LAN카드 제조 업체가 IEEE기관으로 부터 임대하여 사용하는 예약된 주소. 뒤의 24bit는 LAN 카드 제조 업체에서 중복되지 않게 설정한 주소)

- MAC주소는 장치에 미리 설정된 물리적인 주소이기 때문에 변경이 불가능하다.

 

로컬 환경에서 데이터 전송시 사용하는 주소 체계

 

 

- MAC Address를 참조

- 'arp -a'로 확인 가능하다.

==================================

C:\>arp -a

 

인터페이스: 192.168.1.1 --- 0xb

인터넷 주소 물리적 주소 유형

192.168.1.1 00-50-51-c3-00-08 동적

192.168.1.254 00-51-52-f4-9c-98 동적

==================================

- 스위치의 MAC어드레스 확인

 

Switch#show mac-address-table

==================================

 

==================================

 

리모트 환경으로 데이터 전송시 사용하는 주소 체계

- IP주소를 참조

보통 ARP주소 변환을 실시한 PC1은 기본 게이트웨이인 Router1 F0/0까지 데이터가 전송될 때까지 Ethernet헤더 안에 있는 목적지 MAC 주소를 참조한다. 이때 목적지 MAC 주소는 Router1 F0/0 MAC 주소이다.

 

데이터를 수신한 Router1은 목적지 IP주소를 라우팅 테이블에서 검색한 이후, 데이터를 S0/0 인터페이스로 출력하는데, 이때 Layer2 계층 헤더인 Ethernet이 HDLC로 변경된다. 그렇기 때문에 HDLC정보를 이용하여 Router1에서 Router2까지 데이터가 전송된다. 이때 MAC주소는 사용되지 않는다.

 

 

PC1 ARP테이블

PC>arp -a

Internet Address Physical Address Type

192.168.1.254 0090.2b01.7e2e dynamic

 

Switch MAC 주소 테이블

SW2#show mac-address-table

Mac Address Table

-------------------------------------------

Vlan Mac Address Type Ports

---- ----------- -------- -----

1 00d0.975d.0c14 DYNAMIC Fa0/24

 

 

 

 

 

Posted by 예영교육 연구소
IT/Network2011. 4. 14. 18:51

1 TCP/IP

네트워크 의미와 네트워크 유형 <--

데이터 전송 관계와 전송 방식 유형 <--

네트워크 주소 체계

데이터 전송 프로토콜

OSI 참조 모델

네트워크 전송 장비 소개

IP주소와 서브넷 마스크

서브 넷팅과 VLSM

주소 요약과 업데이트 경로 요약

 

아래 내용은 공부를 하며 정리한 내용입니다.

통신 프로토콜, 통신 규약은 서로 다른 기종의 컴퓨터 사이에 어떤 자료를, 어떤 방식으로, 언제 주고 언제 받을지 등을 정해놓은 규약이다. TCP/IP가 대표적이다.

프로토콜의 두가지 측면

물리적 측면: 자료 전송에 쓰이는 전송 매체, 접속용 단자 전송 신호, 회선 규격 .

논리적 측면: 프레임(Frame, 자료의 표현 형식 단위) 구성, 프레임 안에 있는 항목의 뜻과 기능, 자료 전송의 절차 .

폐쇄적인 프로토콜: 자사 장치들끼리 통신하기 위한 독자적인 통신 규약이며, 자세한 규격이 공개되어 있지 않아서 크래킹 위협에 상대적으로 안전하다. (보기: IBM SNA, SDLC 프로토콜)

공개된 범용 프로토콜: 여러 장치들에 쓰이는 널리 알려진 규격이며, 규격이 널리 공개되어 있기 때문에 컴퓨터와 네트워크 크래킹에 취약한 편이다. (보기: 인터넷의 TCP/IP)

(위키백과 참조)

 

인캡슐레이션이란?

일반적으로 캡슐화는 어떤 하나를 다른 것에 포함시킴으로써, 포함된 것이 외부에서 보이지 않도록 하는 것이다. 반대로, 캡슐 해제는 이를 제거하거나, 또는 캡슐화되기 이전의 것을 보이게 하는 것이다.

(참조 사이트 : http://terms.co.kr)

(참조 사이트 : http://uw713doc.sco.com/en/NET_tcpip/tcpN.tcpip_stack.html )

 

 

LAN(Local Area Network), WAN(Wide Area Network)

LAN(Local Area Network) , 오피스, 학교 등의 건물과 같은 가까운 지역을 한데 묶는 컴퓨터 네트워크이다.

연결 장비 : 허브, 스위치, UTP 케이블

Protocol : Ethernet

특징 : 네트워크를 구축시 비용이 많이들지만 유지/보수비용이 적다.

 

 

WAN

광역 통신망(WAN: Wide Area Network) 국가, 대륙 등과 같은 넓은 지역을 연결하는 네트워크를 뜻한다.

연결 장비 : Router

Protocol : IP

특징 : 네트워크 연결시 비용이 적고 유지/보수비용이 증가한다.

(일부 위키 백과 참조)

 

MAN

LAN WAN 사이에 위치하는 중간정도 크기의 네트윅을 말한다.

 

< 데이터 전송 관계 전송 방식 유형>

서버(Server) : 클라이언트로부터 요청된 정보를 수신, 데이터를 생성하여 서비스하는 대상

클라이언트(Client) : 서버에게 데이터 요청을 실시, 사용자에게 어플리케이션 서비스를 해주는 대상

 

데이터 전송 방식 3가지

Ipv4 3가지 유형의 데이터 전송 방식의 서비스를 제공한다. 다음과 같다.

1.    유니 캐스트(Unicast) : 서버와 클라이언트간의 일대일 데이터 전송 서비스

가장 신뢰적이지만 서버부하 발생과 네트워크 대역폭 고갈의 문제 야기시킬 있음.

2.    브로드 캐스트(Broadcast) : 서버와 클라이언트간의 일대 불특정 다수 데이터 전송 서비스

서버 부하 발생 대역폭 고갈 문제를 해결이 가능하지만, 불특정 다수로 전송되는 서비스이기에 수신을 원치 않는 클라이언트도 수신하게 되어 갑작스런 브로드 캐스트 증가로 인해 LAN네트워크 성능 저하를 가져온다.

 

3.    멀티 캐스트(Multicast) : 서버와 클라이언트간에 일대불특정 다수 데이터 전송 방식

(http://blogs.law.harvard.edu/niftyc/archives/date/2009/09 이미지 참조)

브로드 캐스트와 유니캐스트의 장점을 가진 서비스 전송 방식

 

다음으로는 네트워크 주소 체계, 데이터 전송 프로토콜에 대해 정리해 보도록 하겠습니다.

Posted by 예영교육 연구소
IT/Oracle2011. 4. 14. 14:34

 

오늘은 4장 managing Oracle Instance 를 공부하며 정리해 봅시다.

 

<Oracle Database 10g 의 관리 프레임 워크 3가지 주요 구성 요소>

  1. 데이터 베이스 인스턴스,
  2. 리스너
  3. 관리툴, EM Database control

 

하나, 각 컴포넌트 서비스를 사용하기 위해서는 먼저 각 컴포넌트의 서비스를 반드시 가동시켜야 함.

둘, Oracle Database 10g를 종료하는 경우, 해당 컴포넌트 서비스를 반드시 종료해야 함.

셋, 데이터 베이스에는 별도의 Database control가 먼저 설치되어 있어야 하며, 하나의 Database control이 하나의 데이터 베이스만을 관리 가능

 

>>> dbconsole시작

C:w> set oracle_sid = orcl

C:w> emctl start dbconsole

 

>>> dbconsole 프로세스 종료

C:w> set oracle_sid=orcl

C:w> emctl stop dbconsole

 

>>> dbconsole 프로세스 상태 확인

C:w> set oracle_sid=orcl

C:w> emctl status dbconsole

 

<데이터 베이스 컨토롤에 접속하기>

웹 브라우저를 이용하여 EM를 접속하는 방법

  1. 웹 브라우저를 열고 주소에 URL 입력

    http://hostname:portnumber/em (이 주소는 oracle 초기 설치 완료의 summary에서 확인이 가능하다.)

    hostname : 서버의 이름

portnumber : 데이터베이스 컨트롤의 수신 포트(기본 1158)

em : 데이터 베이스가 기동되어 있으면, em은 데이터베이스 컨트롤 로그인 페이지를 보여준다.

 

  1. 사용자 이름과 암호를 입력한다. 여기서는 SYS/(설치시 입력한 암호)로 접속

 

< OS command prompt로 데이터 베이스(Shutdown)를 수행 >

  1. 시작 실행
  2. Cmd 를 입력하여 dos창을 띄웁니다.

     

  3. [C:\> SQLPLUS / AS SYSDBA or SQLPLUS /nologs] 로 Sqlplus를 접속합니다.
  4. SQL> SHUTDOWN IMMEDIATE로 데이터 베이스 종료

 

<SYSOPER와 SYSDBA>

SYSOPER: 유지 보수 역할

STARTUP, SHUTDOWN, ALTER DATABASE OPEN/MOUNT, ALTER DATABASE BACKUP, ARCHIVE LOG, RECOVER

명령 실행 권한, RESTRICTED SESSION권한을 가진다.

 

SYSDBA : DB 최종 책임자.

WITH ADMIN 옵션으로 모든 시스템 권한을 갖는다. SYSOPER시스템 권한도 갖는다.

 

< ISQL *Plus 시작과 종료 >

DOS PROMPT

iSQL *PLUS Applicatio Server 시작 : isqlplusctl start

I SQL *PLUS Applicatio Server 종료 : isqlplusctl stop

 

WINDOW

  1. [시작] [모든 프로그램] [관리 도구] [서비스]
  2. 서비스 시작/종료하여 iSQL *Plus애플리케이션 서버를 시작/종료한다.

 

< 파라메터 파일 >

  • 인스턴스를 기동하기 위해서는 오라클이 초기화 파라메터 파일 또는 서버 파라메터 파일을 반드시 읽어 들인다.
  • 이 파일들은 인스턴스와 데이터 베이스의 구성 파라메터 목록을 가진다.
  • 파라메터를 SPFILE이라는 이진 파일에 저장한다.
  • 서버 파라메터 파일에 저장된 파라메터는 영구적이기 때문에 인스턴스가 기동중인 상태에서도 파라미터 변경 가능
  • 파라메터는 basic와 advanced로 분류된다.
  • Basic 파라메터는 28개이며, advanced파라메터는 특수한 경우에서만 DBA 에 의해 설정된다.

 

파라메터 확인하기(EM)

화면으로 확인

 

 

< Startup & shutdown >

DB의 시작과 종료를 나타내는 그림

 

 

 

NOMOUNT에서는 다음의 작업이 수행됨.

  1. Parameter의 읽기 (순서 [spfileSID.ora -> spfile.ora -> initSID.ora])
  2. STARTUP명령에 PFILE 파라미터 지정시 지정된 파라미터 파일을 읽음.
  3. SGA 를 할당한다.
  4. Background Process를 시작
  5. alertSID.log파일과 추적 파일(Trace File)을 연다.

 

MOUNT

MOUNT가 되면 다음의 작업이 수행가능

  1. 데이터 파일 이름 변경
  2. Online Redo Log 파일의 아카이브 모드 설정 및 해제
  3. 전체 데이터 베이스 복구

 

MOUNT하면 다음의 작업이 수행됨.

  1. 전 단계에서 기동된 인스턴스와 데이터 베이스를 연결
  2. 파라메터 파일에 지정된 Control file를 검색하고 해당 파일을 오픈
  3. Control Files로부터 Datafile및 Online Redo file의 이름과 상태 확인

    BUT, 데이터 파일 및 온라인 리두 로그 파일이 실제 존재 하는지는 확인 하지 않음.

     

OPEN :

데이터 베이스를 오픈하면 다음의 작업이 수행.

  1. Online Data file을 Open
  2. Online Redo Log File를 Open

     

<OPEN 시 에러>

  1. 데이터 파일 또는 Online Redo Log 파일중 하나라도 존재하지 않으면 Oracle Server는 오류를 리턴

 

 

Abort

Immediate

Transactional

normal

 

SHUTDOWN Normal : 디폴트 Shutdown

  • 사용자들의 신규 접속 불가
  • 오라클 서버는 모든 사용자가 끊을 때까지 대기
  • DB 버퍼 캐시와 Redo Log Buffer내용이 디스크에 기록한다.
  • Background 프로세스가 종료 SGA가 메모리에서 해제
  • 다음 번 Database시작 시, 인스턴스 복구가 불필요하다.

 

SHUTDOWN Transactional

  • 사용자가 자신의 작업을 잃어버리지 않도록 보장.
  • 사용자가 트랜잭션을 종료시키면 연결이 끊어짐.
  • 모든 트랜잭션이 종료되면 DB 즉시 종료
  • 다음 번 데이터 시작 시, 인스턴스 복구가 불필요하다.

 

SHUTDOWN Immediate

  • 오라클에 의해 현재 처리 중인 SQL 문장은 완료되지 않음.
  • 오라클 서버는 사용자들이 연결을 끊을 때까지 대기 않음.
  • 현재 사용자들의 모든 활성화 트랜잭션을 롤백, 연결을 끊는다.
  • 인스턴스 종료전, DB를 닫고, 마운트를 해제
  • 다음 번 DB시작 시, 인스턴스 복구가 불필요.

 

SHUTDOWN Abort

  • 처리중인 SQL문장은 즉시 종료
  • 사용자들이 연결을 끊을 때까지 대기하지 않음.
  • DB Buffer Cache와 Redo Log buffer의 내용이 디스크에 기록되지 않음
  • DB를 닫지 않고, Mount 를 해제 하지 않음.
Posted by 예영교육 연구소
IT/Oracle2011. 4. 14. 01:38

OS : Window XP Profession

Oracle 10g

오라클 10g의 삭제는 다음과 같은 절차로 이루어집니다.

STEP 1 오라클 서비스를 중지

STEP 2 오라클 제품을 Uninstall

STEP 3 레지스트리 삭제

STEP 4 환경변수 삭제

STEP 5 재 부팅후 Oracle 폴더 삭제

 

 

STEP 1 오라클 서비스를 중지

  • 시작 -> 제어판 -> 관리도구 -> 서비스

>> 상태부분에 상태가 시작인 서비스를 선택합니다.

>> 마우스 오른쪽 버튼을 클릭한 이후에 중지를 선택합니다.

>> 해당 서비스가 중지되는 것을 확인할 수 있습니다.

위의 선택된 부분의 서비스가 종료되면 2단계로 진행합니다.

 

STEP 2 오라클 제품을 Uninstall

<시작 -> 모든 프로그램 -> Oracle설치 경로 -> Oracle Installation Products -> Universal installer>

>> Universal Installer를 실행합니다.

 

제품 설치 해제를 선택합니다.

1 : 해당되는 제품을 선택합니다.

2 : 제거 버튼을 선택합니다.

예를 클릭합니다.

제거 화면에서 오랜 시간이 소요됩니다.

닫기 버튼을 선택합니다.

취소를 누르고 종료합니다.

이 단계가 완료되면 레지스트리 삭제로 진행합니다.

레지스트리 삭제와 폴더를 정상 삭제를 권장합니다.

 

STEP 3 레지스트리 삭제(시작 -> 실행 -> regedit)

다음의 부분을 삭제합니다.

  • HKEY_LOCAL_MACHINE – SOFTWARE – ORACLE
  • HKEY_LOCAL_MACHINE – SYSTEM – CurrentControlSet – Services – Eventlog – Application에서 Oracle시작되는 것.
  • HKEY_LOCAL_MACHINE – SYSTEM – ControlSet001 - Services에서 Oracle로 시작되는 것
  • HKEY_LOCAL_MACHINE – SYSTEM – ControlSet003 - Services에서 Oracle로 시작되는 것
  • HKEY_CLASSES_ROOT에서 Oracle 로 시작되는 것

다음과 같이 해당 부분을 선택해서 찾기를 이용하여 Oracle관련 키 값을 찾아내어 삭제를 수해합니다.

F3(다음 찾기)키를 이용해서 찾기를 수행하면 다음과 같은 Oracle관련 키 값이 검색됩니다. 전부 선택해서 삭제를 해 줍니다.

단, 위의 지정된 부분에 대해서만 삭제하도록 해 주세요. 프로그램 삭제와 관련 없이 Oracle 이름만 들어가 있어도 찾기로 인해 검색될 수 있습니다.

 

STEP 4 환경변수 삭제(ORACLE_HOME)

이 부분은 환경 변수가 설정되어 있는경우에 해당됩니다. 설정하지 않았을 경우, 이 단계는 진행하지 않아도 됩니다.

바탕화면의 내 컴퓨터 선택하여 마우스 오른쪽 버튼 클릭

(XP의 경우)

속성 à 고급 탭 à 환경변수

STEP 5 재 부팅후 Oracle 폴더 삭제 (C:\Oracle)

 

이로서 오라클 10g의 XP에서의 삭제를 완료합니다.

 

 

Posted by 예영교육 연구소
IT2011. 4. 13. 15:48

SUN이 오라클에 인수된 이후에 다운로드 받는 것이 조금 복잡해 진 것 같음.

 

오라클 사이트에 개인정보를 입력하면 다음과 같이 링크가 발송되어집니다.

 

http://java.sun.com/javase/downloads/jdk/142/

Posted by 예영교육 연구소
IT/Oracle2011. 4. 13. 12:19

오라클 교재 내용 정리를 합니다.

오라클 WORKSHOP의 가장 첫번째 장을 공부해 보도록 하겠습니다.

 

  • 오라클 데이터베이스 구조

ORACLE INSTANCE + 오라클 데이터 베이스

 

 

STEP1) 데이터 베이스가 시작되면,

Action1) ORACLE소프트웨어는 SGA(System Global Area)라는 메모리 영역 할당

Action2) ORACLE Background processes를 시작.

 

INSTANCE = SGA + Background processes

 

STEP2) 데이터 베이스를 마운트 한다.

MOUNT란?

instance를 시작한 후 ORACLE소프트웨어는 해당 instance를 특정 데이터 베이스와 연결

MOUNT가 되면

데이터 베이스가 열릴 준비가 되고 승인된 유저가 엑세스 가능한 상태가 된다.

 

여기서 잠깐?

Memory Structures(메모리 구조) 및 Process(프로세스)의 역할

데이터 베이스를 관리하고 엑세스한다.

모든 메모리 구조는 컴퓨터의 기본 메모리에 존재하고 프로세스는 이러한 컴퓨터 메모리에서 작동하는 작업.

 

 

 

<오라클 메모리 구조>

위의 그림의 이 부분에 해당되는 설명입니다.

 

 

SGA vs PGA

SGA는 모든 서버 백그라운드에 의해 프로세스가 공유되며, PGA는 각 서버 및 백그라운드 프로세스가 전용(Private) 으로 사용됨. 각 프로세스에 대해 하나의 PGA가 있다.

 

  • SGA

데이터 베이스 버퍼 캐스(Database buffer cache) : DB에서 검색된 데이터 블록을 캐시에 저장

Redo log buffer : instance recovery에 사용되는 리두 정보를 저장

Streams pool : 유저 간의 공유하는 다양한 구성요소를 저장

Large pool : 백업 및 recovery작업이나 I/O서버 프로세스와 같은 어떤 대규모 프로세스에 대한 대용량 메모리 할당을 제공하는 영역

Shared pool : Oracle Streams에서 사용

Java pool : JVM(java virtual machine)내의 모든 세션별 Java코드 및 데이터에 사용

<SGA Parameter>

SGA_TARGET : SGA에 사용할 수 있는 총 공간량을 지정.

만약 SGA_TARGET을 0으로 설정시, 자동 공유 메모리 관리(ASMM:Automatic Shared Memory Management)가 비활성됨.

 

  • PGA(Program Global Area)

    각 서버 프로세스에 대한 데이터 및 제어 정보를 포함하는 메모리 영역

    • PGA에는 해당 서버 프로세스만 엑세스 가능
    • 서버 프로세스를 대신하는 Oracle코드에 의해서만 PGA 를 읽고 쓰는 것이 가능
    • 각 서버 프로세스당 전용 PGA영역이 있음.

 

 

Process Structures

위의 그림의 여기에 해당되는 설명

 

 

User process : 데이터 베이스 유저가 Oracle서버에 연결을 요청시 시작됨.

Server process : Oracle instance에 연결하는 프로세스, 유저가 세션 설정시 시작됨.

Background processes :Oracle instance가 시작될 때 시작됨.

 

그럼 Instance 의 SGA를 살펴보도록 하겠습니다.

 

다음과 같은 그림이 되는군요~

 

위의 내용을 복습 ***

오라클 데이터 베이스 서버는 2가지로 구성된다. 바로~

Oracle DB + Oracle Instance

 

그리고 Oracle Instance는 이 두 가지로 구성된다. 무엇일까요?

자안~~ 그림을 보시라.

그렇죠. SGA + Background processes

 

자 그럼 Background processes는

위의 그림의 표시된 것들로 구성되죠.

 

System Monitor(SMON) : failure에 이어 instance가 시작될 때, crash recovery를 수행하죠.

Process Monitor(PMON) : 저는 User process가 실패하면 프로세스 정리를 수행합니다.

Database Writer(DBWn) : 저는 DB Buffer Cache에서 수정된 블록을 디스크 Data files에 저장하죠.

 

Checkpoint(CKPT) : 가장 최근의 Checkpoint를 나타내도록 모든 Datafiles과 Control files를 갱신합니다.

LogWriter(LGWR) : 디스크에 Redo log항목을 기록해요.

Archiver(ARCn) : Log Switche가 발생시, Redo log file를 아카이브 저장 영역으로 복사 얍~

 

 

 

 

 

자 그럼 다음부분에 대해 알아봅시다.

제가 직접 짜 맞춘 그림을 이용해서 보도록 하죠.

 

 

서버 프로세스 및 데이터 베이스 버퍼 캐시

 

<그림 설명>

서버 프로세시는 데이터 파일에서 블록을 읽고 데이터베이스 버퍼 캐시에 복사본을 배치합니다. Oracle서버는 LRU(Least Recently Used) 알고리즘을 사용하여 최근에 엑세스하지 않은 버퍼를 삭제하므로 데이터 베이스 버퍼 캐시에 새 블록을 위한 공간을 만듭니다.

 

DB buffer cache는 다음의 4가지 상태가 존재합니다.

Pinned : 여러 세션이 동시에 동일한 블록에 쓰지 못하므로, 다른 세션은 해당 블록을 엑세스 하기 위해 대기합니다.

Clean : 버퍼가 핀 고정되어 있지 않음. 현재 데이터 블록이 다시 참조되지 않을 경우 즉시 버퍼가 삭제될 후보입니다.

Free or unused : instance가 방금전에 시작되었기 때문에 버퍼가 비어 있음. 이 상태는 버퍼가 사용되지 않은 점을 제외하고 Clean 상태와 유사

Dirty : Buffer가 더 이상 pinned이지 않지만 데이터 블록 내용이 변경되었습니다. 내용이 삭제되기 전에 DBWn이 디스크로 내용을 비워야 합니다.

 

 

 

그리고 테이블 스페이스 및 데이터 파일에 대해 알아봅시다.

 

  • 테이블 스페이스
    • 테이블 스페이스는 하나 이상의 데이터 파일로 구성된다.
    • 데이터 파일은 하나의 테이블 스페이스에만 속한다.

     

    SYSTEM및 SYSAUX TABLESPACE

    • 데이터 베이스를 생성시 만들어지는 TABLESPACE
    • SYSTEM테이블 스페이스는 DATA Dictionary table과 같은 핵심기능에 사용
    • SYSAUX는 보조 테이블 스페이스이다. Enterprise Manager Repository등 추가적인 데이터 베이스 구성 요소에 사용된다.

 

  • 논리적 및 물리적 데이터 베이스 구조

 

  • 데이터 베이스에는 논리적 구조와 물리적 구조가 존재한다.
  • 위의 슬라이드에 데이터베이스, 테이블 스페이스 및 데이터 파일 간의 관계가 나타나 있음.

 

스키마 : 데이터 베이스 객체의 모음.

Posted by 예영교육 연구소
IT/Oracle2011. 4. 13. 10:49

GGF(Global Grid Forum)

그리드 컴퓨팅의 표준을 개발하는 표준 단체입니다. 이 단체는 그리드 컴퓨팅의 다양한 측면을 다루는 여러 위원회와 워크 그룹으로 구성되어 있습니다.

GGF의 웹사이트 주소 : http://www.gridforum.ogr

 

ASM(Automatic Storage Management)

 

RAC(Real Application Clusters) : 서버 클러스터에서 모든 응용 프로그램 작업 로드를 실행하고 조정하며 다음과 같은 기능을 제공

 

 

  • PGA(Program Global Area)

각 서버 프로세스에 대한 데이터 및 제어 정보를 포함하는 메모리 영역

 

 

 

  • Background processes

System Monitor(SMON) : failure에 이어 instance가 시작될 때, crash recovery를 수행하죠.

Process Monitor(PMON) : 저는 User process가 실패하면 프로세스 정리를 수행합니다.

Database Writer(DBWn) : 저는 DB Buffer Cache에서 수정된 블록을 디스크 Data files에 저장하죠.

Checkpoint(CKPT) : 가장 최근의 Checkpoint를 나타내도록 모든 Datafiles과 Control files를 갱신합니다.

LogWriter(LGWR) : 디스크에 Redo log항목을 기록해요.

Archiver(ARCn) : Log Switche가 발생시, Redo log file를 아카이브 저장 영역으로 복사 얍~

 

Posted by 예영교육 연구소
카테고리 없음2011. 4. 12. 15:10

문제 : 테이블 생성시, 에러가 발생

원인 : auto_increment를 사용할 경우 default를 지정하지 않음.

해결 : uid int unsigned default 0 auto_increment

à uid int unsigned auto_increment

 

<에러 발생 SQL문>

mysql> create table t1_board(

-> uid int unsigned default 0 auto_increment,

-> gid int unsigned default 0,

-> depth varchar(255) default 'A',

-> name varchar(20) not null,

-> email varchar(50),

-> passwd varchar(10) not null,

-> suject varchar(255) not null,

-> article text not null,

-> writedate char(10) not null,

-> refnum int unsigned default 0,

-> Primary key(uid)

-> );

ERROR 1067 (42000): 'uid'의 유효하지 못한 디폴트 값을 사용하셨습니다.

 

< 정상 실행 화면 >

mysql> create table t1_board(

-> uid int unsigned auto_increment,

-> gid int unsigned default 0,

-> depth varchar(255) default 'A',

-> name varchar(20) not null,

-> email varchar(50),

-> passwd varchar(10) not null,

-> suject varchar(255) not null,

-> article text not null,

-> writedate char(10) not null,

-> refnum int unsigned default 0,

-> Primary key(uid)

-> );

Query OK, 0 rows affected (0.22 sec)

 

Posted by 예영교육 연구소
IT/Window2011. 4. 11. 13:40

 

운영 체제 : Window 7

문제 증상 : RWAPM X-Server을 설치후, RWAPM and MYSQL서비스를 등록하려고 할 때,

다음과 같은 증상이 발생한다.

 

문제 해결 : MSVCR100.dll의 파일을 구해서 C:> à Window àSYSTEM32에 복사한 이후에 다시 등록시킨다.

Posted by 예영교육 연구소