본문 바로가기

전체 글

(174)
[Oracle] 초기화 파라미터 파일(spfile, pfile) 초기화 파라미터 파일 SPFILE / PFILE 인스턴스가 시작되면 초기화 파라미터 파일이 읽혀짐. 오라클이 구동 할 수 있게 설계되어 있는 도면과 같다. 데이터베이스를 기동하기 위해서는 파라미터 파일을 참조하여 파라미터 값, SGA 및 기타 필요한 환경을 구성 할 수 있다. 1) shutdown(종료상태) -> 2) 파라미터 파일 읽기(spfile/pfile) -> 3) NOMOUNT 단계별로 올라오는데 여기에서 파라미터 파일을 가장 중요한 역할을 하게 된다. ​ 구성 내용 파라미터 파일에는 다음과 같은 내용이 저장되어 있다. SQL>select name, value from v$spparameter; → where value in not null 절을 통해 설정된 parameter만 조회인스턴스 설정..
[Linux] CentOS 7 Local Repository 만드는 방법 (인터넷 없이 yum 사용) yum은 기본적으로 인터넷과 연결된 저장소(repository)를 바라보고 작업을 수행합니다. 저장소에 업로드되어 있는 패키지들을 인터넷을 통해 접근하고, 찾아서 내 리눅스에 받아오는 식입니다. 그 말은 인터넷에 연결할 수 없는 내부망 서버에선 사용이 불가하다는 의미입니다. 현업에선 보안상의 이유로 내부망에 서버를 구축하는 경우가 많습니다. 이처럼 인터넷이 없는 환경에서도 로컬에 repository를 만들어주면 yum을 이용할 수 있습니다. 이를 흔히 "로컬에 레포를 잡는다"고 말합니다. 로컬에 yum repository 만드는 방법 이 글은 CentOS 7을 기준으로 방법을 설명드립니다. 그러나 다른 배포판도 원리는 비슷하기 때문에 읽어보시면 패키지 관리 도구의 작동 방식을 이해하시는데 도움이 되실거에..
[Linux] RPM 과 YUM의 패키지 설치 차이 리눅스에서 패키지 설치는 rpm 또는 yum 명령어를 이용합니다. 두 명령어는 최종적으로 원하는 패키지 프로그램을 설치한다는 점에서 같지만 작동 방식에 차이가 있습니다. RPM(Redhat Package Manager) rpm은 인터넷에 연결되지 않은 상태에서도 패키지를 설치할 수 있는 명령어입니다. 다만 설치하려는 .rpm 패키지 파일이 컴퓨터에 있어야 합니다. 패키지는 서로 의존성을 갖습니다. 예를 들어 C 패키지를 설치하기 위해선 B 패키지가 필요하고 B 패키지를 설치하기 위해서는 A 패키지가 필요한 식입니다. 이런 경우 설치 순서는 A > B > C 순으로 해야 합니다. rpm은 개별 패키지를 수동으로 설치하는 개념이기 때문에 이런 의존성을 사용자가 직접 고려하면서 설치해야 하는 불편함이 있습니다..
[Tibero] Partitioning 파티셔닝 : Table과 Index Data를 Partition 키에 따라 물리적으로 별도의 segment에 저장  관리적 측면 - 파티션 단위 추가, 삭제, 변경, 백업, 복구  성능적 측면 - 파티션 단위 조회 및 DML 수행, I/O 분산 1. Table Partitioning Range Partition  특정 Column Value의 정렬 값을 기준으로 Partitioning  Historical Data Table에 적합  주로 날짜 컬럼을 기준으로 함  Partition 순서대로 정의해야 함  Interval 정의하여 정해진 간격으로 partition 자동 추가 가능 CREATE TABLE part_range ( empno NUMBER, regdate date ) TABLESPA..
[Oracle] Cluster - 클러스터 테이블의 데이터를 저장하는 방법으로서, 클러스터 키라고 부르는 공통된 칼럼을 기준으로 하나 이상의 테이블 데이터를 동일한 데이터 블록에 모아서 저장하는 기능 - 인덱스가 필수로 존재, 분포도가 나쁠수록 성능이 뛰어남 - 데이터가 대용량일 경우, PARTITION화 - 클러스터 인덱스를 생성하기 전에는 어떤 DML문장도 실행되지 않음 - 검색 효율을 높이나 DML(INSERT) 실행시 오버헤드 발생 - 클러스터 인덱스를 DROP하면 QUERY 실행 X - 테이블스페이스를 변경하려면 DROP후 재생성 ○ 선정기준 ① 6블록 이상의 데이터를 지닌 테이블 ② 다량의 범위를 자주 ACCESS하는 경우 ③ 분포도가 나빠 인덱스를 사용한 처리가 부담될 경우 ④ 여러 테이블이 빈번히 조인될 경우 ⑤ 반복 ..
[Linux] THP 비활성화 방법 및 설명 - 이슈 : THP가 일부 DB서버에서 문제가 될수 있습니다. ex) 티베로 DB에서 일반적인 경우에는 hugepage 사용시, THP 기능 disable을 권고하고 있습니다. _USE_HUGE_PAGE=Y 파라미터 사용시 1. THP(Transparent Huge Pages)란? Linux는 메모리를 Page라는 블록으로 분할해 관리를 합니다. 기본 페이지의 크기는 4KB인데 만약 1기가의 메모리를 Page로 분할하게되면 256,000개의 Page로 분할됩니다. 메모리가 커질수록 Page의 개수가 늘어나면서 페이지를 관리하는 TLB(transparent lookaside buffer)의 크기가 같이 커지게 되는데 이걸 방지하기위해 Page자체의 크기를 키워 Page개수를 줄여 TLB의 크기를 작게 만드..
[Linux] 메모리 효율을 위한 vfs_cache_pressure 유휴 메모리가 전부 어디로 간거지? (Page Cache) Linux는 I/O 성능을 높이기 위해서 Page Cache를 사용한다. 이 글에서는 Page Cache에 대해서는 다루지 않지만 간단히 설명하면 다음과 같다. Linux는 물리적인 저장/통신 장치와 데이터를 주고 받을 때 메모리에 먼저 적재한 후에 데이터를 주고 받는데 이는 동일한 데이터에 대한 접근을 할 경우 메모리에서 바로 가져오도록 하여 I/O 성능을 높이기 위함이다. 이를 Page라는 단위로 관리를 하며 흔히 Page Cache라고 이야기 한다. 따라서, 한번이라도 데이터를 읽거나 쓴 적이 있다면 메모리는 Page Cache에 적재되고 아래의 파일에서 Cached 영역으로 표기 된다. cat /proc/meminfo Linux 커뮤니티에..
[Tibero] ZetaData 기술교육 1. ZetaData 소개 1.1. ZetaData의 배경 1.1.1. Tibero Active Cluster(TAC) 최초의 DB에서 어떤 내부조건과 어떤 제약조건에 의해서 ZetaData 구조를 가지게 되었는지 설명하도록 하겠습니다. 가장 기본적인 구조는 티베로 Server가 Single Instance로 떠서 자신의 Local Disk에 I/O를 수행합니다. 여기에서 높은 가용성을 가질 수 있도록 한 모델이 TSC(Tibero Standby Cluster)인데요, Active Server와 Standby Server가 존재합니다. Active Server에는 부하가 들어갈 수 있지만, Standby Server에는 부하가 들어가지 않고, 조회만 가능합니다. Standby Server는 Active ..