본문 바로가기

Oracle

(23)
오라클19c로 버전 업그레이드 시 참고(oracle10g > oracle19c) 현재 어플리케이션 환경변경JDK 1.8(java 8)oracle 10gojdbc6.jarJDK 1.8(java 8)oracle 19cojdc8.jar 🗝️jdbc 란?자바에서 데이터베이스에 접근할 수 있도록 관리해주는 드라이버 API🗝️ojdbc 란?오라클 전용 jdbc 라이브러리 ✅ 오라클 19c로 버전업 하면서 확인해야 할 것들  1. 오라클 JDBC가 지원하는 JDK 버전 확인https://www.oracle.com/database/technologies/faq-jdbc.html Oracle JDBC Frequently Asked QuestionsFor byte data, there are three Oracle SQL types: VARCHAR2, LONG and CLOB. VARCHAR2 d..
오라클 특정 문자까지 자르기(SUBSTR, INSTR, REGEXP_SUBSTR 정규식) 오라클 특정 문자까지 자르는 방법(부제 : 자바스크립트의 substring처럼 특정 문자까지 자르고 싶을 때) 1. 오라클 함수 SUBSTR과 INSTR을 사용SELECT SUBSTR('3_20240115', 1, INSTR('3_20240115', '_') - 1) AS INDEX_BTD FROM DUAL결과 : 3SELECT SUBSTR('3_20240115', INSTR('3_20240115', '_') + 1) AS INDEX_BTD FROM DUAL결과 : 20240115  2.  REGEXP_SUBSTR 정규식 함수 사용SELECT REGEXP_SUBSTR('3_20240115','[^_]+', 1, 1) AS INDEX_BTD FROM DUAL;결과 : 3SELECT REGEXP_SUBSTR..
오라클 기본 캐릭터셋 조회 nls_database_parameters / NLS_CHARACTERSET 🪐오라클 기본 캐릭터셋 조회select * from nls_database_parameters where parameter = 'NLS_CHARACTERSET';  🪐 결과 오라클 기본 캐릭터셋은 KO16MSWIN949 설정을 확인할 수 있다.
오라클 기본 설정 DATE 타입 조회 nls_session_parameters 🪐오라클 기본 포맷 조회SELECT * FROM nls_session_parameters WHERE parameter LIKE '%FORMAT%';  🪐 결과  날짜타입을 SYSDATE로 저장했을 때 nls session parameters에서 설정한 값으로 24/08/22 이렇게 들어간다.
오라클 나이 계산하기(주민등록번호 2000년대생, 만나이, 개월수) 오라클 나이 계산하기 만나이, 일수 + 1세 미만은 개월수로 계산하는 쿼리문WITH CHILD AS ( SELECT '동수' NAME, TO_DATE('20240813', 'YYYYMMDD') BIRTHDAY FROM DUAL UNION ALL SELECT '민희' NAME, TO_DATE('20111125', 'YYYYMMDD') BIRTHDAY FROM DUAL UNION ALL SELECT '영숙' NAME, TO_DATE('20020401', 'YYYYMMDD') BIRTHDAY FROM DUAL UNION ALL SELECT '경자' NAME, TO_DATE('19970107', 'YYYYMMDD') BIRTHDAY FROM DUAL )SELECT NAME , TO_..
오라클 테이블 row 길이, 테이블 사이즈, 인덱스 사이즈 조회하기 테이블 사이즈 조회하기SELECT owner, segment_name, segment_type, sum(bytes)/1024/1024 as MBFROM dba_segmentsWHERE segment_type='TABLE'AND owner = '소유자명'GROUP BY owner, segment_name, segment_typeORDER BY MB desc;SELECT A.SEGMENT_NAME, ROUND(SUM(A.BYTES)/1024/1024) "SIZE_MB", A.SEGMENT_TYPEFROM DBA_SEGMENTS A, DBA_TABLES BWHERE A.SEGMENT_NAME = B.TABLE_NAMEAND A.SEGMENT_TYPE IN ('TABLE', 'TABLE_PARTITION')AN..
오라클 쿼리로 $ORACLE_HOME 경로, 오라클 정보 확인 1. 유닉스 오라클 쿼리로 $ORACLE_HOME 경로 확인하기> SQL문select substr(value, 1, length(value) - length(substr(value, instr(value,'dbs')))) from v$parameterwhere name = 'spfile'; > 결과/u01/app/oracle/product/11.2.0.4/db_1/  2. 오라클 정보 조회> SQL문select * from v$version; > 결과Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit ProductionPL/SQL Release 11.2.0.4.0 - Production"CORE 11.2.0.4.0 Production"TN..
오라클 프로시저 펑션 내용 검색하기 1. 프로시저, 펑션 내용 검색하기-- 테스트라는 텍스트가 들어간 오브젝트 검색SELECT A.OBJECT_ID, A.OBJECT_NAME, A.OBJECT_TYPE, B.TEXTFROM USER_OBJECTS A, USER_SOURCE BWHERE 1=1AND A.OBJECT_NAME = B.NAMEAND A.OBJECT_TYPE IN ('PROCEDURE', 'FUNCTION')AND B.TEXT LIKE '%테스트%';-- PACKAGE 라는 텍스트가 들어간 오브젝트 검색SELECT TEXTFROM USER_SOURCEWHERE TEXT LIKE '%PACKAGE%';-- 프로시저명 검색SELECT *FROM USER_PROCEDURESWHERE OBJECT_NAME LIKE '%테스트%';