차근차근/Oracle 29

오라클 관리자(system, sys) 계정 비밀번호 찾기/변경 & 윈도우 서버에서 oracle서버 교체작업

windoe서버에서 oracle서버 교체작업 https://dog-benefit.tistory.com/3 ORACLE 서버 교체 작업 (WINDOW 서버) 1. 상황 - 오라클 윈도우 서버 사용 중 - 서버에 바이러스 걸림 - 바이러스 제거를 위해 서버 포맷이 필요한 상황 - 다운타임 토요일 20시 ~ 토요일 23시 2. 작업 방법 - 데이터 파일 백업 후, 서버 포 dog-benefit.tistory.com https://m.blog.naver.com/baekmg1988/221298569322 [Oracle] 오라클 관리자(system, sys) 계정 비밀번호 찾기/변경 #오라클 #oracle #system #sys #비밀번호 #패스워드 #관리자계정 #계정비밀번호 #비밀번호찾기 #비밀번호변... blo..

차근차근/Oracle 2022.02.26

[Oracle] LISTAGG()

LISTAGG() 여러행의 데이터를 하나의 행에 가로로 출력하기 SELECT LISTAGG(필드명, 구분자) WITHIN GROUP ( ORDER BY 정렬기준필드 ASC 또는 DESC) FROM 테이블 출처: https://dololak.tistory.com/809 [코끼리를 냉장고에 넣는 방법] LISTAGG : 합칠 필드명과, 합칠 때 사용할 구분자를 지정 WITHIN GROUP : 합칠때 정렬 기준 LISTAGG함수 실행 결과에서 중복 제거하기 5번행의 SALESMAN의 경우에는 네 개의 중복된 부서번호가 있습니다. 안타깝게도 LISTAGG는 DISTINCT를 사용할 수 없기 때문에 다른 방법이 필요합니다. 중복 해결은 의외로 간단한데 중복이 제거된 상태의 뷰를 만들고 그 뷰를 가지고 LISTAG..

차근차근/Oracle 2022.01.05

인터넷이 안되는 환경에서 오렌지 설치하기

오렌지 설치하고 오라클 클라이언트도 설치해야 한다. https://hoing.io/archives/153 bit 구분 외에 Client 와 Client_home 으로 나뉘어져 있습니다. - client : 기존과 동일하게 설치시 경로를 지정하여 binary 파일 복사 및 registry 등록이 수행됩니다 - client_home : 압축 해제 후 setup.exe를 실행하는 위치가 Home이 되며, 파일복사 절차 없이 등록 작업만 수행돕니다. base => c:\oracle home => c:\oracle\NT_193000_client_home C밑에 oracle 만들고 WINDOWS.X64_193000_db_home.zip 압축풀고 setup.exe실행 tnsnames.ora파일은 C:\oracle\W..

차근차근/Oracle 2022.01.04

IN, EXISTS

IN 특정 값들이 포함되어 있는지 검사 (값, 서브쿼리 입력가능) 특정 컬럼에 여러 개의 값이 포함되었는지 체크 OR조건 걸림 NOT IN AND조건 걸림 서브쿼리의 결과 중에 NULL이 포함되는 경우 데이터가 출력되지 않기 때문에 조회컬럼에 IS NOT NULL조건을 줘야 한다. EXISTS 특정 값들이 존재되어 있는지 검사 (서브쿼리만 입력가능) 특정 컬럼에 값이 존재하는지 체크 EXISTS SELECT * FROM TEST_TABLE_ONE A WHERE EXISTS (SELECT AMT FROM TEST_TABLE_TWO B WHERE CHECK_YN='Y' AND A.NAME=B.NAME) 출처: https://devjhs.tistory.com/72 [키보드와 하루] EXISTS가 IN 보다 좋..

차근차근/Oracle 2022.01.03

NVL , NVL2, LNNVL

NVL 해당 칼럼의 값이 NULL값 일 때 특정값으로 출력하고 싶을 때 사용 NVL2 해당 칼럼의 값이 NULL값이 아닐 때 특정값으로 출력하고 싶을 때 사용 LNNVL 조건식 함수로 where절에서 사용한다. 컬럼이 NULL인 경우 = TRUE 함수 내부 조건이 FALSE/UNKNOWN 인 경우 = TRUE 조건문이 TRUE인 경우 = FALSE NVL함수 값이 NULL인 경우 지정값을 출력하고, NULL이 아니면 원래값을 그대로 출력한다. NVL("값","지정값") NVL2함수 NVL2함수는 NULL이 아닌경우 지정값1을 출력하고, NULL인 경우 지정값 2를 출력한다. NVL2("값","지정값1","지정값2") //NVL2("값","NULL이 아닐 때 노출되는 값","NULL일 때 노출되는 값") ..

