Hash Partition 이란?

- Hash Partition은 Partitioning Key 값에 해시 함수를 적용하여 Data를 분할하는 방식으로 History Data의 관리의 목적 보다는 성능 향상의 목적으로 나온 개념 입니다
- Hash Partition 은 Range Partition 으로 만들기 힘든 사항 즉, 조건을 주기 힘든 경우, 각 파티션 이 고르게 나누어지지 않아 밸런스을 유지하기 힘든 경우라고 판단되는 경우에 유리합니다.
- Hash Partition 의 경우 각각 다른 파티션에 데이터가 고르게 분산시키기 위해서는 반드시 파티션 의 개수를 명시하여야 하며, 파티션의 수를 2 의 거듭 제곱수 (즉, 2,4,8,16 ….)로 설정하여야 합니다.
- NULL 값은 첫 번째 파티션에 위치하게 됩니다.

'Database > Oracle' 카테고리의 다른 글

DBA_TABLESPACES  (0) 2010.04.22
DBA_OBJECTS  (0) 2010.04.22
오라클 기본 용어들  (0) 2010.04.08
오라클 옵션  (1) 2010.04.02
Sort Merge Join  (0) 2010.04.01

1장 오라클이란

1. 오라클이란 ?
그리스/로마 신화에 나오는 신탁을 의미. 즉 인간의 물음에 대해 신이 해주는 답변처럼 정확한 결과를 얻을 수 있다는 뜻을 가지고 있다. 데이터베이스 관리 프로그램의 하나
2. 데이터베이스 시스템이란?
데이터베이스 시스템은 데이터를 효과적으로 관리하기위해 사용하는 프로그램이다.
※데이터베이스 시스템의 구성
①데이터 정의 : 데이터를 저장하는 객체를 정의하는 기능
②데이터 조작 : 저장된 데이터를 사용자의 요구에 따라 조작하는 기능
③데이터 제어 : 저장된 데이터를 누구나 일괄적으로 사용할 수 있도록 하는 기능. 보안과 권한 검사 기능도 요구
3. 질의처리
질의 처리란 데이터베이스 내의 데이터를 검색, 삽입, 갱신, 삭제하는 조작과 데이터 관리를 위해 테이블이나 인덱스 등을 생성하는 것을 말함.
1999년 표준 질의 언어로 SQL문이 제정되었다.
4. 트랜잭션
논리적인 일의 단위. 물리적으로 보이는 처리단위가 아니라 시스템상의 처리단위를 말한다.
5. 데이터 모델
데이터 모델이란 데이터베이스 관리 시스템을 지원하는 형태를 의미. 시대에따라 변화
※DBMS의 종류
①계층형 DBMS : 말 그대로 데이터를 층층이 쌓은 데이터베이스 형으로 단순작업에서는 효율적이나 시대가지나면서 복잡해지는 데이터조작에 따라가지 못함.
②관계형 DBMS : 관계형 DBMS는 2차원적 테이블에 데이터를 저장하는 형태를 말함. 응용프로그램 개발의 생산성에 획기적인 개선을 가져왔음. ( 엑셀과 비슷한 형태임 )
③객체형 DBMS : 객체형이란 말 그대로 2차원적인 테이블이 아닌 그림이나 아이콘의 형태로 생성되는 형태를 가졌다. 그러나 아이콘 등의 형태 이다보니 다른 사람이 쓰는 데이터베이스의 형태와 다르면 호환성에 문제가 생기기는 단점이 있다.
④객체관계형 DBMS : 이것은 객체형과 관계형의 장점을 뽑아서 만든 것으로 화면에 보기에는 객체형으로 만들어 구분하기 쉽게 해놓고 데이터의 저장형태는 관계형처럼 2차원 테이블에 저장하는 형태의 데이터베이스 관리 시스템을 말한다. 현재 가장 많이 쓰이는 형태이다.
6. 클러스터
클러스터란 회사에서 웹 사이트 등을 돌릴 때  대용량의 서버급 컴퓨터를 사용하는 것이 아니라 저용량의 컴퓨터를 여려대 연결시켜 하나의 프로그램을 수행하도록 하여 대용량의 서버급 컴퓨터의 처리속도와 비슷하게 행하는 것을 말함.
클러스터의 장점은 처리를 담당하는 컴퓨터가 여러 대이기 때문에 컴퓨터 중 한두대가 문제를 일으킨다 해도 서비스에는 지장을 주지 않는다는 점과 서비스가 증가하면 컴퓨터와 병렬서버를 증가시키면 되므로 확장성에 큰 이점을 가지고 있다.
7. 데이터 가드시스템
장애발생시 원거리에서 데이터베이스를 별도로 관리할 수 있는 시스템을 말한다. 이 경우 서비스중인 데이터베이스를 주 데이터베이스라 하고  원격지에서 사용하는 데이터베이스를 대기, 즉 예비 데이터베이스라 한다. 이 경우 원격지의 데이터베이스는 주 데이터베이스의 로그파일을 이용하여 최대한 장애발생전의 상태로 복구한다.
8. 데이터가드 브로커
데이터가드 브로커란 데이터가드에서 말한 주 데이터베이스의 로그파일을 예비 데이터베이스에 전송하는 시간을 설정하여 사람이 직접 하지 않아도 로그파일을 전송하여 장애발생시 최대한 장애발생전의 상태로 돌릴 때 유용하게 쓰인다.
※오라클 9i 데이터베이스의 특징
클러스터구조의 데이터베이스를 가지기 때문에 네트워크나 하드웨어 또는 디스크의 장애에 대비하여 지속적인 서비스를 가능한 클러스터를 제공하며 데이터가드와 데이터가드 브로커를 사용하여 예비 데이터베이스와 로그파일 전송을 자동화하여 장애발생시 빠른 복구를 가능하게 하였다. 이것은 인터넷 비즈니스가 활성화되는 요즘시기에 인터넷 비즈니스의 중단 없이 서비스가 지속되어야하는 요구사항을 충분히 반영한 시스템이다.


