오라클 설치 후 scott 계정 접속을 시도 하였으나, 다음과 같은 오류가 난다.




SQL> conn scott/tiger

ERROR:

ORA-28000: the account is locked



계정이 잠겨있다는 뜻이다.

그럼.. 계정에 걸린 락을 풀어주면 된다.





--먼저 관리자 계정으로 접속한다

SQL> conn / as sysdba;

Connected.


--scott에 걸린 락을 풀어주면서, 암호로 tiger를 지정해준다 (쓰고싶은 암호가 있으면 그 암호로 지정해준다)

SQL> alter user scott identified by tiger account unlock;

User altered.


--scott계정(암호 tiger)으로 다시 접속

SQL> conn scott/tiger

Connected.


--현재 유저 확인

SQL> show user

USER is "SCOTT"





문제 해결!







-블로거. SJ



Posted by DBA SJ
:


오렌지(Orange)를 설치하고 로그인을 하려는데..

ID/PW가 분명 맞는데도 다음과 같은 오류가 발생하는 경우가 있다.


-저는 Orange v4.0.1.38 DBA Edition 설치 후 오류가 났습니다.




ORA-01017 invalid username/password; logon denied





이 경우 웨어밸리 사이트에서 패치를 다운로드 받고 


http://www.warevalley.com/downloads/downloads_01.asp?d_prd=Drivers%20Software


압축을 풀어서 오렌지가 설치된 폴더에 덮어쓰면 된다.








-블로거. SJ



Posted by DBA SJ
:

JAVA 환경변수

JAVA 2013. 9. 4. 17:04 |






① 


바탕화면 [컴퓨터] 아이콘 마우스 오른쪽 클릭 - [속성] 


or 


[제어판] - [시스템 및 보안] - [시스템]


'고급 시스템 설정' 클릭




② 고급 탭


'환경 변수' 클릭


1) 새로 만들기

변수이름 : JAVA_HOME


변수 값 : JDK 설치 경로 (예시 ― C:\JAVA\jdk)



2) 시스템 변수 Path에.. 

%JAVA_HOME%\bin; 추가




**JAVA 설치버전 확인하기

cmd창 열어서 java -version 을 입력하여 확인










-블로거. SJ


Posted by DBA SJ
:


유저 프로세스와 서버 프로세스

해당 클라이언트(Client) 시스템에 유저 프로세스가 기동되게 된다. 

기동된 유저 프로세스는 해당 세션 정보와 실행된 SQL 정보를 가지고 데이터베이스 서버로 해당 SQL 수행을 요청하게 된다.


**유저 프로세스의 요청을 해당 데이터베이스 서버가 공유 서버(MTS) 환경이 아니라면 하나의 서버 프로세스가 해당 요청을 접수하게 된다.




[이미지=oraclecoursebooks.com] SQL 수행 절차



SQL 수행에 대한 전체 개요

서버 프로세스와 구문 분석 (Parsing)

서버 프로세스를 할당 받았다면 해당 서버 프로세스 에 의해 실제 SQL이 수행됨

서버 프로세스는 공유 풀의 라이브러리 캐쉬에 해당 SQL에 대해 구문 분석을 의뢰함


구문 분석 절차

① 검색 (Search)

-Hard Parsing: 공유풀에 SQL에 대한 구문 분석이 존재하지 않을 경우 구문 분석을 처음부터 수행

-Soft Parsing: 공유풀에 SQL에 대한 구문 분석이 존재할 경우 기존 구문 분석 이용

② 문장 확인 (Syntax Check)

③ 데이터베이스 분석 (Database Resolution)

④ 단순화 (Simple Transformation)

-오라클 옵티마이저가 좀더 좋은 실행 계획을 생성하기 위해 내부적으로 SQL 변경

⑤ 권한 확인

-유저가 수행한 SQL에 대해 권한이 존재하며, SQL이 DML이면 해당 테이블에 대해 TM락 수행

⑥ 락 (TM Lock)

⑦ 실행 계획 및 구문 분석 트리 (Parsing Tree) 생성

