⇥ DevOps Tech 🙋🏻♀️/✏️ ORACLE
[ORACLE] 오라클 19c 설치 방법
[ORACLE] 오라클 19c 설치 방법
2021.11.191. preinstall rpm download curl -o oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm 2. preinstall package install cd /app/media yum -y localinstall oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm # 추가되었는지 확인 # cat /etc/security/limits.d/oracle-database-preinstall-19c.conf oracle soft nofile 1024 oracle hard nofile 65536 oracle soft nproc 16384 oracle hard nproc 16384 oracle soft stack 102..
[ORACLE] 분석함수에서 FIRST/LAST 함수 사용하기
[ORACLE] 분석함수에서 FIRST/LAST 함수 사용하기
2021.05.28예시 테이블 SQL> select * from t; C1 D1 D2 ---------- ---------- ---------- 1 1 1 2 2 2 3 0 3 4 1 4 5 2 0 6 0 1 7 1 2 8 2 3 9 0 4 10 1 0 11 2 1 C1 D1 D2 ---------- ---------- ---------- 12 0 2 13 1 3 14 2 4 15 0 0 16 1 1 17 2 2 18 0 3 19 1 4 20 2 0 20 rows selected. 위와 같은 테이블에서 분석함수 + FIRST / LAST 함수를 사용해보자. FIRST 함수 + 분석함수 SQL> SELECT MIN(C1) KEEP (DENSE_RANK FIRST ORDER BY D1) OVER (PARTITION BY D2..
[ORACLE] 집합 함수 (AVG, COUNT, SUM, MAX, MIN, RANK, DENSE_RANK, LISTAGG)
[ORACLE] 집합 함수 (AVG, COUNT, SUM, MAX, MIN, RANK, DENSE_RANK, LISTAGG)
2021.05.28집합함수 특정 컬럼 혹은 전체 데이터에 대해 그룹화하여 데이터를 추출하는데 사용되는 함수 AVG 특정 컬럼에 대해 평균 값을 추출하는 함수 COUNT 대상 집합에 대해 총 건수를 추출하는 함수 SUM 대상 집합에 대해 합계를 추출하는 함수 MAX 대상 집합 중 최대 값을 추출하는 함수 MIN 대상 집합 중 최소 값을 추출하는 함수 RANK 특정 걸럼의 값을 이용하여 전체에 대해 순위를 지정하는 함수 DENSE_RANK 특정 컬럼을 기준으로 순위를 추출할 때 사용되는 함수 RANK 와 다르게 같은 순위를 가지는 데이터가 존재할 경우 그 다음 순위를 바로 다음 값으로 추출함 LISTAGG 여러개의 행에 존재하는 컬럼 값을 하나의 행으로 병합할 때 사용하는 함수
[ORACLE] 설치 된 상태에서 재설치 하는 방법
[ORACLE] 설치 된 상태에서 재설치 하는 방법
2021.04.27ORACLE INSTANCE 를 설치하게 되면 datafile 을 저장하는 공간, log 파일을 저장하는 공간이 생기게 된다. datafile 과 log 파일을 정리한 후, instance 설치에 대한 정보까지 제거해준 후 재설치를 수행하면 된다. 본 포스팅은 CENTOS7 기준으로 작성되었다. 1. 기존 파일 정리 $ORACLE_BASE/oradata -- 디렉토리 삭제 설치된 DB의 DATA FILE 이 저장되는 공간 $ORACLE_BASE/diag/rdbms/$ORACLE_SID -- 디렉토리 삭제 설치된 DB의 LOG 파일이 저장되는 공간 /etc/oratab -- 노란색으로 표시한 라인 삭제 ORACLE DB 에 대한 정보를 담고 있는 공간 2. Xming 연동이 되어 있으면 편리함 ( 아래의 ..
[ORACLE] WALLET OPEN 방법
[ORACLE] WALLET OPEN 방법
2021.04.261. vi $ORACLE_HOME/network/admin/sqlnet.ora (sqlnet.ora 파일 열기) [oracle12@localhost ~]$ vi $ORACLE_HOME/network/admin/sqlnet.ora # sqlnet.ora Network Configuration File: /home/oracle12/db/product/12.1.0/dbhome_1/network/admin/sqlnet.ora # Generated by Oracle configuration tools. NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT) ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/ho..
[ORACLE] 삭제 (DELETE)
[ORACLE] 삭제 (DELETE)
2020.08.31삭제 (DELETE) 불필요한 데이터를 테이블에서 제거하기 위해 사용하는 SQL 삭제의 구성 요소 DELETE FROM 테이블명 : 삭제하고자 하는 데이터를 저장하고 있는 테이블 명 WHERE 조건절; : 삭제하고자 하는 데이터 조건 설정 일반 예제 DELETE FROM 사원 WHERE 사원번호 = 1006; 서브쿼리를 이용한 삭제 DELETE FROM 사원 WHERE 부서번호 IN ( SELECT 부서번호 FROM 부서 WHERE 부서이름 = '기술팀'); * DELETE 수행 시 주의 사항 DELETE 수행 시 WHERE 조건절이 생략되면 테이블의 모든 데이터가 제거되므로 주의 만약 모든 데이터를 제거해야 한다면 DELETE 는 많은 성능 저하가 발생하기 때문에, TRUNCATE 를 이용하는 것이 유..
[ORACLE] 갱신 (UPDATE)
[ORACLE] 갱신 (UPDATE)
2020.08.29갱신 (UPDATE) 테이블의 데이터 값을 변경하기 위해 사용하는 SQL 갱신을 수행할 경우 한 번에 하나의 컬럼만 갱신할 수도 있고, 여러 개의 컬럼을 갱신할 수도 있다. 갱신의 구성요소 UPDATE TEST SET COL1 = 'AA' WHERE COL2 = '20200829'; UPDATE 테이블명 변경하고자 하는 데이터를 저장하고 있는 테이블의 이름 SET 컬럼명 변경 대상에 대한 변경 후의 값 제공 WHERE 조건절 변경을 수행하고자 하는 대상 COL2 컬럼이 20200829 의 값을 가진 행에 대한 COL1 의 값을 AA로 갱신하는 SQL 문이다. 만약 WHERE 절이 지정되어있지 않다면 모든 행의 COL1 이 AA로 갱신된다. 삽입은 테이블에 존재하는 모든 인덱스에 관련되지만 갱신은 해당 컬..
[ORACLE] 삽입 - 2 / DIRECT LOADING ,MULTI INSERT
[ORACLE] 삽입 - 2 / DIRECT LOADING ,MULTI INSERT
2020.08.27대용량의 데이터에 대해서는 SELECT 절을 이용할 때 직접 로딩 또는 병렬 프로세싱으로 성능 향상을 기대할 수 있다. 직접 로딩(DIRECT LOADING) 을 구현할 때는 테이블을 NOLOGGING 모드로 변경한 후 수행하는 것이 성능에 유리하다. ALTER TABLE 테이블 NOLOGGING; INSERT /* + APPEND */ INTO 테이블(컬럼1, 컬럼2, 컬럼3) SELECT 컬럼4, 컬럼5, 컬럼6 FROM 임시테이블; ALTER TABLE 테이블 LOGGING; 이런 직접 로딩(DIRECT LOADING) 하는 프로세스를 여러 개 기동시켜 한번에 여러 개의 프로세스가 데이터를 저장하는 것을 병렬 프로세싱이라고 한다. 특수 데이터 삽입 NULL NULL 값을 테이블에 저장하고자 한다면 ..
[ORACLE] 삽입 (INSERT) - 1
[ORACLE] 삽입 (INSERT) - 1
2020.08.26삽입 (INSERT) : 발생한 데이터를 특정 테이블에 저장하기 위해 사용하는 SQL 삽입의 구성 요소 삽입 문장 1 INSERT INTO 테이블명 (컬럼명1, 컬럼명2, 컬럼명3 ...) VALUES (값1, 값2, 값3, ...); INSERT INTO .. : 데이터를 저장하기 위한 테이블명 및 컬럼명 지정 VALUES ... : 저장하고자 하는 데이터 삽입 문장 2 INSERT INTO 테이블명 (컬럼명1, 컬럼명2, 컬럼명3 ...) SELECT 컬럼명1, 컬럼명2, 컬럼명3... FROM 테이블명 WHERE 조건절 기타; INSERT INTO .. : 데이터를 저장하기 위한 테이블명 및 컬럼명 지정 SELECT ~ : 조회문 제공 * 데이터 삽입의 종류에 따른 차이 VALUES 이용 : 데이터..
[ORACLE] 행 제한
[ORACLE] 행 제한
2020.08.25행 제한 특정 조건에 따라 행 개수를 제한하기 위해 사용하는 SQL OFFSET 건수 { ROW | ROWS } FETCH { FIRST | NEXT } { 건수 | 숫자 PERCENT } {ROW | ROWS} { ONLY | WITH TIES } ORDER BY SQL 수행 결과의 정렬 기준 OFFSET 행의 시작 지점을 지정 FETCH 반환할 행 또는 행의 비율을 지정 ONLY 행의 수 또는 비율을 정확하게 지정한 값만큼 반환 SELECT 사번, 이름 FROM 사원 ORDER BY 이름 ASC OFFSET 2 ROW FETCH FIRST 3 ROWS ONLY ; - 오름차순으로 정렬 후 , 2번째 행에서 부터 3건을 조회하는 SQL * FIRST / NEXT , ROW / ROWS 의 기능의 차이는..
[ORACLE] 조회 (Query)
[ORACLE] 조회 (Query)
2020.08.24원하는 데이터를 추출하기 위해 사용하는 SQL 조회를 수행하기 위한 SQL 의 구성 요소 SELECT : 추출하고자 하는 컬럼명을 지정하는 부분 FROM : 추출하고자 하는 테이블의 이름을 지정하는 부분 WHERE : 해당 테이블에서 추출하고자 하는 데이터의 조건을 지정하는 부분 + 1. 추출 결과를 정렬하는 ORDER BY 절 2. 그룹 함수와 함께 사용되어 추출 결과를 특정 컬럼을 기준으로 그룹핑하는 GROUP BY 절 * SELECT 절과 FROM 절은 조회를 수행하기 위해 반드시 필요한 필수 부분 * 추출하고자 하는 데이터가 2개 이상의 테이블에 존재할 때 FROM 절에 2개 이상의 테이블을 설정하는 것을 조인이라고 한다. * SELECT 절과 FROM 절 안에는 SELECT 절과 FROM 절이 ..
[ORACLE] SQL 종류 (DML, DDL, DCL, QUERY)
[ORACLE] SQL 종류 (DML, DDL, DCL, QUERY)
2020.08.231. DML (Data Manipulation Language) 데이터 조작어 테이블의 데이터를 수정하거나 추가, 삭제하는 SQL 2. DDL (Data Definition Language) 데이터 정의어 테이블을 생성하고 테이블 구조를 변경할 수 있는 SQL 3. DCL (Data Control Language) 데이터 제어어 테이블의 데이터를 조회하고 변경할 수 있게 권한을 관리하는 SQL 4. QUERY 테이블에 저장되어 있는 데이터를 조회할 수 있는 SQL