2장 오라클9i 서버구조

9. SGA
시스템 글로벌 영역, 즉 시스템을 구성하는 전반적인 영역을 이야기한다.
이곳에는 공유풀, 자바풀, 대용량풀, 인스턴스, 리두로그버퍼, 데이터버퍼캐시 등이 포함되어있다.
10. PGA
프로그램 글로벌 영역으로 SGA가 공통적으로 사용된다면 PGA는 독립적으로 사용되는 비 공유영역이다.
이곳에는 스텍과 세션정보를 저장하게된다.
11. Sort Area
사용자가 요구하는 데이터를 정렬할 때 필요한 메모리영역. 이 영역의 메모리 크기를 벗어나는 작업이 있을 때에는 오라클은 임시테이블 스페이스를 사용하기 때문에 I/O를 일으키며 디스크의 사용양이 증가하여 시스템의 전반적인 성능이 저하되는 결과를 가져온다. 이 영역의 메모리는 Sort_Area_Size 파라미터의 크기로 결정.
12. 인스턴스
SGA와 오라클 프로세서를 조합시키는 것을 의미함. 사용자가 SGA에 접속하여 프로그램들을 처리할 때 인스턴스가 오라클 내의 프로그램들을 알맞게 연결해주는 것을 뜻함.
13. 공유풀
SGA구성 요소중에 데이터베이스 버퍼캐시와 함께 데이터베이스의 성능을 결정하는 중요한 메모리 영역. 크게 라이브러리 캐시, 딕셔너리 캐시, 컨트롤 구조로 구성.
※공유풀의 역할
①라이브러리 캐시 내에 동일한 SQL이 존재하는지 검색 후 존재한다면 분석없이 실행계획에 따라 데이터를 검출하나 존재하지 않을 경우 새로운 SQL문으로 인식하여 구문분석을 시작한다.
②새로운 SQL문이 표준SQL문에 합당한 문장인지 체크, 그 후 데이터 딕셔너리의 정보를 검색하여 지금의 사용자가 누구인지와 사용자가 접근하려는 데이터베이스의 객체가 무엇인지를 체크(데이터딕셔너리에서 테이블, 인덱스, 뷰, 사용자 권한, 롤, 관계등을 검색한다.) 후 사용자의 요구에 가장 빠른 검색 경로를 통해 추출하는 실행계획을 새움.
③컨트롤 구조
- 커서열기 : SQL문 하나마다 하나의 커서로 지정되며 SQL문의 실행이 끝나면 커서는 닫힌다. 즉 사용자가 SQL을 통해 데이터를 추출하고자 할 때 커서가 열린다.
- 구문분석 : 공유 풀 내의 동일한 SQL문장이 있는지 검색하여 존재하면 그대로 실행, 존재하지 않는다면 구문분석 후 데이터 딕셔너리에서 해당 객체와 권한등을 추출하여 가장 효율적인 검색 경로를 뽑아내어 실행하고 저장한다.
- 실행 : 패스트리(PASSTREE)를 데이터버퍼에 저장하여 동일SQL이 여러 사용자에게 사용되었다면 이를 공유.( 패스트리는 논리적 물리적 I/O를 실행 )
- 데이터 검출 : SQL문중 Select문에 한하는 것으로 Select문의 결과로 얻어진 데이터 집합을 검출.
- 커서닫기 : 공유 풀에 저장되어있는 커서는 재사용이 가능하며 사용하지 않는 커서는 알고리즘에 따라 제거된다.
14. 리두 로그 버퍼
리두로그 버퍼란 데이터베이스의 장애발생시 복구를 위해 모든 변경된 정보와 원래의 원본정보를 저장하는 버퍼이며 이를 저장하는 리두로그 엔트리를 지칭하는 말이기도 하다.
리두 로그 버퍼는 지정된 크기만큼 데이터를 메모리에 저장하고 있다가 온라인 리두로그파일에 저장한다.
리두로그 버퍼의 크기는 LOG_BUFFER이며 단위는 byte이다. 이 버퍼의 크기가 클수록 메모리에 데이터를 보유할 수 있는 가능성이 크므로 온라인 리두 로그파일의 I/O를 줄일수 있다.
15. 대용량 풀
오라클 8부터 추가된 개념으로 백업과 복구에 연속적으로 파일I/O의 버퍼링을 위해 사용.
16. 자바 풀
오라클의 자바코드가 사용하는 메모리 영역이다. 오라클 내의 자바 내장 프로시저를 컴파일하여 자바머신에만 로딩하는 작업을 할 경우 20MB정도의 메모리면 충분하나 오라클 공유서버와 함께 EBJ, CORBA를 함께 운용한다면 1G정도의 메모리가 할당되어야 원활한 기동이 가능.
17. 사용자 프로세스
애플리케이션 프로그램의 실행으로 발생하며 클라이언트 프로세스라고도 한다. 오라클은 클라이언트 프로세스가 발생 후 특정 요구를 하면 서버프로세스를 생성하게 되며 생성된 서버 프로세스는 클라이언트 프로세스와 통신하여 클라이언트의 요구사항에 부응함
18. 서버  프로세스
서버 프로세스는 SQL문을 구문분석 후 실행하고 데이터베이스의 버퍼캐시 내에 해당 데이터가 없음 데이터 파일을 읽어 데이터베이스 버퍼캐시에 로딩하여 작업 후 그 결과인 커서를 반환하여 클라이언트 프로세스에 제공.
※서버 프로세스의 종류
- 전용서버(Dedicated Server) : 클라이언트와 서버의 1:1 대칭 서버로 배치작업이나 백업/복구 등의 대용량 데이터를 처리할 때 주로 사용된다.
- 공유서버(Shared Server) : 클라이언트 프로세스가 서버프로세스가 아닌 디스패처 프로세스와 접속하여 작업하는 모드로 디스패처 프로세스는 동시에 여러개의 클라이언트 프로세스와 작업할수 있으며 클라이언트의 요구가 있을때 디스패처는 SGA내의 요청 대기열에 클라이언트의 요구를 저장하게 되고 서버프로세스는 요청 대기열의 내용들을 순차적으로 처리하여 응답 대기열에 담아두면 디스패처 프로세스가 응답 대기열에 담긴 내용들을 순차적으로 클라이언트 프로세스에게 돌려준다.
이 모드는 다수의 클라이언트 프로세스들이 서버프로세스를 공유하므로 시스템자원을 효율적으로 사용 가능하다.
19. 백그라운드 프로세스
백그라운드 프로세스는 실제로 작업을 주관하는 프로세스로 이것은 유닉스와 NT계열의 머신에서 활동하는 방법이 다르다.