-구문 분석의 결과물. 대상 SQL과 함께 공유 풀에 저장됨



데이터 딕셔너리 확인

구문 분석 단계 중 데이터베이스 분석 단계를 수행하기 위해 데이터 딕셔너리를 확인


시스템 테이블스페이스에 존재하는 데이터 딕셔너리를 조회

-작업에 사용되는 테이블 존재 유무 확인

-해당 테이블에서 필요한 컬럼 존재 유무 확인


**데이터 딕셔너리: 해당 DB에 존재하는 모든 오브젝트 정보와 모든 컬럼 및 유저 정보 존재


권한 확인에서도 데이터 딕셔너리 이용. 

데이터 딕셔너리에 모든 유저의 권한 정보를 저장하고 있기 때문.



로그 기록

실제 작업을 수행하기 전에 선 로그 기법에 의해 리두 로그 버퍼에 변경 내용 기록.


**오라클은 선 로그 기법(Log Ahead) 사용. 

**선 로그 기법 : DML(Insert, Delete, Update) 작업을 수행할 경우 실제 데이터에 대해 DML을 수행하기 전에 데이터들의 변경에 대한 내용을 리두 로그 버퍼에 미리 저장하게 된다.



대상 집합 락(Lock) 처리

실제 변경을 수행하고자 하는 행에 대해 락을 수행

변경 대상 로우에 락을 수행. 해당 락은 TX락이라 부름.


**TX락 : 오직 변경하는 유저만이 해당 로우를 엑세스할 수 있는 락

조회하는 유저에 대해서는 조회가 가능하지만, 

다른 서버 프로세스에서 해당 로우를 변경하기 위해서는 앞에서 수행된 TX락이 종료될 때까지 대기해야 함



변경 이전 이미지 저장 준비


언두 테이블스페이스에 존재하는 언두 세그먼트의 언두 블록을 할당 받아 이전 이미지를 저장할 준비를 함


** 실제 변경 작업 수행 전에 변경이 이루어 질 데이터에 대해 이전 이미지를 저장해야 하는 이유

-롤백 수행 지원

-읽기 일관성 지원

-인스턴트 복구 수행



변경 이전 이미지 저장 및 실제 작업 수행

변경이 발생할 데이터에 대해 이전 이미지를 언두 블록에 저장한 후 실제 작업을 수행한다.



응답 수행

변경이 성공적으로 완료되었다면 서버 프로세스가 응답을 하게 됨

서버 프로세스가 전달받은 세션 정보를 이용하여 작업을 요청했던 유저 프로세스에게 결과발송

ex) '1 Row Updated' 메시지



커밋(Commit)에 따른 변화

 커밋이 수행되면 리두 로그 버퍼에 존재하는 변경에 대한 로그를 리두 로그 파일에 기록하게 됨  ― 빠른 커밋


**빠른 커밋 : 커밋을 수행하더라도 변경된 데이터 블록을 즉시 디스크로 저장하지는 않지만 해당 데이터 블록에 대한 조회는 메모리에서 수행하고 복구는 리두 로그 파일에 기록된 내용을 이용하기 때문에 마치 데이터베이스에 즉시 적용된 것과 같이 하겠다는 뜻


 실제 데이터 버퍼 캐쉬에 존재하는 변경된 데이터를 디스크에 저장하지는 않음 ― 지연 쓰기

→ 많은 양을 갱신하는 작업이나 적은 양을 갱신하는 작업이나 커밋하는 부분에서는 많은 시간 차이가 발생하지 않게 됨.


**지연 쓰기 : 변경된 데이터 블록이 일정량 모이면 한번에 디스크에 저장 




구문 분석 (Parsing)

검색 (Search)


하드 구문 분석 (Hard Parsing)

공유 풀에 해당 SQL에 대한 구문 분석이 존재하지 않는 경우. 구문 분석을 처음부터 수행


소프트 구문 분석 (Soft Parsing)

공유 풀에 SQL에 대한 구문 분석이 존재할 경우. 

구문 분석을 재수행하지 않고 기존 구문 분석을 이용하게 되므로 성능에서 유리


