Oracle 드라이버에서 발생하는 정밀도 문제 해결 방법
문제
Oracle의 공식 .NET Core 드라이버를 사용하면서 정밀도 관련 문제가 발생했습니다.
코드 예제에서는 1/3의 수학 연산을 수행할 때 OracleCommand.ExecuteScalar() 또는 OracleDataReader.GetDecimal(0)가 모두 InvalidCastException: 지정된 캐스트는 유효하지 않습니다. 오류를 반환합니다.
var connectionString = "Data Source=localhost/XE;User ID=system; ...
8월 25일 23:59에 게시됨
Windows 환경에서 Oracle GoldenGate 단방향 복제 구성 가이드
이 문서는 Windows 운영 체제에서 Oracle GoldenGate를 사용하여 Oracle 데이터베이스 간의 단방향 데이터 복제를 설정하는 과정을 상세히 설명합니다. 단방향 복제는 일반적으로 리포팅, 분석 또는 읽기 전용 애플리케이션을 위한 대상 데이터베이스의 실시간 업데이트를 유지하는 데 사용됩니다.
환경 개요
이 구성에서는 다음과 같은 환경을 가정합니다.
원본 데이터 ...
8월 24일 12:33에 게시됨
Oracle 데이터베이스의 substr() 함수详解 및 활용
출처: https://www.cnblogs.com/dshore123/p/7805050.html
1. substr 함수 문법 (문자열 추출 함수로 불림)
형식1: substr(문자열, 시작위치, 길이);
형식2: substr(문자열, 시작위치);
설명:
형식1:
문자열: 추출할 원본 문자열
시작위치: 추출을 시작할 위치 (주의: 0 또는 1인 경우 모두 첫 번째 문자부터 시작)
길이: 추출할 문자 수
형식2:
문자열: 추출할 원본 문 ...
8월 14일 05:46에 게시됨
데이터베이스 관리 및 복구 기법
특정 시점으로 테이블 데이터 복원
-- 특정 시간대의 데이터 조회
SELECT * FROM target_table AS OF TIMESTAMP TO_TIMESTAMP('2009-12-11 20:53:57', 'YYYY-MM-DD HH24:MI:SS');
-- 특정 시점의 데이터로 새 테이블 생성
CREATE TABLE restored_table AS
SELECT * FROM target_table AS OF TIMESTAMP TO_TIMESTAMP('2009-12-11 20:53:57', 'YYYY-MM-DD HH24:MI:SS');
...
7월 22일 08:11에 게시됨
Oracle 조인 연산 최적화와 실행 계획 분석
조인 연산의 핵심 결정 요소
복수 테이블을 결합하는 SQL 문이 실행될 때, 오라클 옵티마이저는 세 가지 핵심 사항을 결정해야 최종 실행 계획을 수립할 수 있다.
조인 순서(Join Order)
세 개 이상의 테이블이 참여하는 조인 연산에서, 오라클은 이진 트리 형태로 순차적으로 두 테이블씩 결합해 나간다. 이 과정에서 선행 테이블(Outer Table)과 후행 테이블(Inner Tabl ...
7월 11일 23:55에 게시됨
PL/SQL 성능 최적화 전략
테이블 조인 및 파싱 순서 최적화
효율적인 테이블 순서 선택
오라클의 규칙 기반 옵티마이저(RBO)는 FROM 절을 오른쪽에서 왼쪽으로 처리하므로, 가장 작은 테이블을 마지막에 배치하는 것이 유리하다. 현재는 대부분 비용 기반 옵티마이저(CBO)를 사용하지만, 좋은 습관은 유지하는 것이 바람직하다.
-- 효율적인 접근: 소형 테이블 먼저 처리
SELECT COUNT(*) FROM a ...
7월 7일 01:33에 게시됨
Oracle 트리거 완벽 가이드: 정의, 문법, 활용 사례
트리거(Trigger)란?
데이터베이스 트리거는 특정 테이블에서 INSERT, UPDATE, DELETE와 같은 DML(데이터 조작어) 이벤트가 발생할 때 자동으로 실행되는 저장 프로시저의 일종입니다.
일반 프로시저와 달리 사용자가 직접 호출하지 않고, 정의된 이벤트가 발생하면 시스템이 자동으로 실행합니다.
주로 데이터 무결성 유지, 비즈니스 규칙 강제, 감사 로그 기록 등에 사 ...
7월 6일 20:43에 게시됨
Oracle 데이터 변경 이벤트 구독 방법
Java에서 Oracle 데이터베이스의 변경 사항을 구독하는 다양한 방법들이 있습니다. 아래는 주요 기술들에 대한 개요와 예제입니다.
Oracle Advanced Queuing (AQ) 사용하기
Oracle AQ는 메시지 큐 서비스로, 데이터 변경 이벤트를 게시하고 구독할 수 있습니다.
// AQ 예제 코드
import oracle.jdbc.aq.AQDequeueOption;
import oracle.jdbc.aq.AQMessage;
Connection ...
7월 6일 16:37에 게시됨
Oracle에서 TiDB로의 간단한 오프라인 데이터 마이그레이션 절차
환경 및 목적
최근 진행 중인 Oracle → TiDB 전환 프로젝트에서, 애플리케이션 호환성 테스트를 위해 테스트 환경의 오라클 스키마 구조와 데이터를 TiDB로 동기화해야 했다. 전체 데이터 부하가 크지 않아서 효율적인 방법을 우선 고려하였으며, CSV 기반의 내보내기/불러오기 방식을 선택했다.
전체 프로세스 개요
테이블 스키마 변환
원본 데이터 내보내기 (CSV) ...
7월 1일 22:07에 게시됨
Oracle 10g/11g 데이터 수입/导出 방법 정리
Oracle 10g/11g 기본 데이터 수입/导出 명령어:
exp 사용자/비밀번호@서비스명 file=저장경로.dmp buffer=8192 filesize=10000m feedback=1000<br>
imp 사용자/비밀번호@서비스명 file=파일경로.dmp full=y
一般来说, 특정 사용자 계정하의 데이터를 10g에서는 완전히 수출/수입할 수 있습니다. 또한 특정 테이블, 특정 함수 등을 지정하여 수출할 수 있지만, 자 ...
6월 18일 22:53에 게시됨