20. DBWn( DataBase Writer )
디스크의 모든 데이터블록을 처리하는 DBWN프로세스는 사용자가 해당 트랜잭션을 완료하는 Commit명령어를 사용했을 때 바로 디스크에 저장하는 것이 아니라 오라클 데이터베이스 사용자들이 공유할 수 있도록 대기상태로 만들어 놓을 때 사용된다.
그 후 데이터베이스 내의 모든 변경 정보를 가지고 있는 Dirty Buffer List에 의해 해당 데이터 블록들을 일괄적으로 저장함.
※DBWN의 실행
- 서버프로세스가 알고리즘에 의해 Free Buffer를 찾지 못할 경우 Write List속의 버퍼들을 데이터파일에 저장.
- 체크 포인트 발생시 바로 전 체크 포인트가 적용된 후에 발생한 데이터베이스 버퍼 캐시 상의 모든 Dirty Buffer을 데이터 파일에 저장.
※체크 포인트란?
SGA의 변경된 내용과 데이터베이스 파일의 내용을 동기화하는 데이터베이스 이벤트이다.
21. LGWR( Log Writer )
LGWR은 리두 로그 엔트리의 버퍼들을 디스크에 있는 온라인 리두 로그 파일에 쓰는 일을 처리. 또한 온라인 리두 로그의 로그 시퀀스 번호를 데이터 파일 헤더와 컨트롤 파일에 쓰고 마지막으로 Dirty Buffer List를 지우는 작업을 실행함.
데이터베이스의 환경 설정에 따라 LGWR은 DBWN에게 변경 사항을 쓰도록 명령함.
22. SMON( System Monitor )
인스턴스가 실패할 경우 실패한 인스턴스를 복구할 때 사용된다.
SMON은 작은 공간 조각을 모아 합치거나 이음으로써 데이터베이스의 디스크공간 관리 문제를 처리하며 더 이상 쓰지 않는 임시 세그먼트들과 죽은 트랜잭션을 정리한다.
오라클9i의 Rear Application Cluster 환경에서의 SMON은 하나의 인스턴스에 한하여 그 기능을 다함.
23. PMON( Process Monitor )
데이터베이스에 대한 사용자들의 프로세스들이 올바르게 작동하는 지를 감시한다.
사용자가 서버에 접속 시 실패하면 사용자의 나머지 모든 작업을 삭제하며 시스템에 가한 모든 변경 작업을 롤백, 중단하여 원래 상태로 복구한 후 종료된 프로세스가 가지고 있는 잠금을 풀고 실패한 프로세스가 사용한 SGA영역의 리소스를 되돌려 준다. 그러나 MTS환경일 경우 실패한 서버프로세스와 디스패처 프로세서가 재가동된다.
24. ARCn( Archiver )
로그 스위치 발생 후 기설정 된 디렉토리로 온라인 리두로그 파일으 l사본을 이동시키는 작업을 처리하며 최대 10개까지 프로세스를 보유할 수 있다.
※로그 스위치란
오라클 이벤트의 하나로 하나의 리두로그 그룹이 다 채워지면 다른 그룹으로 리두로그 버퍼의 내용을 내려쓸 때 발생.
25. RECO( Recoverer )
분산 데이터베이스 환경에서 네트워크나 시스템의 오류로 인한 분산 트랜잭션의 문제를 해결.
26. Job Queue 프로세스
특정 시간에 특정 작업을 실행하는 배치 프로세스이며 오라클9i부터 사용자의 배치 작업의 양에 따라 자동으로 관리한다.
27. Dnnn( Dispatcher )
사용자의 SQL문 요청을 처리하게 될 공유 서버 프로세스 등을 사용자 프로세스들과 접속 시키는 오라클 MTS아키텍처의 부분으로서 작동.
프로세스를 디스패처와 접속 시키는 SQL*Net Listener를 통해 데이터베이스 안으로 들어오게 되며 이 때 디스패처는 사용자 프로세스를 찾게 된다.
단. 공유서버는 사용자 프로세스를 대신하여 데이터베이스와 상호작용하여 데이터를 얻음.
28. LMS( Lock Manager Server )
오라클의 리얼 애플리케이션 클러스터 환경에서 시스템의 내부적인 잠금을 관리하며 원격 인스턴스로부터 발생한 인터럽트를 획득하거나 막는 것을 관리하여 각 인스턴스의 메시지를 통제한다.
LMS는 RAC환경을 구성하는 여러 개의 인스턴스 내의 데이터 무결성을 보장하는 동기화 작업을 담당하는 중요한 요소이다.
29. QMNn( Queue Monitor )
큐 모니터 프로세스는 Oracle Advanced Queuing를 사용할 때 작동하는 프로세스로 10개까지 조정 가능함.
◎데이터베이스
○논리적 구조
30. 테이블스페이스
오라클 데이터베이스의 데이터를 저장하는 가장 큰 개념이며 반드시 하나의 객체는 하나의 테이블스페이스에 저장되는 것을 원칙으로 한다. 일반적으로 생성 초기에는 하나의 데이터파일을 가지고 소유하나 DBA가 데이터의 양이나 그 성격에 따라 데이터파일을 추가하는 것이 가능하다.
31. 세그먼트
테이블 스페이스를 구성하는 논리적인 저장단위로 오라클에서는 4가지 형태의 세그먼트를 지원한다.
- 데이터 세그먼트 : 테이블, 클러스터 테이블, 구체화 뮤와 구체화 뷰 로그의 데이터를 저장하는 세그먼트로 사용자가 테이블에 데이터를 입력하면 그 데이터는 오라클 데이터베이스에서 데이터 세그먼트로 인식/관리 된다.
세그먼트 중 가장 빈번한 I/O를 일으킨다.
- 인덱스 세그먼트 : 테이블 데이터의 인덱스를 저장하는 세그먼트로 사용자가 인덱스를 생성하면 오라클 데이터베이스는 해당 인덱스의 정보를 인덱스 세그먼트에 저장시킨다.
- 롤백 세그먼트 : 오라클 데이터베이스는 반드시 한 개 이상씩 가지고 있는 세그먼트로 롤백 세그먼트는 트랜젝션에 의해 변경된 데이터의 변경 이전 값을 저장하여 동일한 데이터에 접근하는 사용자들에게 데이터의 일치성을 제공하며 데이터베이스의 복구에 주로 사용된다.
이 작업은 기본적으로 설정해 놓은 시간이 되면 자동으로 수행되게 해놓으며 이것을 자동 언두 관리라 하며 사용자의 세션의 변경되기 이전 값의 이미지를 저장하는 언두 데이터를 오라클 데이터베이스 시스템이 자동으로 언두 테이블스페이스에서 관리하므로, 사용자가 커밋하여 이미 데이터베이스에 반영한 데이터도 원래의 값으로 되돌릴 수 있는 플래시 백 질의 기능을 제공가능하다.
- 임시 세그먼트 : 임시 세그먼트는 Sort_Area_Size에 할당된 메모리의 크기를 넘는 대용량의 데이터를 정렬할 때 사용하는 작업공간이다. 주로 데이터베이스에 접속하여 데이터를 추출하는 세션 중에 정렬을 필요로 하는 요청이 있을 때 서버의 메모리의 정렬 임계치를 넘는 용량의 데이터들은 임시 세그먼트에서 정렬을 마친 후 사용자 세션이 그 결과를 되돌려준다.
임시 세그먼트가 필요한 작업은 다음과 같다.
▷Create index...
▷Select.....oder by
▷Select distinct...
▷Select....group by
▷Select....union
▷Select.....intersect
▷Select....minus
▷인덱스 되지 않은 테이블 내 데이터를 조인할 때
▷분산환경에서 데이터 변경작업 시
※세그먼트의 유의점은 이와 같은 세그먼트 들은 한 개 이상의 테이블스페이스에 저장되어야 한다.
32. 익스텐트
데이터를 저장하기위한 연속적인 데이터블록의 집합이며 세그먼트를 구성하는 논리적인 저장 단위로 테이블 생성 시 설정된 크기만큼의 데이터블록 할당 시 최초의 할당 블록을 초기 익스텐트라고 하며 사용자의 Insert 작업으로 해당 블록의 저장 공간이 부족하게 되면 새로운 데이터 블록이 필요하게 되어 사용자가 설정한 크기 또는 최소한 기존의 익스텐트의 크기만큼의 연속적인 블록을 오라클에서는 할당하게 된다.
즉. 익스텐트란 오라클에서 최초의 영역이며 향후 데이터의 증가로 인한 데이터 영역의 증가단위를 나타내는 논리적인 저장단위이다.
33. 데이터블록
데이터를 저장하는 가장 작은 논리적인 단위며 데이터에 접근을 위한 I/O의 단위로 운영체제의 블록 크기의 배수로 오라클 데이터 블록의 크기를 결정 하는 것이 일반적이다.
데이터 블록의 크기는 운영체제마다 다르지만 2048~16384Byte로 지정하며 OLTP의 데이터 프로세싱 환경일수록 작게, 그리고 데이터웨어하우스 등의 DSS(Decision Support System)데이터 프로세싱 환경일수록 더 큰 크기의 데이터블록을 사용한다.
오라클에서의 데이터 블록은 사용자가 원하는 데이터를 읽고 쓰는 작업의 기본단위이며 블록의 크기는 데이터베이스를 생성할 때 그 크기를 설정한다. 즉 데이터블록의 크기는 데이터프로세싱의 기초를 다지는 작업이므로 가장 중요하다고 할 수 있다.

