IT/Oracle(67)
-
오라클 테이블 이름 변경하는 방법과 인덱스 자동 변경 여부에 대해
테이블 이름을 변경하는 방법은 데이터베이스 시스템에 따라 다르지만, 일반적으로 SQL에서는 ALTER TABLE 문을 사용하여 테이블 이름을 변경할 수 있습니다. 오라클에서는 다음과 같이 테이블 이름을 변경할 수 있습니다ALTER TABLE old_table_name RENAME TO new_table_name;인덱스 자동 변경 여부는 데이터베이스 시스템에 따라 다릅니다. 일반적으로 인덱스 이름은 테이블 이름 변경과 함께 자동으로 변경되지 않습니다. 따라서 인덱스 이름도 변경하려면 별도의 명령을 사용해야 합니다. 오라클에서는 인덱스를 직접 리네임하는 명령어를 사용합니다ALTER INDEX old_index_name RENAME TO new_index_name;따라서, 테이블 이름을 변경한 후 인덱스 이름..
2025.02.28 -
오라클 V$SESSION.STATE가 WAITING인 경우
V$SESSION 뷰에서 STATE 값이 WAITING이면 해당 세션이 현재 어떤 이벤트를 기다리고 있다는 의미입니다. 즉, 실행 중이 아니라 특정 리소스(락, I/O, 네트워크, CPU 등) 대기 상태에 있다는 뜻입니다.WAITING 상태의 주요 원인 • V$SESSION에서 WAIT_CLASS와 EVENT 컬럼을 확인하면 대기 원인을 찾을 수 있습니다. SELECT sid, serial#, username, event, wait_class, seconds_in_wait FROM v$session WHERE state = 'WAITING'; • 이 결과에서 WAIT_CLASS 값에 따라 원인을 분석할 수 있습니다. 1. 락(Lock)으로 인한 대기 • 예시 : 한 트랜잭션이 특정 테이블을..
2025.02.28 -
ORA-12547 : TNS:lost contact 에러 원인 및 해결 방법
ORA-12547: TNS:lost contact 오류는 데이터베이스 클라이언트와 서버 간의 통신이 끊겼을 때 발생합니다. 주요 원인은 다음과 같습니다.1. Oracle 바이너리 파일의 권한 문제 • Oracle 실행 파일 (oracle, sqlplus, listener 등)의 권한이 잘못 설정되어 있을 경우 발생할 수 있습니다.2. 환경 변수 설정 오류 • ORACLE_HOME, ORACLE_SID 등의 환경 변수가 올바르게 설정되지 않았을 경우 문제가 발생할 수 있습니다.3. Shared Memory (SHMMAX, SHMALL) 및 Semaphore 설정 오류 • 리눅스 환경에서 공유 메모리 및 세마포어 값이 너무 낮거나 설정이 잘못되었을 경우 Oracle이 정상적으로 실행되지 않습니다.4. ..
2025.02.27 -
데이터베이스의 병행 제어(Concurrency Control)
데이터베이스의 병행 제어(Concurrency Control) 란 여러 사용자가 동시에 데이터베이스에 접근하여 트랜잭션을 수행할 때, 데이터의 일관성과 무결성을 유지하기 위해 트랜잭션 간의 충돌과 부작용을 방지하는 기법입니다.병행 제어(Concurrency Control)의 필요성여러 트랜잭션이 데이터베이스에 동시에 접근할 때 다음과 같은 문제가 발생할 수 있으므로 병행 제어가 필요합니다.1. 갱신 분실(Lost Update)두 개 이상의 트랜잭션이 같은 데이터를 동시에 수정할 때, 한 트랜잭션의 갱신 결과가 다른 트랜잭션에 의해 덮어쓰여 사라지는 현상2. 더티 리드(Dirty Read)한 트랜잭션이 아직 완료되지 않은 데이터를 다른 트랜잭션이 읽는 현상3. 모순성(Inconsistent Analysis..
2025.02.26 -
오라클 스마트 스캔 - 직접 경로 읽기
스마트 스캔 기능의 직접 경로 읽기란, 데이터베이스에서 쿼리를 실행할 때, 테이블의 행(Row) 단위를 직접 접근하여 읽는 방식을 말합니다. 일반적인 인덱스 스캔(Index Scan)이나 전체 테이블 스캔(Table Full Scan)을 거치지 않고, 필요한 레코드의 물리적 주소를 정확히 알고 있는 상태에서 데이터를 빠르게 조회하는 방법입니다.직접 경로 읽기 (Direct Path Read)란 일반적인 DB 블록 버퍼 캐시를 거치지 않고, 데이터 파일에서 바로 PGA(Private Memory)영역으로 데이터를 읽는 방식을 의미합니다. 이는 주로 대량의 데이터를 읽는 경우 효율적입니다.즉, 스마트 스캔과 직접 경로 읽기를 결합하면, 버퍼 캐시를 우회하여 스토리지에서 바로 데이터를 읽고 필터링을 한 후, ..
2025.02.25 -
Oracle 19c - JSON 활용 방법
오라클 데이터베이스는 JSON(JavaScript Object Notation)을 네이티브 형식으로 지원하며, JSON 데이터를 효과적으로 저장, 조회 및 분석할 수 있는 다양한 기능을 제공합니다.특히 오라클 19c에서는 JSON 처리 기능이 더욱 강화되었으며, 기존의 관계형 데이터와 함께 활용할 수 있도록 최적화되었습니다.오라클에서 JSON 활용 방식1. JSON 데이터 저장 방식1) VARCHAR2, CLOB을 이용한 JSON 저장간단한 JSON 데이터를 저장할 때 적합.JSON 데이터 크기가 크다면 CLOB을 사용하여 저장 가능.예제: VARCHAR2에 JSON 데이터 저장CREATE TABLE employees_json ( id NUMBER PRIMARY KEY, data CLOB CH..
2025.02.25