데이터베이스/오라클7

[Oracle] 한 달 전 데이터를 SELECT 하기

한 달 전 데이터를 복구해보자. ERP운영을 하다보면 특정 시점의 데이터가 필요 할 때가 있다. 빠르게 요청받은 몇 시간 전 데이터는 TimeStamp 를 통해 데이터 복구가 가능하지만 3주 전 시점의 데이터는 복구 할 수가 없는데, 가능하게 해보자. 전략은 테스트 디비서버를 하나 두는 것이다. 콜드백업 받은 데이터를 그대로 테스트 디비에 올리고 디비링크로 서로 연결시킨 후 원하는 시점까지 복구 후에 select 하면 원하는 시점 데이터를 볼 수 있다. 정기적으로 Cold Backup을 하고 Hot Backup을 하며 해당 백업파일을 이용하여 복구작업을 해보자. 필수 파일 LOG FILE - 말그대로 로그가 담긴 파일이다. 디비에 변경사항이 생기면 변경 명령이 해당 파일에 저장된다. 원하는 시점까지 복구..

[Oracle] TimeStamp 시점 데이터 복구

결론 TimeStamp Query 복사 후 사용 select * from temp as of timestamp(systimestamp-interval '120' minute) --두 시간 전 데이터 조회 select * from temp as of timestamp(systimestamp-interval '2' hour) as 부터 끝까지 복사해서 table 뒤에 붙여서 사용 원리 - `undo data` 작업을 하기 전 상태로 되돌릴 수 있는 데이터 데이터를 수정하거나 지우고 commit 했다면 `undo segment에 저장` 하게 된다. Timestamp 를 사용하면 이 저장된 곳을 참조한다. 활성화된 undo segment 조회. select * from v$rollname undo segment..

[Oracle] Select문 결과를 주기적으로 이메일 발송하기

Oracle mail, 오라클 메일, Version : 11G 준비사항 & 순서 1. SMTP 메일서버 -서버구축 후 메일서버에서 접속 허용 설정 2. network service 설정 -오라클에서 접근 허용 3. SELECT문 작성 4. 프로시저 만들기 5. 오라클 JOB 등록 기존 스프링 스케쥴러로 데이터를 주기적으로 발송했지만, 빈번한 추가요청에 대응하여 오라클에서 직접 처리했다. 1. SMTP 메일서버구축 -- link 2. Network Service 설정 -- link 3. 주기적으로 보낼 SELECT문 작성 SELECT '1' NO, '구분1' GU,'상태1' STATUS,TO_CHAR(SYSDATE,'YYYY-MM-DD') IL,'ID1' ID,'유저1' NM,'비고1' BG FROM DU..

[Oracle] Date to char 날짜 타입 포맷 변경 예제

오라클에서 원하는 형식으로 날짜(Date) 타입을 가져와보자. TO_CHAR - 문자로 기본날짜 Select SELECT SYSDATE FROM DUAL 보기 좋은 날짜 포맷 SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD') FROM DUAL -- 2020-10-26 SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MM:SS') FROM DUAL -- 2020-10-26 15:10:54 그 외 예제 SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD') FROM DUAL UNION ALL SELECT TO_CHAR(SYSDATE,'RRRR-MM-DD') FROM DUAL UNION ALL SELECT TO_CHAR(SYSDATE,'MON') FROM ..

[Oracle] 오라클 DELETE FROM 조건삭제 예시

데이터를 삭제할 수 있는 DELETE 문 DELETE문 기본 예시 delete from temp_ --전체삭제 ㅤ ㅤ --select * from delete from temp_ where colA='a11' --조건삭제 ㅤ ㅤ ㅤ delete from temp_ where colB like '_1_' --특정조건삭제 TABLE : temp_ create table temp_ ( colA VARCHAR2(100),colB VARCHAR2(100),colC VARCHAR2(100)); insert into temp_ select 'a11','b11','c11' from dual union all select 'a22','b22','c22' from dual union all select 'a33','b13..

[Oracle]오라클 INSERT INTO SELECT 예시

INSERT문 기본 예시 insert into temp_ (colA,colB,colC) values ('a1','b1','c1') -- 컬럼명 명시 ㅤ ㅤ insert into temp_ select 'a1','b1','c1' from dual -- 컬럼명 생략 ㅤ ㅤ insert into temp_ (colA,colC) values (1,2) -- 특정 컬럼만 (숫자) 기본 예제 1. temp_ 데이블 생성. create table temp_ ( colA VARCHAR2(100),colB VARCHAR2(100),colC VARCHAR2(100)); 2. 삽입 할 데이터 select select 'a1','b1','c1' from dual union all select 'a2','b2','c2' fro..

오라클 설치 윈도우 10 오라클 11G

설치 시 에러사항 oracle net configuration assistant을 를 실패했습니다 // unable to find error file oracle_home rdbms opw // 1. URL 접속 www.oracle.com/database/technologies/oracle-database-software-downloads.html -압축을 풀면 database라는 폴더 (수정한 날짜 2010-03-31 오전 10:18) 가 생성된다. database 폴더 안에 setup.exe 실행. 2.설치 첫 난관 봉착. 기존 HOSTS 파일을 수정한적 없다면 그냥 설치 강행. (2시간 구글링..) 두 번째 난관 봉착. ORACLE_HOME 환경변수 에러. 저 같은 경우는 이미 오라클 클라이언트설치..