**동일 SQL로 인식하기 위해 만족해야 하는 조건

대·소문자 구별

띄어쓰기 구별

오브젝트에 대한 동일 소유자


**하드 구문 분석과 성능

과다한 하드 구문 분석은 데이터베이스 전체 성능 저하를 발생시킬 수 있다.

이 경우에는 공유 풀 대기 현상이 심해지게 된다. 이와 같은 현상이 발생한다면 앞에서 언급한대로 SQL 문장을 수정하여 소프트 구문 분석으로 수행할 수 있도록 변경해 주어야 한다.


**소프트 구문 분석

수행된 모든 SQL이 공유 풀에 무조건 존재하여 해당 SQL이 다시 수행될 수 있도록 모든 경우에 소프트 구문 분석을 수행하는 것은 아니다. 공유 풀은 메모리 영여긍로 제한된 크기를 가지고 있기 때문.

공유 풀은 LRU(Least Recently Used) 알고리즘을 사용하여 공유 풀 공간이 부족하면 최근에 가장 적게 사용한 SQL 및 해당 구문 분석을 삭제하여 여유 공간을 확보하게 됨.



문장 확인 (Syntax Check)

SQL문의 철자 및 문법 확인. 이상이 있으면 에러 발생.



데이터베이스 분석 (Database Resolution)

데이터베이스 분석은 Database Resolution 또는 Semantic Check라고 말함

데이터베이스 분석 단계는 실행된 SQL문을 수행하기 위한 필요 요소들이 존재하는 지를 확인하는 단계


-확인하는 필수요소-

대상 테이블의 존재 유무

대상 테이블에서 필요한 컬럼 존재 유무


이와 같은 항목을 확인하기 위해서는 시스템 테이블스페이스의 데이터 딕셔너리를 확인해야 함

TAB$ 데이터베이스에 존재하는 모든 테이블 목록

COL$ 데이터베이스에 존재하는 모든 테이블의 컬럼 목록


**기본 딕셔너리 테이블은 데이터 딕셔너리 뷰의 내용을 저장하는 실제 테이블을 의미

기본 딕셔너리 테이블은 다음과 같은 데이터 딕셔너리 뷰의기본 딕셔너리 테이블이 됨

TAB$ DBA_TABLES

COL$ DBA_TAB_COLUMNS



단순화 (Simple Transformation)

오라클 옵티마이저가 좀 더 좋은 실행 계획을 생성하기 위해 내부적으로 SQL을 변경


**옵티마이저

옵티마이저는 실행될 SQL을 어떤 방식으로 수행할지를 결정하여 실행 계획을 수립하는 일을 함

옵티마이저의 판단에 의해 해당 SQL의 성능이 좌우됨



권한 확인

권한 확인을 수행하기 위해서는 데이터베이스 분석 단계와 마찬가지로 시스템 테이블스페이스에 저장되어 있는 데이터 딕셔너리 뷰를 조회해야 함


DBA_SYS_PRIVS

DBA_TAB_PRIVS


데이터 딕셔너리 뷰를 조회한 후 공유 풀의 데이터 딕셔너리 캐쉬에 저장하여 확인하게 됨

해당 데이터 딕셔너리 뷰를 조회한 후 해당 유저가 수행한 SQL에 대해 권한이 존재하며 해당 SQL이 DML이라면 해당 테이블에 대해 TM락을 수행하게 된다.



락 (TM Lock)

해당 테이블에 대해 DML을 수행하는 동안 다른 유저에 의해 테이블 삭제 및 컬럼 추가 등의 테이블 형태를 변경하는 작업을 제한하기 위해서 수행



실행 계획 및 구문 분석 트리 (Parsing Tree) 생성

구문 분석의 결과물. 대상 SQL과 함께 공유 풀에 저장됨



시스템 뷰 (System View)


데이터 딕셔너리 뷰 (DBA_) : 시스템 테이블스페이스에 저장. 해당 데이터베이스에 존재하는 오브젝트 및 기타 정보에 대한 내용을 조회할 수 있는 뷰


**데이터 딕셔너리 뷰

