Oracle
-
SELECT 실행 과정Oracle 2019. 6. 4. 11:32
1. User Process는 사용자가 실행한 SQL을 가지고 DB서버에 접속 (Parse) 2. 리스너를 통해서 Server Process에게 쿼리를 전달 (Parse) 3. 이후 Server Process는 Shared Pool에서 구문분석, 문법검사, 권한검사, 커서공유, 실행계획을 진행 (Parse) 4. Bind 할 값이 있다면 값을 치환하여 변수 값을 적용하여 실행 단계로 넘김 (Bind) 5. Bind 할 값이 없다면 바로 실행 단계로 넘김 (Bind) 6. 실행 Database Buffer Cache에서 데이터가 있다면 재상용 (Execute) 7. 실행 Database Buffer Cache에서 데이터가 없다면 파일에 필요한 블록을 적재 (Execute) 8. 필요한 데이터만 골라서 Us..
-
오라클 RAC 개념Oracle 2017. 1. 13. 09:30
RAC의 등장과 개념 도입, 기본용어 DBMS : 데이터를 저장하고 사용자가 원하는 자료를 조회, 수정, 삭제 등의 작업을 해주는 프로그램이다. Instance : 데이터를 가져와서 작업하는 작업장 Database : 데이터를 저장하고 있는 창고 Instance 와 Database : 데이터베이스에 저장된 자료는 서버가 꺼져도 안전하게 저장되어야하므로 HDD에 저장되어 있고, 인스턴스는 여러 사용자가 접속해서 빠른 서비스를 제공해야 하므로 RAM에 저장된다. 데이터베이스에 자료를 저장해 두고 필요할때마다 자료를 인스턴스에 가져와서 작업을 수행하고 작업이 끝나면 그 내용을 다시 데이터베이스에 저장하는 원리로 작동된다. 이때 Instance와 Database를 왔다갔다하면서 작업을 해주는 것을 프로세스f라고..
-
오라클 TCPDUMP 옵션 및 플래그Oracle 2014. 6. 30. 13:51
TCPDUMP 란? 지정한 네트웍 인터페이스로 송수신되는 데이터 패킷들의 전체 혹은 헤드등을 모니터링 또는덤프(DUMP)하여 확인하는 명령어 입니다. tcpdump의 주되너 목적은 네트윅과 ethernet의 이상 유무를 데이터 패킷을 모니터링하여 그 패킷헤드를 분석하기 위한 것입니다.즉, 이 명령어는 잘만 사용한다면 캡쳐한 데이터패킷을 분석하여 네트워크나 서버의 응용서비스들에 대해 분석하는 도구로 사용될 수 있지만 악용한다면 크래킹의 도구로 사용될 수 있습니다.즉 암호화하지 않은 채로 FTP나 TELNET같은 서비스를 이용하여 ID와 패스워드를 입력하였다면누군가 tcpdump명령어로 이들 패킷을 캡쳐하여 분석한다면 어렵지않게 ID와 패스워드를 알아 낼 수 있기 때문입니다. 따라서 가능하다면 암호화된 통신..
-
오라클(PL/SQL) 미리 정의된 예외처리Oracle 2014. 6. 25. 18:35
1) 예외명 예외번호 설명 ACCESS_INTO_NULL ORA-06530 정의되지 않은 오브젝트 속성에 값을 할당하고자 했을 때 발생되는 예외 CASE_NOT_FOUND ORA-06592 CASE 문의 WHEN 절에 해당되는 조건이 없고 ELSE 절도 없을 경우에 발생되는 예외 COLLECTION_IS_NULL ORA-06531 선언되지 않은 컬렉션에 EXISTS 이외의 메소드를 사용했을 때 CURSOR_ALREADY_OPEN ORA-06511 이미 열린 커서를 열려고 시도했을 때 발생되는 예외 DUP_VAL_ON_INDEX ORA-00001 유일인덱스에 중복값을 입력했을 경우 발생되는 예외 INVALID_CURSOR ORA-01001 잘못된 커서 조작이 실행될 때 발생되는 예외 INVALID_NUMB..
-
오라클 힌트 정리(표)!!Oracle 2014. 6. 23. 14:53
● 개요힌트는 SQL 튜닝의 핵심부분으로 일종의 지시구문이다.SQL에 포함되어 쓰어져 Optimizer의 실행 계획을 원하는 대로 바꿀 수 있게 해준다.오라클 Optimizer라고 해서 항상 최선의 실행 계획을 수립할 수 는 없으므로 테이블이나 인덱스의잘못된 실행 계획을 개발자가 직접 바꿀 수 있도록 도와주는 것이다.사용자는 특정 SQL 문장에서 어떤 인덱스가 선택도가 높은지에 대해 알고 있는데 이경우 오라클서버의 Optimizer에 의존하여 나온 실행 계획보다 훨씬 효율적인 실행 계획을 사용자가 구사할 수 있다. ● 사용액세스 경로, 조인 순서, 병렬 및 직렬 처리, Optimizer의 목표를 변경 가능 하다. ● 오라클 힌트 사용 예 SELECT /* +INDEX(인덱스명) */컬럼명,컬럼명 FROM..
-
오라클 NVL 이란?Oracle 2014. 6. 19. 10:31
문법 : NVL(컬럼, 치환할 값) NVL 함수는 일밙거으로 Null 값을 0으로 바꾸어주는 함수로 많이 알고 있지만 정확하게 말하면 Null 값을 0을 포함한 다른 값으로 바꾸어 주는 함수 입니다. ● 치환값이 숫자일 경우 - NVL(컬럼, 0) -> 컬럼의 값이 null일 경우 null 대신 0으로 치환 하세요 ● 치환값이 문자일 경우 - NVL(컬럼, '문자') -> 컬럼 값이 NULL일 경우 '문자'로 치환 하시오 ● 치환값이 날짜일 경우 - NVL(컬럼, 'SYSDATE') -> 컬럼 값이 없을 경우 SYSDATE 날짜로 치환 하시오.