목록study_DB/Oracle (10)
Msg 성장일기
실행계획- 사용자가 SQL 수행 시 이를 위한 처리 루틴이 필요한데, 최적으로 수행하기 위한 루틴 빠른 쿼리 수행을 위해 내부적으로 생성한 일종의 프로시저와 같은 것 1. explain for 가. explain plan for 명령을 수행하고 나면 해당 SQL에 대한 실행계획이 plan_table에 저장됨 (옵티마이저의 예상실행계획) 나. explain plan set (statement_id = 'ID명') for select * from ~ 다. plan_table에 실행계획을 활용해서 인덱스를 사용하는 쿼리 목록만 뽑는 등 사전점검 실시하여 성능관리 활용가능 2. AutoTrace 가. 실제 데이터를 조회하지 않아도 실행계획과 통계정보를 확인할 수 있는 기능 (SQL 실제 실행 후..
1) OS requirement 확인 - RPM 설치 (yum / rpm -ivh) - 그룹 및 유저 / 패스워드 생성 - 설치 경로 디렉토리 생성 (ORACLE_HOME/ ORACLE_BASE) - Kernel Parameter 설정 및 적용 - 자원 제한 설정 - /etc/hosts 설정 및 hostname(규칙설명) 확인 - 유저 profile 설정 2) Database 설치 - Database 엔진 설치 - Database 엔진 patch - Database 생성 실제 실습 1) oracle linux 7.6 설치 https://edelivery.oracle.com/osdc/faces/SoftwareDeliver2) https://positivemh.tistory.com/521 참고하여 ..
RAC(Real Application Cluster)란Cluster에서 모든 node에서 동일한 Storage를 바라보고 접근할 수 있게 해주는 소프트웨어이다.- 여러 인스턴스들이 클러스터 된 하드웨어를 사용 가능하다.- 각 데이터베이스 파일에 대한 물리적 또는 논리적 접근이 가능하다.* 여기서 cluster란 둘 이상의 Oracle Rac 노드들이 함께 연결되어 동일한 스토리지를 공유하는 "전체 공유" 데이터베이스 아키텍처를 의미한다. (두 개 이상의 독립된 서버들과 Disk를 하나로 연결하는 기법)* 인스턴스란 논리적인 공간이며, 내부 메모리 구조와 프로세스로 구성된다.Oracle RAC 구성요소1) Oracle Grid Infrastructure- Oracle Cluster Ready Servic..
1) CTAS# 첫번째 방법CREATE TABLE test_new TABLESPACE test_space AS SELECT * FROM test_old; --스키마만 복제시 SELECT * FROM ST_POST_DTL; WHERE 1=0;test_new 테이블을 생성하고 tablespace를 선언해주고 백업할 테이블 복제하면 됨# 두번째 방법1) 이관 대상 테이블과 동일한 타겟 테이블 레이아웃 생성 (주의 : DEFAULT 값이 설정되어 있으면, 아래의 방법으로 테이블 생성 시 적용되지 않으므로 수동 적용해야 함)CREATE TABLE TOBE_TEST -- 타겟 테이블ASSELECT * FROM ASIS_TEST -- 이관대상 테이블명 WHERE 1=2; 2) 타겟 테이블에 데이터 저장..
테이블을 파티션 함으로써 얻게 되는 장점특정 혹은 최소한의 파티션만을 스캔함으로써 스캔 범위를 줄이는 효과 특정 파티션 별로 별도의 백업 및 다양한 관리 작업을 수행할 수 있음 다양한 파티셔닝 기법Range 파티션: 파티션을 나누는 기준이 되는 키가 되는 컬럼값의 범위를 기준으로 파티션을 생성하는 방식 테이블은 논리적으로만 정의되고 실제 테이블 데이터는 각각의 파티션에 나누어 저장됨 주로 날짜 (년,월,주)를 기준으로 파티션을 나눌 때 사용기본적으로 다음 두가지 옵션을 적용하여 Range 파티션을 생성함1) Partition by range(컬럼1, 컬럼2...) : 파티션 키 컬럼을 설정하는 옵션2) Values less than (컬럼값) : 각 range partition에 포함될 최대값을 설정하는..
1. 오라클 설치시 ORACLE_HOME과 ORACLE_BASE를 지정해야 함 - ORACLE_HOME : 오라클 소프트웨어를 설치할 디렉터리 - ORACLE_BASE : 오라클 DB파일을 보관할 디렉터리 ● ORACLE_HOME의 중요 디렉터리 - database :원도우 버전 오라클의 서버 파라미터 파일이나 패스워드 파일이 존재 - dbs : 유닉스/리눅스 버전 오라클의 서버 파라미터 파일이나 패스어드 파일이 존재 - bin (.bash_profile의 path) SQL*Plus 등 오라클 운영 프로그램들이 존재하므로 셸이나 명령어 프롬프트에서 바로 실행할 수 있도록 환경 변수에 PATH를 설정해 놓으면 유용 - network/admin : 네트워크 접속과 관련된 설정 파일이 존재 - sqlplus ..
Redo Log는 데이터가 변경된 내역을 전부 저장했다가 나중에 데이터를 내려쓰거나 데이터를 복구할 때 쓰이는 파일입니다. 따라서 Redo Log 역시 데이터베이스 운영에 핵심이 되는 파일이므로 다중화하여 기록할 수 있습니다. Redo Log의 다중화는 최소 2개의 그룹으로 이루어지며 각 그룹마다 최소 1개의 Redo Log 파일이 존재해야합니다. 한 그룹의 Redo Log를 다 쓰고 다음 그룹으로 넘어가는 현상을 Log Switch라고 하고, 반복된 로그 스위치를 거치며 마지막 그룹에서 최초의 그룹으로 돌아와서(한바퀴 돌고) 첫번째 리두 데이터를 덮어쓰기 시작하는 것을 Log Spinning이라고 합니다. 통상적으로 Log Switch와 Log Spinning이 발생할 때 Checkpoint가 발생하여..
오라클 데이터베이스 주요 디스크 구조 1) 컨트롤 파일 2) 데이터 파일 3) 리두 로그 파일 1) 컨트롤 파일 (Control File) : 데이터베이스 구성 정보(DataFile, Redo Log File의 위치, 데이터베이스의 시점(SCN)등)를 담고 있는 파일로써, 데이터베이스의 구성에 변경이 일어날 때마다 오라클에 의해 갱신되는 핵심 파일입니다. Control File도 데이터베이스를 구성하는 핵심 파일들의 위치를 기억하고 이들과 지속적으로 동기화를 해서 데이터베이스 정상 상태를 유지합니다. 예를 들자면, control file은 뇌와 같다. 뇌의 기능이 비정상이면 자신이 누구인지 모르고, 몸을 움직일 수 없는 식물인간이 되는 것처럼 Control File의 상태가 비정상이면 데이터베이스는 정상..