데이터베이스 생성시 생성됨

데이터베이스 생성 절차 중 catalog.sql이라는 스크립트를 수행하는 단계가 존재. 이 스크립트를 수행하면 데이터 딕셔너리 뷰 생성


**뷰(View)

오라클의 오브젝트 중 하나

실제 저장 공간을 소유하지는 않으며 뷰 정의에 대한 내용만을 데이터 딕셔너리에 저장하게 됨

뷰는 테이블을 조회하는 SQL을 오라클 오브젝트로 생성하여 해당 뷰를 조회하면 뷰에 사용된 SQL이 수행되면서 대상 테이블을 자동으로 조회하게 한다.


구분

DBA_ 해당 데이터베이스에 존재하는 모든 내용 조회 가능

ALL_ 해당 유저에게 권한이 존재하는 모든 내용 조회 가능

USER_ 해당 유저가 소유자(Owner)로 되어 있는 모든 내용 조회 가능


종류

오브젝트 관련 데이터 딕셔너리 뷰

DBA_OBJECTS 해당 데이터베이스에 존재하는 모든 오브젝트 정보

DBA_SEGMENTS 해당 데이터베이스의 모든 오브젝트 중 세그먼트에 대한 정보

DBA_TABLES 해당 데이터베이스에 존재하는 모든 테이블 목록 및 테이블에 관련된 모든 정보

DBA_INDEXES 해당 데이터베이스에 존재하는 모든 인덱스 목록 및 인덱스에 관련된 모든 정보

DBA_TAB_PARTITIONS 해당 데이터베이스에 파티션 테이블이 존재한다면 해당 데이터 딕셔너리 뷰에서 조회 가능

DBA_TAB_SUBPARTITIONS 해당 데이터베이스에 존재하는 파티션 중 복합 파티션 테이블이 존재한다면 해당 데이터 딕셔너리 뷰에서 조회 가능

DBA_VIEWS 해당 데이터베이스에 존재하는 모든 뷰 목록 및 뷰에 관련된 모든 정보

DBA_TRIGGERS 해당 데이터베이스에 존재하는 모든 뷰 목록 및 뷰에 관련된 모든 정보

DBA_SYNONYMS 해당 데이터베이스에 존재하는 모든 동의어 목록 및 동의어에 관련된 모든 정보

DBA_ROLLBACK_SEGS 해당 데이터베이스에 존재하는 모든 언두 세그먼트의 정보 


**오브젝트와 세그먼트

오브젝트 중 스토리지 영역을 가지는 오브젝트를 세그먼트라 한다. 

예를 들어, 테이블과 인덱스는 오브젝트이면서 세그먼트이지만 뷰와 시퀀스 등은 스토리지 영역 없이 정의만 저되므로 단지 오브젝트에 해당된다.



유저 및 권한 관련 데이터 딕셔너리 뷰

DBA_USERS 데이터베이스에 존재하는 모든 유저에 대한 정보 조회

DBA_TS_QUOTAS 데이터베이스 유저별로 각 테이블스페이스에 할당된 공간을 확인

MAX_BYTES 컬럼이 -1의 값이라면 해당 테이블스페이스에 대해 공간 사용에 대한 제한이 없다는 것을 의미

DBA_TAB_PRIVS 유저 또는 롤 별로 테이블에 대한 권한 부여 현황을 확인

DBA_SYS_PRIVS 유저 또는 롤 별로 부여된 시스템 권한을 확인

DBA_ROLES 데이터베이스에 존재하는 모든 롤을 확인

DBA_ROLE_PRIVS 유저 및 롤에 할당된 롤을 확인


**롤 (Role)

유저의 권한 관리를 보다 편리하게 수행하기 위해 만들어진 개념



스토리지 관련 데이터 딕셔너리 뷰

DBA_TABLESPACES 데이터베이스에 존재하는 모든 테이블스페이스에 대해 조회

DBA_SEGMENTS 데이터베이스에 존재하는 오브젝트 중 스토리지를 가지는 모든 세그먼트를 조회