위의 표와 같은 사항을 고려하여 비즈니스 환경에 알맞은 데이터베이스를 생성해야한다.
※로우 체인이란
데이터 저장 시 충분히 큰 데이터 블록이 없는 경우 원래의 데이터블록의 내용을 나누어 다른 데이터블록에 분산하여 저장하는 것을 체이닝이라 한다.
이와 같은 경우 오라클의 성능저하에 영향을 끼치므로 방지하는 것이 좋다.
※다중 블록 사이즈
오라클 9i부터 사용된 개념으로 데이터블록의 설정은 데이터베이스의 생성 시에만 설정 가능하나 9i에서는 다중 블록 사이즈라는 시스템을 도입하여 데이터베이스에서 관리하던 데이터블록을 테이블스페이스에서 관리하게 되어 5개 이상의 비표준 데이터블록을 허용하게 된다. 즉. 데이터베이스를 생성하지 않고도 테이블스페이스에서 데이터블록의 크기를 변경할 수 있게 됐다는 말이다.
○물리적 구조
34. 데이터파일
데이터파일이란 논리적인 구조 데이터베이스 데이터들을 물리적으로 저장하는 파일을 말함.
오라클에서는 논리적으로는 테이블스페이스에 저장하나 물리적으로는 테이블 스페이스를 구성하는 데이터파일에 데이터를 저장한다.

