반응형

oracle 8

[SQL] REGEXP_SUBSTR 구분자, 행, 열, 분리 (NULL 포함)

1. 문자열 SPLIT - 기본 형식 구분자로 연결된 문자열을 분리하는 경우 REGEXP_SUBSTR(문자열,'[^구분자]+'1,순번) 패턴을 사용하여 분리하는 예는 널리 알려졌다. 만일 중간에 NULL값이 포함된 경우라면? 오류가 발생한다. /* - 콤마(,)로 구분된 문자열 - 중간에 NULL값이 있는 경우 REGEXP_SUBSTR 함수는 엉뚱한 값을 리턴할 수 있음 (COL3, COL4) - 정규식 [^,]+ 의 의미는 콤마가 아닌 문자열 1개 이상을 뜻함. - 첫행의 ,, 부분은 선택되는 텍스트가 없기 때문에 잘못된 결과를 리턴한다. */ WITH SAMPLE_T AS ( SELECT 'A,BC,,EF' AS VAL FROM DUAL UNION ALL SELECT 'A,BC,D,EF' AS VAL..

SQL/SQL Tech 2022.10.23

Temporary TableSpace Group

Temporary Tablespace Group은 잘 알려지지 않는 오라클 기능 중 하나로, Oracle 10g에 추가된 기능이다. 일반적으로 temporary tablespace는 유저에게 지정하여, 특정 유저는 단 하나의 temporary tablespace만을 사용할 수 있었으나, Temporary Tablespace Group은 유저에게 임시 테이블스페이스 그룹을 지정하여 동시에 여러개의 임시 테이블스페이스를 사용하여 정렬 등의 작업 효율을 향상시키는 기능이다. 특징하나 이상의 temporary tablespace로 구성temporary tablespace로만 구성됨.명시적으로 생성하지 않고, 첫번째 temporary tablespace가 할당되면 암시적으로 그룹이 생성되고,마지막 temporar..

DBMS/Oracle 2018.10.10

Real-Time SQL Monitoring - v$sql_plan_mointor 조회하기 (V2)

이전 글 Real-Time SQL Monitoring - v$sql_plan_mointor 조회하기 ( http://overoid.tistory.com/40?category=357137 ) 에서 사용된 SQL의 경우. LONG SQL 수행 후 문제가 있어 중지하고, 재 수행했다면... 이전에 수행했던 실행계획이 겹쳐서 나오는 단점이 있다.대신 쿼리가 심플하고 Version 2에 비해서 조회 성능이 더 우수하다. Version 1의 중복 이슈를 해결한 Ver2 - v$sql_plan_mointor 조회 쿼리. WITH SQL_PLAN_INF AS ( SELECT /*+ materialize ordered */ SQL_ID, PLAN_LINE_ID, STATUS, PROCESS_NAME, PLAN_DEPTH..

DBMS/Oracle 2018.09.08

Real-Time SQL Monitoring - v$sql_plan_mointor 조회하기

오래동안 수행되는 SQL이 얼마나 진행되었는지 알 수 있을까?예상실행계획으로 확인된 실행계획 그대로 수행되고 있는지를 쿼리 수행중에 확인할 수 있을까? 수억에서 수십, 수백억 레코드를 조인하여 처리하는데.. 언제 끝날지 모른다면 정말로 답답하다. 수분에서 수십, 수백분이 소요되는 SQL 대량 작업의 경우 잘못된 실행계획으로 쿼리가 실행되고 있다는 것을 실행 초반에 알 수 있다면, SQL을 중지하고 수정하여 재실행함으로써 소중한 시간을 아끼고 일찍 퇴근할 수도 있을것이다. 다행히 오라클에서는 11g부터 Real-Time SQL Monitoring 기능을 제공한다.물론 쿼리가 수행완료된 이후 dbms_sqltune.report_sql_monitor 로 레포팅을 뽑아 결과를 확인할 수 도 있지만, 실행중에도 ..

DBMS/Oracle 2018.09.08

Real-Time SQL Monitoring 제한(limit)

Real-Time SQL Monitoring(v$sql_mointor, v$sql_plan_mointor)은 Oracle 11g에서 추가된 기능으로 아래 조건에서 모니터링 된다. 실행시간이 5초 ( '_sqlmon_threshold' 히든 파라미터로 조정)이상 느린 쿼리의 실행이력병렬 쿼리의 실행 이력monitor 힌트를 사용한 쿼리에 대한 추적 위 조건을 만족하는데도 모니터링 되지 않는 다면????, v$sql_monitor에 나타나지 않는다면???? 만일, 모니터링 하는 SQL 문장의 실행계획 라인수가 300 라인이 넘는 복잡한 쿼리는 모니터링에서 누락된다. 오라클 히든 파라미터 중 '_sqlmon_max_planlines'=300 으로 초기 설정되어 있다.이 값을 늘리면 문제 해결!!! SQL> a..

DBMS/Oracle 2018.09.06

Toad TeamCoding - Integration with SubVersion - part2

Toad TeamCoding part 1에 이어서... 이전 글을 못보신 분은 아래링크 클릭!! 2011/05/24 - [데이터베이스/Toad] - Toad TeamCoding - Integration with SubVersion - part1 4. Toad Team Configuration 자… 이제 필요한 SW는 모두 설치했으므로 Toad Team Coding을 위한 설정 작업만 하면 된다. 4-1. Toad Team configuration Server-side Object Install 과정에서 생성한 TOAD 계정으로 로그인 한다. TOAD 계정은 Team Coding에 필요한 Role을 모두 가지고 있기 때문이다. 상단 툴바에서 우측 마우스 클릭 > Team Coding 을 선택해 관련 툴바를..

DBMS/Tools 2011.05.24

실전 데이터모델링(비트컬럼으로 컬럼레벨 데이터통합) 기법 및 오라클 비트연산 가이드

비트컬럼으로 속성레벨의 데이터 통합 이번 포스트에서는 비트값으로 구성된 컬럼으로 컬럼 수준의 데이터 통합에 대한 가이드 및 비트 컬럼을 SQL로 조작하는 방안에 대해 살펴볼까 합니다. 먼저, 일반적인 샘플 ERD를 하나 보겠습니다. 좌측은 Logical 엔터티이며 우측은 Physical 테이블 설계안 입니다. 지극히 간단한 테이블입니다. 웹 화면을 구성하는 메뉴가 있고, 메뉴의 속성으로는 ID, 명, 그리고 화면을 제어하는 4개의 여부 컬럼이 있습니다. 간단하지만 전혀 문제가 없습니다. 요구사항도 명확히 반영했다고 한다면 정말 문제가 없는 모델링 입니다. 프로젝트팀이 프로젝트를 완료하고 난 후 운영팀에서 운영중에 새로운 고객 요구사항들이 나오기시작합니다. 메뉴ID를 화면에 무조건 보여주지 말고 사용자가 ..

DBMS/Modeling 2011.05.16

Toad의 강력한 기능을 eclipse 안에서 - Toad Extension for eclipse

Toad의 강력한 기능을 Toad를 실행하지 않고 eclipse내에서 이용할 수 있다면 개발자들에게는 유용할 것이다. Quest사의 Toad Extension(freeware)를 이용하면 eclipse 뿐만 아니라, Visual Studio에서도 툴 환경 내에서 Toad의 강력함을 이용할 수 있다. Toad Extension for eclipse를 설치해보자. 1. Eclipse 실행 – Help > Install New Software 메뉴 선택 2. Install 대화상자의 Work with 부분에 다음의 주소를 입력 http://toaddownload.quest.com/toadextensions/eclipse/freeware/ 다음, 다음 눌러서 설치하시고 re-start 하면 설치가 끝납니다. T..

DBMS/Tools 2011.05.11
반응형