DBA_EXTENTS 각 세그먼트별로 할당된 익스텐트에 대해 조회

DBA_DATA_FILES 각각의 테이블스페이스를 구성하는 데이터 파일의 정보를 확인

DBA_TEMP_FILES 지역 관리 임시 테이블스페이스에 대한 임시 파일 정보를 확인할 수 있는 데이터 딕셔너리 뷰

DBA_FREE_SPACE 테이블스페이스별로 사용 가능 여유 공간을 확인할 수 있는 데이터 딕셔너리 뷰


기타 데이터 딕셔너리 뷰

DBA_TAB_COLS 테이블을 구성하는 모든 컬럼 정보를 확인

DBA_IND_COLUMNS 테이블에 생성되어 있는 인덱스들의 컬럼 구성 정보를 확인

DBA_PART_KEY_COLUMNS 파티션 테이블에 대해 파티션 키 컬럼을 확인



동적 성능 뷰 (V$) : 메모리 상태 및 현재 세션에 대한 정보를 확인할 수 있는 뷰


종류

세션 관련 동적 성능 뷰

V$TRANSACTION 현재 언두 데이터를 사용하는 모든 작업에 대해 실시간 조회

V$SESSION 현재 데이터베이스에서 작업을 수행하거나 또는 수행하지 않더라도 접속해있는 모든 세션 정보

V$PROCESS 데이터베이스에 접속한 운영체제 프로세스별로 하나의 로우씩 추출

V$SQL 해당 세션에서 수행된 SQL을 조회


대기 이벤트 관련 동적 성능 뷰

V$SESSION_WAIT 현재 세션에서 발생하고 있는 대기 이벤트를 확인

V$EVENT_NAME 해당 뷰는 동적 성능 뷰는 아니지만 동적 성능 뷰에서 발생하는 모든 이벤트에 대한 정보를 저장하고 있는 참조성 뷰

V$SESSION_EVENT 현재 데이터베이스에 접속해 있는 세션들의 대기 이벤트 값들에 대한 누적 값을 확인

V$SYSTEM_EVENT 오라클 데이터베이스 기동 이후 대기 이벤트에 대한 모든 누적 값을 확인할 수 있는 동적 성능 뷰

V$SESSION_WAIT_HISTORY 현재 접속해 있는 세션별로 가장 최근 10개의 대기 이벤트를 저장하는 동적 성능 뷰


기타 동적 성능 뷰

V$DATABASE 해당 데이터베이스의 기본 정보를 제공

V$INSTANCE 해당 데이터베이스의 인스턴트 정보를 제공

V$SGASTAT 해당 데이터베이스의 메모리 정보를 확인할 수 있는 동적 성능 뷰

V$BACKUP 해당 데이터베이스의 모든 데이터 파일에 대해 백업 여부를 확인

V$LOCK 현재 데이터베이스에 수행중인 모든 락(Lock) 정보를 확인


**V$BACKUP

V$BACKUP 동적 성능 뷰의 STATUS 컬럼의 값이 ACTIVE라면 현재 온라인 백업 수행중이며, NOT ACTIVE라면 현재 온라인 백업중이 아니라는 뜻이 된다. 또한 DATE 컬럼은 가장 최근 ACTIVE 상태였던 일자를 뜻하므로 결국 가장 최근에 온라인 백업을 수행한 시간이 된다.







참고자료 : 책 《초보자를 위한 오라클 10g》 (정보문화사)

그외 자료 출처 : 각 자료 하단에 출처 표기

인용 이미지 출처 : http://www.oraclecoursebooks.com/books/oracle9i_admin/04_9i_dba/04_oracle9iadmin.html



-블로거. 이세진

'Database' 카테고리의 다른 글

오라클 프로세스  (0) 2013.08.27
오라클 메모리  (0) 2013.08.27
오라클 설치  (0) 2013.08.26
데이터베이스  (0) 2013.08.26
Posted by DBA SJ
:

오라클 프로세스

Database 2013. 8. 27. 14:07 |


오라클 프로세스


-유저 프로세스


-서버 프로세스


-백그라운드 프로세스


