오라클
[Oracle] 오라클 클라우드(Cloud) DB 생성과 SQL*Developer 연결
내가 오라클 클라우드를 사용한 계기 프로젝트 중 여러명이 DB에 붙어서 작업을 해야하는 상황이 있었다. 하나의 Local PC에 DB를 만들어 놓고 접속하는 방식으로 진행을 하려 했으나, 지속적으로 PC가 켜져있어야하고 방화벽 설정으로 인해 종종 DB 연결이 끊기는 현상이 자주 발생했다. 결국, 찾은 방법이 월렛만 갖고 있으면 누구나 접속 가능한 '오라클 클라우드' 서비스였다. 오라클 자율운영 데이터베이스(APT DB) 생성 01. 오라클 클라우드 사이트에서 회원 가입하기 오라클 통합 로그인이 아닌 오라클 클라우드 접속을 위한 아이디를 생성해야하는데 회원가입이 굉장히 까다롭다. 회원 가입 도중 신용카드를 등록해야하는데, 이때 가장 중요한건 신용카드사에 저장한 주소와 내가 회원가입시 적은 주소가 동일해야한..
[Oracle] 문자 처리 함수(Function)의 모든것
오라클 문자 처리 함수 문자처리 함수는 문자와 관련된 특별한 조작을 위한 함수이고 단일 함수이기 때문에 테이블의 행 단위로 처리된다. 대표적인 문자 처리 함수 문자 처리 함수 예 -- INITCAP SELECT INITCAP('ORACLE SQL') FROM dual; --> Oracle Sql -- UPPER SELECT UPPER('Oracle SQL') FROM dual; --> ORACLE SQL -- TIP: 문자열에서 대소문자인지 구분이 안될때 어퍼로 치환하고 찾기 좋음 -- LOWER SELECT LOWER('Oracle SQL') FROM dual; --> oracle sql -- CONCAT #하나 이상의 문자는 연결 불가능 -> || 연산자 사용 SELECT CONCAT('Oracle'..
[Oracle] 오라클 SQL 함수는? (문자, 숫자, 날짜 처리 함수)
SQL 함수는, 함수는(Function) 데이터를 가공할 목적으로 사용되며 기본적인 SQL 문을 강력하게 해준다. 함수를 많이 알고 있을수록 데이터 처리를 편하게 할 수 있다. 남들이 몇 줄의 쿼리문으로 하는 작업도 함수를 잘만 사용하고 많이 알고 있으면 한줄로도 가능하게 해준다. 함수는 입력(INPUT)과 출력(OUTPUT)으로 구성되는데, 입력으로 데이터를 설정하면 함수가 내부적으로 데이터를 가공하여 출력을 통해 반환된다. 입력으로 설정되는 데이터 개수는 함수에 따라 다르나 출력되는 데이터는 한 개만 반환된다. 오라클의 단일(행) 함수와 그룹함수 함수는 크게 세 가지로 나뉘는데, 모든 행에 대해서 각각 적용되어 행의 개수롸 동일한 개수를 반환되는 단일(행) 함수 여러 행 또는 전체에 대해 함수가 적용..
[Oracle] 오라클 테이블 생성하기
오라클에서 테이블이란 테이블은 오라클 DB에서 가장 중요한 객체로서 사용자가 관리하고자 하는 실 데이터가 저장되어 있는 곳이다. 테이블 생성을 위한 기본 Syntax는, CREATE TABLE [스키마].테이블명 ( 컬럼명 데이터타입 [DEFAULT 값 | 제약조건][,...] ); 이때, CREATE TABLE 뒤에는 스키마(SCHEMA)를 지정하거나 생략하고 테이블명을 지정할 수 있다. 테이블 명과 DB 객체 이름을 저장할 때 Rule 1) 테이블/컬럼명은 문자로 시작하고(숫자X) 길이는 30문자 이내로 설정 2) 테이블/컬럼명은 A~Z, a~z, 0~9을 사용할 수 있고, 한글 사용도 가능하지만 권장하지 않는다. 3) 동일한 스키마 내에서는 다른 객체와 이름이 중복괴면 식별이 안되기 때문에 중복되지..
[Oracle] UPDATE, DELETE, MERGE 문 feat by. DML
UPDATE, DELETE, MERGE 문 기본 Syntax DML 문인 Update, Delete, Merge문은 기본적으로 테이블 데이터를 수정하고, 삭제하고, 병합하는데 사용된다. -- UPDATE 문 UPDATE 테이블명 SET 컬럼명 = 변경할값 [, 컬럼명1 = 변경할값] [WHERE 조건식]; -- DELETE 문 DELETE FROM 테이블명 [WHERE 조건신]; -- MERGE 문 MERGE INTO 테이블1 [별칭] -- 합병하는 USING (데이블2 | 뷰 | 서브쿼리) [별칭] -- 합병당하는 ON (조인조건) WHEN MATCHED THEN -- 조인조건 1 (조인 조건에 만족하는게 있다면...) UPDATE SET 컬럼명 = 값, 컬럼명1 = 값1 [WHERE 조건식] [DEL..
[Orcale] 오라클 INSERT 문에 대한 모.든.것. aka DML
오라클 INSERT 문이란, INSERT 문은 오라클 DML(Data Manipulation Language)에 속하는 문으로 테이블에 새로운 데이터를 추가(저장)하기 위해 사용되는 문이다. 크게 INSERT 문에는, - 단일행을 추가하는 '단일행 INSERT 문' - 복수행을 추가하는 '복수행 INSERT 문' - 다중 테이블에 다중 데이터를 무조건 넣는 '무조건 INSERT ALL 문' - 다중 테이블에 조건에 맞는 데이터만 넣는 '조건 INSERT ALL 문' - '조건 INSERT FIRST문' 있다. 아래 쿼리의 예시는 오라클에서 제공하는 SCOTT 계정에 있는 데이터를 사용했다. SCOTT을 사용하는 방법은 링크에 정리 되어있다. (loghada.tistory.com/20) INSERT 문의 ..
[Oracle] 오라클 12c 설치 완벽 가.이.드. (feat HR/SCOTT 계정 생성까지)
내가 SQL 공부하면서 가장 힘들었던것 오라클 공부를 하면서 가장 힘들었던건 오라클 설치/삭제이다. 오라클을 처음 접하는 대부분의 사람들이 오라클에서 제공하는 HR/SCOTT 계정에 있는 예제 데이터로 공부를 한다. 보통 DQL은 HR 계정의 데이터로 DML/DDL은 SCOTT 계정의 데이터를 사용한다. 하지만, 막상 공부를 위해 오라클 설치하여 HR/SCOTT 계정 생성하려고 하면 수많은 에러가 난다. 실제로 오라클 설치/삭제는 현업자들도 힘들어 하는 과정이고, 오라클을 사용하는 회사의 경우 오라클사의 엔지니어를 불러 해결하는 경우가 대부분이다. 그만큼 어.렵.다. 일단, 나는 오라클 설치/삭제를 최소 10번은 했던것 같다. Mac/Linux에서했었고 Window에서도 해보면서 꽤 많은 시행착오를 겪었..
[Oracle] 오라클 WINDOW FUNCTION/윈도우 함수 란?
Window 함수는? - 기존 RDBMS(관계형 데이터베이스)는 컬럼과 컬럼간의 연산, 비교, 연결이나 집압에 대한 집게는 쉬운 반면, 행과 행간의 관계를 정의하거나 비교, 연산한는 것은 하나의 쿼리문으로 처리하기 굉장히 어려웠다. 하지만, 윈도우 함수를 이용한다면 행과 행간의 관계를 쉽게 정의할 수 있다. - 윈도우 함수(Window Function)은 분석 함수(Analytic Function)이나 순위 함수(Rank Function)으로도 알려져 있다. 또한, 문법상 OVER() 문구가 키워드로 꼭 들어가야 되기 때문에 OVER 함수로 할고 있는 사람도 있다. 즉, 윈도우 함수 = 분석 함수 = 순위 함수 = 오버절 모두 같은 뜻이지만 사용하는 단어만 다를 뿐이다. - 다른 함수들처럼 중첩해서 사용..
[Oracle] Inline View 인라인뷰란
인라인뷰 소개 서브쿼리가 FROM 절에서 안에서 사용되는 경우, 해당 서브쿼리를 '인라인뷰'라고 한다. FROM 절에서 사용된 서브쿼리의 결과가 하나의 테이블에 대한 뷰(View)처럼 사용된다. SELECT * FROM (SELECT * FROM table ORDER BY id DESC) WHERE ROWNUM
[Oracle] ORA-28001 오라클 패스워드 만료 :: 오라클 에러
오라클 ERROR CODE ORA-28001: the password has expired ORA-28001: 비밀번호가 만기되었습니다 ORA-28000 에러란, 오라클은 오라클 11부터 계정에 대해 패스워드 유효기간을 180일로 정해두었습니다. 이 기간이 지나기 까지 패스워드 변경이 없으면 해당 계정에 로그인되지 않습니다. 에러 해결 방법 에러 해결 방법은 크게 두가지입니다. 1. 임시 방편으로 계정 비밀번호를 변경하는 방법 (SYS 계정으로 접속 후 명령해야합니다.) ALTER USER user_id IDENTIFIED BY new_password; 2. 해당 패스워드에 대한 유효기간을 umlimited로 설정하는 영구적인 방법 (SYS 계정으로 접속 후 명령해야합니다.) ALTER profile d..