차근차근/Oracle 2021.12.30

인덱스 INDEX

pk는 자동으로 인덱스가 생성된다고 알고 있었는데.. 맞나 하는 의문이 들었다.. PK(Primary Key) - 일반적인 DBMS에서 PK는 자동으로 Index가 적용된다. => 오라클도 일반적인 DBMS겠지..? - PK는 개념적인 값으로 여러 Tuple중 유일한 Tuple임을 보장한다.(중복될 수 없는 유일한 단일값) - Not Null - Object속성은 Constraint로써 제약조건으로 생성된다. - 실제 값은 있으나 물리적으로 따로 저장하지는 않는다. - 테이블 당 하나 Index - Tuple들의 유일성을 보장하지 않는다. (인덱스가 걸려있는 컬럼에 중복될 수 없는 유일한 값만을 보장하고, 인덱스가 걸려있는 컬럼에 null값은 입력가능하다.) - Object속성은 Index이다. - 테이..

차근차근/Oracle 2021.12.22

뷰 View

뷰 오라클에서 뷰는 테이블과 흡사한 오브젝트이다. 뷰는 실제로 데이터를 저장하고 있지만 않지만 DML(데이터 조작어, Data Manipulation Language)작업이 가능한 가능 테이블이라고 생각하면 된다. * DML : select, insert, update, delete 뷰의 특징 - 복잡한 쿼리를 단순화 시킬 수 있다. - 사용자에게 필요한 정보만 접근하도록 접근을 제한할 수 있다. CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW 뷰이름 [(column_aliases)] AS SELECT 문 [WITH READ ONLY] [WITH CHECK OPTION [CONSTRAINT 제약조건명]] - OR REPLACE : 해당 구문을 사용하면 뷰를 수정할 때 DROP없이..

차근차근/Oracle 2021.12.22

패키지 Package

패키지 프로시저와 함수의 집합. 한 패키지 안에 프로시저와 함수를 넣어놓고 필요할 때 패키지 내에 있는 프로시저와 함수를 뽑아 사용하는 식이다. 변수, 상수, 서브 프로그램 등의 항목을 묶어놓은 객체이다. 패키지는 컴파일 과정을 거쳐 데이터베이스에 저장되며 다른 프로그램에서 패키지의 항목을 참조하고 실행 할 수도 있다. 패키지를 사용하는 이유 프로시저같은 서브 프로그램의 수가 기하급수적으로 많아지게 된다. 이렇게 항목이 많아지면 관리가 힘들고 필요한 항목을 찾는 것이 어렵다. 이런 상황을 방지하기 하고 여러 항목들을 좀 더 손쉽게 관리하기 위한 개념이 패키지이다. [참조] https://wakestand.tistory.com/173 오라클 패키지(Package) 생성부터 실행까지 오라클에서 패키지(Pac..

차근차근/Oracle 2021.12.22

트리거(TRIGGER)

트리거 트리거란 영어로 방아쇠다. 방아쇠를 당기면 그로 인해 총기 내부에서 알아서 일련의 작업을 실행하고 총알이 날아가는 것처럼 데이터베이스 이벤트에 반응하여 실행되는 프로그램 단위이다. 트리거링 이벤트에 대해 자동으로 실행되는 프로시저로 데이터베이스에 저장되는 스키마 오브젝트이다. 트리거의 주요 사용목적은 테이블 데이터의 무결성 보장, 데이터베이스 관리의 자동화 등이라고 할 수 있다. 트리거 이벤트 - 데이터 조작어(DML) : insert, update, delete - 데이터 정의어(DDL) : create, alter, drop - 데이터베이스 오퍼레이션 : servererror, logon, startup or shutdown 트리거 타이밍 - before : 이벤트가 발생하기 전에 - afte..

차근차근/Oracle 2021.12.22

다른 db 테이블 조회

검색어 : db link 데이터베이스 링크 오라클 서버들끼지 데이터베이스 링크를 만들어서 하나의 데이터베이스처럼 사용하기 위한 방법이다. 1) public 데이터베이스 링크 - 모든 사용자가 사용할 수 있다. - 보안에 취약하지만 편리하다 - 만일 public링크를 주지 않는다면 데이터베이스의 사용자 마다 링크를 별도로 생성해줘야 한다. 2) private 데이터베이스 링크 - 특정 사용자가 사용할 수 있다. - 보안적으로 public 링크보다 우수하다. - 원격지 서버로 연결을 원하는 각각의 사용자 마다 DBlink를 생성해줘야 한다. -> 생성 시 뿐만 아니라 관리적인 측면해서도 손이 많이 간다. 데이터베이스 링크 만들기 1. "DATABASE LINK" 권한이 필요하다 - 오라클 SYSTEM계정으로..

차근차근/Oracle 2021.12.21
반응형