필수 백그라운드 프로세스 : 데이터베이스를 사용하기 위해 반드시 필요한 프로세스

선택 백그라운드 프로세스 : 특정 기능을 사용하기 위해 필요한 프로세스




[이미지=Oracle.com] 백그라운드 프로세스




<필수 백그라운드 프로세스>


데이터베이스 기록자 백그라운드 프로세스(DBWR, Database Writer)

: 메모리에서 변경된 버퍼를 디스크에 기록하는 프로세스


※ 데이터 버퍼 캐쉬의 버퍼는 데이터 블록과 동일한 의미


-더티 버퍼 (Dirty Buffer) : 변경은 완료되었지만 디스크에 기록되지 않은 버퍼

-사용중 버퍼 (Pinned Buffer) : 변경중인 버퍼

-프리 버퍼 (Free Buffer) : 변경이 완료된 후 디스크에 기록된 버퍼


지연 쓰기 (Defferred Write) : 변경된 데이터 블록이 일정량 모이면 한번에 디스크에 저장하는 지연 쓰기 방식을 사용

빠른 커밋 (Fast Commit) : 데이터 변경을 완료하고 커밋을 수행하면 변경된 내용을 즉시 디스크로 기록하지 않는 지연 쓰기를 사용하는 대신 변경에 대한 로그 정보는 즉시 디스크로 기록하는 방법



로그 기록자 백그라운드 프로세스 (LGWR, Log Writer)

: 리두 로그 버퍼에 기록된 내용을 리두 로그 파일로 저장


빠른 커밋

각각의 변경된 데이터 블록은 디스크에 적용될 위치가 정해져 있으므로 모든 변경된 데이터 블록을 실시간으로 정해진 위치에 기록하게 되면 해당 디스크 위치를 검색하는 부분에 극심한 속도 저하 발생


**빠른 커밋의 장점

시스템 부하 감소

적은 I/O를 발생시킴

트랜잭션이 변경하는 데이터의 양이 커밋 완료 속도에 영향을 미치지 않음


선 로그 기법 (Log Ahead) : DML(Insert, Delete, Update)작업을 수행할 경우 실제 데이터에 대해 DML을 수행하기 전에 데이터들의 변경에 대한 내용을 리두 로그 버퍼에 미리 저장


동시 쓰기 : 커밋시 로그를 기록하는 부분에서 같은 시점에 커밋되는 작업들에 대해서는 동시에 리두 로그 파일에 기록한다는 의미

동시 쓰기를 통한 디스크 I/O 횟수를 감소시킴으로써 성능 향상


※ LGWR의 활동 주기

커밋을 수행할 경우

DBWR이 변경된 데이터 블록을 저장하기 전

리두 로그 버퍼의 1/3 이상 사용

1MB 이상의 리두 로그 생성시

3초마다 (Time out)



프로세스 모니터 백그라운드 프로세스 (PMON, Process Monitor)

: 서버 프로세스가 작업을 수행하는 중 실패한 경우 활동.

-실패한 프로세스가 수행중이던 트랜잭션 롤백

-실패한 프로세스가 획득했던 메모리, 락 및 기타 자원 할당 해제



시스템 모니터 백그라운드 프로세스 (SMON, System Monitor)

-인스턴트 복구 수행

-데이터 블록의 연속된 공간 통합

-임시 세그먼트 제거

-OPTIMAL 크기 유지



체크포인트 백그라운드 프로세스 (CKPT, CheckPoint)

: 데이터 버퍼 캐쉬의 변경된 데이터 블록을 데이터 파일에 기록하여 메모리 내의 데이터와 데이터 파일에 저장된 데이터를 일치시키는 일련의 작업


※ 체크포인트가 발생하는 경우

로그 스위치가 발생할 경우

3초마다 발생

테이블스페이스가 오프라인으로 변경될 경우

데이터베이스가 정상 종료될 경우

사용자가 ALTER SYSTEM CHECKPOINT 명령으로 명시적인 체크포인트를 발생시킬 경우

체크포인트 관련 파라메터에서 정한 값에 의해 활동 주기가 되었을 경우