'Database > Oracle' 카테고리의 다른 글

DBA_OBJECTS  (0) 2010.04.22
Hash Partition  (0) 2010.04.12
오라클 옵션  (1) 2010.04.02
Sort Merge Join  (0) 2010.04.01
Nested Loop Join - 중첩 루프 조인  (0) 2010.04.01

호~ 괜찮은데... xml loader...

LOAD XML [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name'
[REPLACE | IGNORE]
INTO TABLE [db_name.]tbl_name
[CHARACTER SET charset_name]
[ROWS IDENTIFIED BY '<tagname>']
[IGNORE number [LINES | ROWS]]
[(column_or_user_var,...)]
[SET col_name = expr,...]

* 명령어들
shell> mysql --xml -e 'SELECT * FROM mytable' > file.xml

mysql> LOAD XML LOCAL INFILE 'person-dump.xml' INTO TABLE person2;

mysql> LOAD XML LOCAL INFILE 'address.xml'
    ->   INTO TABLE person
    ->   ROWS IDENTIFIED BY '<person>';

http://dev.mysql.com/doc/refman/5.5/en/load-xml.html

'Database > Mysql' 카테고리의 다른 글

프로시저의 예  (0) 2011.01.26
MySQL DUMP 백업 및 복원  (0) 2010.09.20
load data  (0) 2010.07.19
mysql replication error  (0) 2010.06.28
MySQL 사용 중 발생할 수 있는 대기 현상 장애의 원인과 대처  (0) 2009.12.30

유닉스 명령어 요약

 

 

SUN

IBM

HP

CPU

CPU 정보

psrinfo -v

sar ?P ALL 1 3

glance(a)

CPU 사용량

top

topas

top, glance

MEMORY

Memroy 정보

prtconf

topas

dmesg

Process Memory

ps ?elf, ps -aux

ps aux

ps ?elf

System Memory

prtmem,vmstat

vmstat

vmstat

SYSTEM

LOG

/var/adm/messages

/var/adm/syslog

/var/adm/syslog/syslog.log

OS Version

uname -a

uname ?a

uname -a

Patch No

showrev -a

lslpp ?L|grep motif

swlist

DISK

DISK I/O

Iostat 3 1

Iostat 3 1

Iostat 3 1

NETWORK

 

netstat, ifconfig

netstat, ifconfig

netstat, ifconfig


 

 

CPU 관련

 

CPU 정보 확인

l         /usr/sbin/psrinfo ?v

Status of processor 6 as of: 05/20/03 09:56:03

  Processor has been on-line since 05/14/03 10:43:05.

  The sparcv9 processor operates at 400 MHz,

        and has a sparcv9 floating point processor.

Status of processor 7 as of: 05/20/03 09:56:03

  Processor has been on-line since 05/14/03 10:43:09.

  The sparcv9 processor operates at 400 MHz,

        and has a sparcv9 floating point processor.

Status of processor 10 as of: 05/20/03 09:56:03

  Processor has been on-line since 05/14/03 10:43:09.

  The sparcv9 processor operates at 400 MHz,

        and has a sparcv9 floating point processor.

Status of processor 11 as of: 05/20/03 09:56:03

  Processor has been on-line since 05/14/03 10:43:09.

  The sparcv9 processor operates at 400 MHz,

        and has a sparcv9 floating point processor.

 

CPU 사용량 확인

l         TOP

 

 

메모리 관련

 

메모리 정보 확인

 

l         /usr/platform/sun4u/sbin/prtdiag

CPU , Memory ,I/O CARD 조회가능

 

l         /usr/sbin/prtconf

 

System Configuration:  Sun Microsystems  sun4u

Memory size: 14336 Megabytes

System Peripherals (Software Nodes): ……….계속 화면출력


프로세스 메모리 확인

l         /usr/ucb/ps ?aux

USER   PID %CPU %MEM   SZ  RSS TT  S START  TIME COMMAND

ohzzam 23410  5.0   0.1   7928 4280 pts/23 R 23:47:52 533:39 deq

    …………

 

SZ  : swap space(RAM disk swap 더하여) kilobytes 보여준다.

RSS : RAM memory 사용량을 kilobytes 보여준다.

%MEM : RAM memory 사용량을 % 보여준다.

l         /usr/bin/ps ?elf

F S  UID  PID  PPID  C PRI NI  ADDR  SZ  WCHAN  STIME TTY  TIME

8 S ohzzam 12669  1   0 41 20     ?   158214   ?     5월 16일    4:28 

 

SZ : swap space(RAM disk swap 더하여) page 단위로 보여준다.

한 page 단위는 4KB 또는 8KB 이며, 시스템에 따라 다르다.

정확한 page 단위는 "pagesize"이란 명령으로 확인할 수 있다.

% pagesize

8192

 

시스템 메모리 확인

l         % prtmem

 
Total memory:           13918 Megabytes

Kernel Memory:            462 Megabytes

Application:               2938 Megabytes

Executable & libs:          534 Megabytes

File Cache:               9613 Megabytes

Free, file cache:            360 Megabytes

Free, free:                   9 Megabytes

l         % memps

PID     Size Resident   Shared  Private  Process              

 1161    2656k    2536k    2120k     416k  -bash

l         %memps ?m (file cache로 올라가 있는 file 확인)

……….
8k      0k F   / (inode  1577003)

8k      0k F   /user4 (inode  1023008)

8k      0k F   /user3 (inode  3779292)

8k      0k F   /user5 (inode  2551416)

8k      0k F   /user3 (inode  2399564)

8k      0k F   /user4 (inode   986633)

8k      0k F   /user3 (inode  2495086)

8k      0k F   /user3 (inode  3919991)
……….

l         %vmstat ?p 1 10
Usage: vmstat [-cisS] [disk ...] [interval [count]]

%vmstat 1 1

procs     memory            page          disk        faults      cpu

r b w   swap  free   re mf  pi po fr  de sr s6 sd sd sd  in  sy   cs  us  sy  id

0 0 0  44048  2936  3 959 44 34 43  0 1  0  2  2 1  867 6994 3662 18  9  72

 

 

시스템 관련

LOG 확인

l         vi /var/adm/messages

…….

May 20 10:50:15 testserver unix: NOTICE: alloc: /user3: file system full

May 20 10:56:49 testserver last message repeated 78 times

May 20 10:56:53 testserver unix: NOTICE: alloc: /user3: file system full

…….

운영체제 버전 확인

l         uname ?sr 또는 uname -a

SunOS 5.7

 

32/64-비트 커널로 운영 중인지 확인하는 방법

l         isainfo ?kv

64-bit sparcv9 kernel modules

또는

32-bit sparc kernel modules

 

패치 번호 확인

l         showrev { -a : hostname, hostid, Release 등 전체확인, -p : patch 번호만 확인 }

 

% showrev -a

    Hostname: testserver

Hostid: 82adj3ae

Release: 5.7

Kernel architecture: sun4u

Application architecture: sparc

Hardware provider: Sun_Microsystems

Domain:

Kernel version: SunOS 5.7 Generic 106541-19 November 2001

 

OpenWindows version:

OpenWindows Version 3.6.1  2 September 1999

Patch: 107063-01 Obsoletes:  Requires:  Incompatibles:  Packages: SUNWtleux

Patch: 107437-03 Obsoletes:  Requires:  Incompatibles:  Packages: SUNWtiu8x, SUNWtiu8

Patch: 107316-01 Obsoletes:  Requires:  Incompatibles:  Packages: SUNWploc, SUNWplcx

 

l         pkginfo (Install 되어있는 Package를 확인한다.)

system      SUNWGtkr       GTK - The GIMP Toolkit (Root)

system      SUNWGtku       GTK - The GIMP Toolkit (Usr)

system      SUNWab2m       Solaris Documentation Server Lookup

system      SUNWaccr       System Accounting, (Root)

system      SUNWaccu       System Accounting, (Usr)

system      SUNWadmap      System administration applications

 

 

디스크 관련

디스크 I/O 정보

l         iostat

Usage : iostat [ -s ] [ -a ] [ -d | -t ] [ PhysicalVolume ... ] [ Interval [ Count ]

% iostat 3 1

tty         sd0          sd1         sd2         sd3         cpu
tin  tout  kps tps serv kps tps serv  kps tps serv  kps tps serv  us sy wt id

1  1153   0  0   0  0   0   0    2  0  115   0  0   0   5  1  0 93

 

기타

한글 입력이 안되는 경우.

l         env 명령을 사용하여 LANG가 ko로 설정이 되어있는지 확인한다.

% env | grep LANG
LANG=ko

 

l         위와 같은 결과가 나오지 않는 경우에는 다음과 같이 지정을 해준다.

 

1.        csh을 사용하는 경우

% setenv LANG ko
% stty cs8 ?istrip ?parenb

2.        bash, sh , ksh을 사용하는 경우

% LANG=ko
% export LANG
또는
%LANG=ko
%export
%stty cs8
?istrip ?parenb

 

 

CPU 관련

CPU 정보 확인

l         topas

sys : 커널 사용하는 process time slice 대한 백분율.

User : 사용자 프로그램에서 사용하는 사용율.

Idle : 지금 사용되고 있지 않은 부분.

Wio : 디스크에서의 응답을 기다리는 부분을 말하는데 이 부분은 다른 프로세스가 올라와서 리소스 요청을 하면 사용될 수 있는 부분

 

l         sar ?P ALL 3 10 (root)
Usage : sal <increment> <number>

% sar -P ALL 1 2

 

AIX aix 1 5 0001D01F4C00    05/20/03

 

12:54:00 cpu    %usr    %sys    %wio   %idle

12:54:02  0       32      52      15       1

          1       31      45      19       4

          -       31      49      17       2

12:54:03  0       25      48       7      20

          1       36      34       9      21

          -       32      40       8      20

평균      0       29      50      11       9

          1       34      39      13      14

-       32      45      12      11

 

l         lsattr ?El proc0 (5L)

state     enable           프로세서 상태 거짓

type      PowerPC_RS64-III 프로세서 유형 거짓

frequency 601600000        프로세서 속도 거짓

 

CPU 사용량 확인

TOP


 

 

메모리 관련

 

메모리 정보 확인

l         topas

Memory : 물리적 메모리와 페이징 영역에 대한 부분을 보여준다.

물리적 메모리 일단 계산 가능 영역(computational area)이 있고 계산 불가 영역(noncomputational area)이 있는데 계산 가능 영역(computational) 프로세스가 사용하는 메모리의 부분이고

계산 불가 영역(noncomputational area)은 파일 캐시(file cache)용도로 사용하는 부분을 말한다.

paging in, out 대한 부분도 보여주고 외에도 top process 디스크 등의 사용율을 보여준다.

l         svmon ?G

size        inuse       free         pin        virtual

memory      1048565     901587     146978      56480     216102

pg space     753664      41379

               work       pers       clnt

pin           56480          0          0

in use       180237     721350          0

프로세스 메모리 확인

l         ps ?aux

시스템에서 진행 중인 프로세스에 대한 정보를 %CPU, %MEM, RSS 값과 함께 보여준다.

l         svmon ?P <pid>

% svmon -P 13658

 

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

     Pid Command          Inuse      Pin     Pgsp  Virtual  64-bit Mthrd

   13658 at               19230     1605     1820    13917    Y     Y

 

    Vsid     Esid Type Description                 Inuse   Pin Pgsp Virtual

   4c272       11 work text data BSS heap          8371    0   34  403

       0        0 work kernel seg                  3109  1576 1745  4647

   50994        - pers /dev/home_lv:5513252        2503     0    -     -

    89a2        - pers /dev/home_lv:5513251        2169     0    -     -

   14204       10 pers text data BSS heap,/dev/home 1590     0    -     -

   601f8 90000000 work shared library text             467     0    3   490

   4c993        - pers /dev/home_lv:5513250         223     0    -     -

   500d5        - pers /dev/home_lv:5513249         220     0    -     -

   44991        - pers /dev/home_lv:5513248         215     0    -     -

    c402 9001000a work shared library data            111     0    0   111

   1c207 90020014 work shared library                110     0   37   132

   …………..

시스템 메모리 확인

l         %vmstat ?p 1 10
Usage: vmstat [-cisS] [disk ...] [interval [count]]

%vmstat 1 1

procs     memory            page          disk        faults      cpu

r b w   swap  free   re mf  pi po fr  de sr s6 sd sd sd  in  sy   cs  us  sy  id

0 0 0  44048  2936  3 959 44 34 43  0 1  0  2  2 1  867 6994 3662 18  9  72

Memory Top 3 확인

l         svmon -uP -t 3 | grep -p Pid 또는 svmon -P -t 3 ?p

% svmon ?uP ?t 3 | grep ?p Pid

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

     Pid Command    Inuse  Pin   Pgsp  Virtual  64-bit   Mthrd

   31462   at       95870  1605  1949  39704    Y       Y

 

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

     Pid Command    Inuse  Pin  Pgsp  Virtual   64-bit    Mthrd

   26852   at       20352  1607  1841  14624    Y        Y

 

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

     Pid Command    Inuse  Pin  Pgsp  Virtual   64-bit    Mthrd

13658   at       19296  1605  1820  13917    Y        Y

Real Memory Check

l         Real Memory 사용률이 높은 3개의 프로세스를 체크하는 방법

% ps gu|head -n 1;ps gu|egrep -v "CPU|kproc"|sort +3b -n -r|head -n 3

USER  PID %CPU %MEM  SZ  RSS    TTY STAT  STIME TIME

qa64  31462  0.5   4.0  141680 143816   - A     04:40:11  5:12

qa64  13658  0.5   1.0   38536  40584    A     04:24:05  5:23

qa64  26852  0.5   1.0   41320  43804   - A     04:39:39  4:59
…………

 

시스템 관련

LOG 확인

l         syslog

기본적으로 /var/adm/syslog 여기에 위치해 있으나 없는 경우는 아래 syslog.conf에 설정되어 있는 파일 경로에서 찾으면 확인 가능하다.

l         syslog.conf

% vi /etc/syslog

마지막 부분에

# example:

# "mail messages, at debug or higher, go to Log file. File must exist."

# "all facilities, at debug and higher, go to console"

# "all facilities, at crit or higher, go to all users"

#  mail.debug           /usr/spool/mqueue/syslog

#  *.debug              /dev/console

#  *.crit                       *

#  *.debug              /tmp/syslog.out     rotate size 100k files 4

#  *.crit               /tmp/syslog.out     rotate time 1d

운영 체제 버전 확인

l         Oslevel

    5.1.0.0  또는  4.3.3.0  의 버전(Version) 으로 표시

l         uname ?M

IBM,7025-6F1

l         uname ?a

AIX aix 1 5 0001D01F4C00


패치 번호 확인

l         lslpp

% lslpp ?L | grep motif

X11.adt.motif            5.1.0.0   C  F  AIXwindows Application

X11.motif.lib             5.1.0.10  C  F  AIXwindows Motif Libraries

X11.motif.mwm          5.1.0.0   C  F  AIXwindows Motif Window Manager

X11.msg.ko_KR.motif.lib  5.1.0.0   C  F  AIXwindows Motif Libraries

X11.msg.ko_KR.motif.mwm  5.1.0.0  C  F  AIXwindows Motif Window Mgr Msgs

 

디스크 관련

디스크 I/O 정보

l         iostat
Usage : iostat [ -s ] [ -a ] [ -d | -t ] [ PhysicalVolume ... ] [ Interval [ Count ]

% iostat 3 1

tty:  tin    tout   avg-cpu:  % user  % sys   % idle  % iowait

    0.0   388.0              23.6     16.0    54.7       5.8    

 

디스크:       % tm_act     Kbps      tps    Kb_read   Kb_wrtn

hdisk1           0.1       5.8       0.1      14287   8650449

hdisk0           0.0       0.0       0.0          0         0

hdisk2           0.0       0.0       0.0          0       244

cd0              0.0       0.0       0.0          0         0

 

CPU 관련

CPU 정보 확인

l         glance (화면출력 후 a)

CPU  State     Util   LoadAvg(1/5/15 min)   CSwitch   Last Pid

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

  0 Unknown     1.5     0.6/  0.6/  0.7       742        1008

  1 Unknown     2.3     1.0/  1.0/  1.1       708       21042

l         model (Hz 표시)

정확한 결과는 아니다. 하지만 root의 권한이 필요하지 않다는 장점이 있다.

끝에 44로 표시된 부분이 440 MHz를 말한다.

                      % model    

9000/800/L1000-44

l         sam (root)

% sam -> performance monitor -> system properties ->
이동(tab), 선택(space bar)

Processors:                                                      

  Active:                   2

  Total:                    2

  CPU Version:             2.0 PA8500

  Clock Frequency:         440 MHz

  Machine Identification:     527706557

  Hardware Model:          9000/800/L1000-44

Kernel Width Support:      64

 

CPU 사용량 확인

l         glance

l         top


 

 

메모리 관련

메모리 정보 확인

l         sam (root)

% sam -> performance monitor -> system properties ->
이동(tab), 선택(space bar)

Physical Memory:         2049.8 MB

Real Memory:

Active:                274282.9 KB

Total:                 586006.5 KB

Virtual Memory:

Active:                431045.1 KB

Total:                 815797.4 KB

Free Memory Pages:       263434 at 4 KB/page

Swap Space:

Avail:                 4096 MB

Used:                  745 MB

l         dmesg

여러 정보가 출력 후 맨 아래에 결과 표시

Memory Information:

physical page size = 4096 bytes, logical page size = 4096 bytes

physical: 2097152 Kbytes, lockable: 1562592 Kbytes,
available: 1800988 Kbytes

 

프로세스 메모리 확인

l         ps ?elf

% ps ?elf | grep altibase

401 R  qa32 21042  1  0 152 20  4e73d340 40727   - 08:04:18 ? 14:37 /user5/qa32/ altibase -a boot

l         glance (root)

시스템 메모리 확인

l         %vmstat ?p 1 10
Usage: vmstat [-cisS] [disk ...] [interval [count]]

%vmstat 1 1

procs    memory     page    disk        faults        cpu

r b w   swap  free   re mf  pi po fr  de sr s6 sd sd sd  in  sy   cs  us  sy  id

0 0 0  44048  2936  3 959 44 34 43  0 1  0  2  2 1  867 6994 3662 18  9  72

 

 

시스템 관련

LOG 확인

l         syslog

% vi /var/adm/syslog/syslog.log      (새로운 로그파일)

% vi /var/adm/syslog/OLDsyslog.log  (이전   로그파일)

운영 체제 버전 확인

l         uname

% uname ?a

HP-UX hp B.11.11 U 9000/800 527706557 unlimited-user license

패치 번호 확인

l         swlist

% swlist -l product | grep libc

PHCO_24400            1.0            libc cumulative patch

PHCO_24402            1.0            libc cumulative header file patch

 

디스크 관련

 

디스크 I/O 정보

l         iostat

%iostat 3 1

 

  device    bps     sps    msps 

c2t0d0      0     0.0     1.0
c1t0d0      0     0.0     1.0

 

l         netstat ?in

Interface별 확인, Interface 이름 확인.

% netstat -in

Name  Mtu  Net/Dest    Address    Ipkts  Ierrs Opkts  Oerrs Collis Queue

lo0   8232 127.0.0.0     127.0.0.1    67063018 0   67063018  0  0  0    

hme0  1500 192.168.1.0  192.168.1.11  20010913 0   20528248  0   0  0

 

l         netstat ?rn

Routing Table 이름 표시

% netstat -rn

Routing Table:

  Destination           Gateway           Flags  Ref   Use   Interface

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

192.168.1.0          192.168.1.11          U        3   4550  hme0

224.0.0.0            192.168.1.11          U        3      0  hme0

default               192.168.1.1          UG       0   2013 

127.0.0.1               127.0.0.1          UH       066836525  lo0

 

l         netstat ?an

UDP, TCP, Active UNIX domain sockets 등의 정보가 표시된다.

 

l         Ifconfig

% ifconfig -a

lo0: flags=849<UP,LOOPBACK,RUNNING,MULTICAST> mtu 8232

        inet 127.0.0.1 netmask ff000000

hme0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST> mtu 1500

        inet 192.168.1.11 netmask ffffff00 broadcast 192.168.1.255


 

l         iostat

% iostat -x 30

                               extended device statistics

device    r/s  w/s   kr/s   kw/s wait actv  svc_t  %w  %b

sd6       0.0  0.0    0.0    0.0  0.0  0.0    0.0   0   0

ssd1      0.2  1.5    2.6   17.1  0.2  0.1  202.9   1   1

ssd3      0.1  1.3    1.2  129.6  0.0  0.0   55.9   0   1

ssd4      0.2  0.8    3.9   31.8  0.1  0.0   77.3   0   0

ssd8      0.5  3.4    7.1  137.2  0.5  0.1  158.4   0   3

ssd9      0.1  0.6    1.8   20.6  0.1  0.0  200.8   0   0

ssd10     0.9 12.0   10.8  320.1  1.5  0.4  146.0   1   9

ssd11     0.8 20.5    7.8  724.7  1.0  0.6   72.4   0  11

ssd12     0.3  2.5    3.7   53.8  0.3  0.1  121.0   0   2

nfs2      0.0  0.0    0.0    0.0  0.0  0.0    0.0   0   0

 

1.        svc_t (avque + avwait) : disk 응답시간

10 - 50 acceptable

100 - 1500 not acceptable

2.        %b : 디스크를 얼마나 많이 쓰는가?

5% 이하는 무시

60% 이상이면 조정할 필요가 있다.

 

l         uptime

OS가 부팅된 시점의 시간, 로드평균 정보표시

% uptime

 11:52am  up 0:35, 1 user, load average: 0.04, 0.01, 0.02

 

l         mpstat (sun)

Load 가 골고루 분산되는지 확인할 때.

 

l         sar (sun)

% sar ?g 1 5

-g(report paging activities)

-q(report on queue activity)

-r(report unused memory and disk blocks)

-u(report CPU utilization)

'Database > Server' 카테고리의 다른 글

lsvg 명령어  (0) 2010.05.26
RAID 종류 및 설명  (0) 2010.05.20
특정단어 패턴으로 검색하기  (0) 2010.03.29
ls 했을때 디렉토리 색깔 나오게 하기  (0) 2010.03.29
TOP  (0) 2010.02.03

+ Recent posts