본문 바로가기

DataBase/Oracle

Oracle Regular Expression(정규표현식) Oracle Regular Expression(정규표현식)Oracle Database 10g에 추가된 새로운 기능을 이용하여 문자 데이터의 검색, 처리 능력을 극적으로 개선할 수 있습니다. 정규 표현식(regular expression)이라 불리는 이 기능은, 텍스트 패턴을 기술하기 위한 일종의 표기법으로, 이미 오래 전부터 다양한 프로그래밍 언어와 UNIX 유틸리티를 통해 지원되어 왔습니다.정규표현식이란?정규 표현식은 하나 또는 그 이상의 문자열과 메타문자(metacharacter)로 구성됩니다. 가장 단순한 형태의 정규 표현식은 cat과 같은 단 하나의 문자열로만 구성될 수 있습니다. 이 정규 표현식은 문자 c와 문자 a, 문자 t의 순서를 갖는 패턴 매치 문자열로 cat, location, cata.. 더보기
유용한 Oracle 스크립트 ------------------------------------------------------------------------------------- ※ ORACLE SID 확인 SELECT INSTANCE FROM V$THREAD; ------------------------------------------------------------------------------------- ※ ORACLE DB_NAME 확인 SELECT NAME FROM V$DATABASE; ------------------------------------------------------------------------------------- ※ ORACLE VERSION 확인 SELECT * FROM V$VERSION;.. 더보기
SID와 Service_name의 차이 SID : 하나의 DB 인스턴스 이름 Service Name : 하나 이상의 인스턴스를 그룹으로 묶어서 구성하였을 때, 그 그룹의 이름 예를 들어서, 한 시스템에 Oracle을 설치하고 2개의 인스턴스를 각각 ora1, ora2 란 이름으로 생성하였다고 하면, 각각의 인스턴스는 ora1, ora2 라는 SID를 갖게 된다. 그리고 이 인스턴스들을 한데 묶어서 그 그룹에 oragp 라는 이름을 부여하였다면, 그 이름이 바로 Service Name이 된다. 앞에서 언급했듯, 하나의 DB에 한 개의 인스턴스만 사용하는 경우가 많아서 SID와 Service Name을 특별한 구분없이 사용하는데, 만일 인스턴스가 여러 개라면 더 신중하게 사용해야 할 것이다. 더보기
[tnsnames.ora] file for connection load balancing setting === Oracle DB 커넥션 로드 밸런스 설정 시 tnsnames.ora 를 설정하는 예제 === Load Balancing ??부하 분산이라고 부르며 주로 1곳의 DB나 서버로 사용자 접속이 폭주하여 부하가 발생하는 것을 방지하고자 동일한 환경의 DB나 서버를 여러 대 두어 접속이 한 곳에 일방적으로 몰리지 않도록 분산시켜주는 기술을 일컫는다.(KT의 스타워즈 빠름빠름 광고를 생각하면 됨)또한, 한 곳의 DB나 서버에 장애가 발생할 경우 다른 DB나 서버로 접속되기 때문에 운영 측면에서도 효과적이다. 예를 들어 3개의 접근 가능한 DB가 있다고 가정하고... "DB이름"= (DESCRIPTION= (LOAD_BALANCE=OFF) (ADDRESS=(PROTOCOL=TCP) (HOST="첫 번째 DB.. 더보기
오라클 힌트와 사용법 * 오라클 hint 모음 * ALL_ROWS /*+ ALL_ROWS */- 최소한의 자원을 사용하여 결과값의 전체를 추출하게 합니다. AND_EQUAL /*+ AND_EQUAL (table index index [index] [index] [index] ) */- 복수의 단일 컬럼을 스캔하여 머지 방식으로 처리하게 합니다. APPEND_HINT /*+ APPEND */- 직렬 모드 데이터베이스에서 Direct INSERT를 실행하게 합니다.- Enterprise Edition 이 아닌 데이터베이스의 기본 모드는 직렬 모드입니다. 이러한 직렬 모드 데이터 베이스에서의 INSERT 작업은 Conventional를 기본값으로 하고 병렬 처리 시에는 Direct INSERT를 기본값으로 합니다. CACHE_HI.. 더보기
오라클 단일 행 함수 ------------------------------------------------------------------------------------ - 단일 행 함수 - -------------------------------------------------------------------------------------* initcap - 첫번째 영문자만 대문자로 바꾸어준다.select ename, initcap(ename) from emp; --> 결과값 : KEVIN --> Kevin-------------------------------------------------------------------------------------* concat - 문자열 합치기. ||와 같으나 최대 2개만 .. 더보기