<기타 백그라운드 프로세스>

ARCH (Archiver)

CJQ0 (Coordinator Job Queue)

Jnnn

Pnnn (Parallel Query Slaves)

RECO (Recoverer)

Dnnn

Snnn



<오라클 10g에서 추가된 백그라운드 프로세스>

DMnn

MMAN (Memory Manager)

MMON (Memory Monitor)

MMNL (Memory Monitor Light)

RVWR






참고자료 : 책 《초보자를 위한 오라클 10g》 (정보문화사)

그외 자료 출처 : 각 자료 하단에 출처 표기

인용 이미지 출처http://docs.oracle.com/cd/B19306_01/server.102/b14220/process.htm



-블로거. 이세진


'Database' 카테고리의 다른 글

오라클 액세스와 시스템 뷰  (0) 2013.08.27
오라클 메모리  (0) 2013.08.27
오라클 설치  (0) 2013.08.26
데이터베이스  (0) 2013.08.26
Posted by DBA SJ
:

오라클 메모리

Database 2013. 8. 27. 10:52 |


<오라클 메모리 종류>


PGA (Program Global Area)

데이터베이스에 접속하는 모든 유저에게 할당되는 가각의 서버 프로세스가 독자적으로 사용하는 오라클 메모리 영역


**PGA의 구체적인 구조

-정렬 공간(Sort Area)

-세션 정보 (Session Information)

-커서 상태 정보 (Cursor State)

-변수 저장 공간 (Stack Space)



SGA (System Global Area)

오라클이 데이터를 읽거나 변경하기 위해 사용하는 공용 메모리 영역


공유 풀 (Shared Pool)

SGA를 관리하는 메커니즘, 파라메터 정보, 실행된 SQL, SQL 분석/실행 정보 및 오라클 오브젝트 정보를 저장하는 메모리 공간


고정 영역 (Permanent Area)

오라클이 SGA를 관리하는 메커니즘 및 오라클 파라메터 정보가 저장


동적 영역 (Dynamic Area)


-라이브러리 캐쉬

데이터베이스에 접속한 유저가 실행한 SQL, 오라클이 내부적으로 사용하는 SQL(Recursive SQL), SQL에 대한 분석 정보(Parse Tree) 및 실행 계획(Execution Paln)이 저장


-데이터 딕셔너리 캐쉬

데이터 딕셔너리 캐쉬는 로우 캐쉬(Row Cache)라고도 부름

데이터 딕셔너리 캐쉬에는 테이블, 인덱스, 함수 및 트리거 등 오라클 오브젝트 정보 및 권한 등의 정보가 저장



**LRU 알고리즘 (Least Recently Used)

최근에 가장 적게 사용한 메모리 공간을 필요시 가장 먼저 사용하는 오라클 메모리 관리 방법


**구문 분석 (Parse)

해당 SQL에 대한 분석을 통해 실행할 수 있는 단계를 만드는 것


소프트 구문 분석 (Soft Parsing) : 공유풀에 저장된 정보를 재사용


하드 구문 분석 (Hard Parsing) : 재사용하지 못하고 다시 구문 분석을 수행



데이터 버퍼 캐쉬 (Data Buffer Cache)

오라클이 데이터를 읽고 수정하기 위해 디스크에 존재하는 데이터를 읽어 저장하는 메모리 공간



리두 로그 버퍼 (Redo Log Buffer)

오브젝트 및 데이터 변경 시 생성되는 로그를 저장하는 SGA 메모리 공간



대형 풀 (Large Pool)

대형 풀을 지정하게 되면 공유 풀의 부하를 감소시키게 됨



자바 풀 (Java Pool)

자바 명령을 구문 분석할 경우 사용하는 메모리 공간




[이미지=Oracle.com] 오라클 인스턴스와 데이터베이스



공유 메모리 자동 관리 (ASMM, Automatic Shared Memory Management)

오라클 10g의 새로운 기능으로 오라클이 업무 부하를 판단하여 공유 풀, 기본 데이터 버퍼 캐쉬, 대형 풀 및 자바 풀의 크기를 조정하는 기능






참고자료 : 책 《초보자를 위한 오라클 10g》 (정보문화사)

인용 이미지 출처 : http://docs.oracle.com/cd/E28271_01/server.1111/e25789/intro.htm#autoId23



-블로거. 이세진


'Database' 카테고리의 다른 글

오라클 액세스와 시스템 뷰  (0) 2013.08.27
오라클 프로세스  (0) 2013.08.27
오라클 설치  (0) 2013.08.26
데이터베이스  (0) 2013.08.26
Posted by DBA SJ
:

오라클 설치

Database 2013. 8. 26. 16:49 |





오라클 설치를 위한 사전 작업

1. 시스템 요구사항

2. 운영체제 요구사항

3. 운영체제 커널 파라메터

4. 필요한 디렉토리 생성

5. 운영체제 유저/그룹 생성



오라클 소프트웨어 설치

1. X윈도우 설정

2. 인스톨러  실행

3. 기본 정보 설정

4. 인스톨러 설치

5. 설치 타입 선정

6. 사전 필요 작업 확인

7. 설치 목록 선택 설정

8. 설치

9. 링크 및 기타 설정

10. 설치 종료



데이터베이스 필수 요소 

데이터 파일 / 컨트롤 파일 / 리두 로그 파일



수동 데이터베이스 생성

1. 파라메터 파일 생성

2. 데이터베이스 생성

3. 필수 스크립트 수행

4. 데이터베이스 생성 완료



오라클 넷 (Oracle Net)

외부에서 운영체제 인증없이 데이터베이스로 직접 접속을 하기 위해서는 보통의 경우 오라클 넷이라는 아키텍처 이용



오라클 넷의 구성파일

Ldap.ora

Names.ora

tnsnames.ora

listener.ora

sqlnet.ora






참고자료 : 책 《초보자를 위한 오라클 10g》 (정보문화사)




-블로거. 이세진


'Database' 카테고리의 다른 글

오라클 액세스와 시스템 뷰  (0) 2013.08.27
오라클 프로세스  (0) 2013.08.27
오라클 메모리  (0) 2013.08.27
데이터베이스  (0) 2013.08.26
Posted by DBA SJ
:

데이터베이스

Database 2013. 8. 26. 16:46 |




DBMS (Database Management System)

데이터베이스 관리 시스템( database management system, DBMS)은 다수의 사용자들이 데이터베이스 내의 데이터를 접근할 수 있도록 해주는 소프트웨어 도구의 집합이다.

http://ko.wikipedia.org/wiki/데이터베이스_관리_시스템


**관계형 DBMS (RDBMS)



데이터베이스 플랫폼

오라클, DB2, 알티베이스, MSSQL, TERADATA

MySQL, PostgreSQL, MariaDB, Sybase



웹과 데이터베이스


-웹 애플리케이션 서버(Web Application Server, WAS)

인터넷 상에서 HTTP를 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해 주는 미들웨어(소프트웨어 엔진)

http://ko.wikipedia.org/wiki/WAS



데이터웨어 하우스와 데이터베이스

데이터 웨어하우스(data warehouse)란 사용자의 의사 결정에 도움을 주기 위하여, 기간시스템의 데이터베이스에 축적된 데이터를 공통의 형식으로 변환해서 관리하는 데이터베이스를 말한다. 줄여서 DW로도 불린다.

http://ko.wikipedia.org/wiki/데이터_웨어하우스



오라클 버전 및 제품군


-오라클 최신버전 다운로드 받기 

http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html








참고자료 : 책 《초보자를 위한 오라클 10g》 (정보문화사)

그외 자료 출처 : 각 자료 하단에 출처 표기

인용 이미지 출처http://cscs.medschl.cam.ac.uk/database-services/



-블로거. 이세진


'Database' 카테고리의 다른 글

오라클 액세스와 시스템 뷰  (0) 2013.08.27
오라클 프로세스  (0) 2013.08.27
오라클 메모리  (0) 2013.08.27
오라클 설치  (0) 2013.08.26
Posted by DBA SJ
: