오라클을 이용하다면 보면 의도치 않게 데이터를 삭제하거나 변경을 하고 커밋을 해버리는 경우가 종종 발생하는데요. 이런 경우 데이터를 COMMIT을 한지 얼마 안 되었거나 메모리를 넉넉하게 잡아놓은 경우 FLASHBACK 기술을 이용해서 데이터 복원이 가능합니다. 1. 먼제 임시 테이블과 데이터를 생성합니다. 2. 데이터를 삭제하고 COMMIT을 합니다. 3. FLASHBACK에 데이터가 존재하는 확인합니다. 본 포스팅에서 사용할 명령어는 AS OF TABLE 입니다. 자세히 기술하면 다음과 같습니다. SELECT * FROM TEMP_TABLE AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '8' MINUTE); 여기에서 '8'은 몇분전에 데이터를 조회할지를 표시하는 것으로 본..
mysql-bin.index, mysql-bin.00005 이런 화일들은 mysql 의 replication 이라는 동기화 방법을 위해 sql 문을 저장시켜둔 로그 화일이다. 일명 bin 로그 라고 한다. 그래서 DB 서버한대의 서비스에서는 특별히 필요치않다. replication 이라는 동기화에서 해당 로그들을 초기화시키기 위해 reset master => master 서버에서의 명령 reset slave => slave 서버에서의 명령 이런식으로 처리한다. mysql-bin log파일은 용량이 급격히 증가하여 순식간에 DB서버의 Disk 사용량을 Full 상태로 만들 수 있다. 따라서 해당 로그를 쌓이지 않게 하려면 my.cnf 화일 에서 log-bin 이란곳을 주석처리하시고 재시작 종종 My-SQL..
CREATE OR REPLACE TRIGGER APLUSORA.NEWYN_UPDATE_TRG01 AFTER UPDATE OF CONFIRM5 ON APLUSORA.CUSTOMER FOR EACH ROW BEGIN if :NEW.CONFIRM5 = 'N' then -- CONFIRM5 ='N'일 경우만 UPDATE APLUSORA.NEWS_CUST SET NEWS_YN = 'N' WHERE EMAIL = :NEW.EMAIL AND NEWS_YN = 'Y'; UPDATE APLUSORA.FAIR_CUSTOMER SET NEWS_YN = 'N' WHERE FC_EMAIL = :NEW.EMAIL AND NEWS_YN = 'Y'; INSERT INTO NEWYN_UPDATE_TRG01_LOG (EMAIL, CON..
* 한 컬럼 중복제거 후 이어 붙이기 SELECT LAW_ID, SUBSTR(XMLAGG(SYS.XMLTYPE.CREATEXML(',' || CONTRACT_GESTALT||'') ORDER BY CONTRACT_GESTALT).EXTRACT('/a1/text()'), 2) CONTRACT_GESTALT, SUBSTR(XMLAGG(SYS.XMLTYPE.CREATEXML(',' || MEMO1||'') ORDER BY MEMO1).EXTRACT('/a1/text()'), 2) MEMO1 FROM ( SELECT LAW_ID, CONTRACT_GESTALT,NVL2(CONTRACT_GESTALT, 'a' || ROW_NUMBER() OVER (PARTITION BY LAW_ID, CONTRACT_GESTAL..
---- 날자 계산하기 ---- -- 오늘날자 (현재날자 0시 0분 0초 ...) SELECT to_char(trunc(sysdate,'dd') ,'yyyy/mm/dd hh24:mi:ss') FROM dual ; -- 내일날자 (다음날자 0시 0분 0초 ...) SELECT to_char(trunc(sysdate,'dd') + 1,'yyyy/mm/dd hh24:mi:ss') FROM dual ; -- 내일날자 (다음날자 현재시 현재분 현재초 ...) SELECT to_char(sysdate + 1 ,'yyyy/mm/dd hh24:mi:ss') FROM dual ; ---- 달 계산하기 ---- -- 이번달 시작날자(현재달 1일 0시 0분 0초 ...) SELECT to_char(trunc(sysdate,..
없는 데이터 강제로 만들기 및 정해진 데이터 표로 리스트 뿌리기 미련하면서도 억지로 만든쿼리 SELECT * FROM ( SELECT SUBSTR(MARKETING_DATE,0,7) AS DAYS, G_CATE, COUNT(G_CATE) AS CNT FROM TB_MARKETING WHERE SUBSTR(MARKETING_DATE,0,4) = SUBSTR(TO_CHAR(SYSDATE,'YYYYMMDD'),0,4) AND G_CATE IN ('공제회','국가기관','생손보사','은행(중앙회)','금융기관','기타') GROUP BY SUBSTR(MARKETING_DATE,0,7),G_CATE UNION ALL SELECT DAYS,G_CATE,CNT FROM APLUS_V_TB_MARKETING_ANNUA..
### Oracle 종료 명령어 ### aplus-svr1:/>su - oracle // Oracle 계정으로 변경 aplus-svr1:/data/oracle>lsnrctl stop // 리스너 종료 aplus-svr1:/data/oracle>sqlplus ' /as sysdba ' // Oracle DB로 접근 또는 sqlplus "system/패스워드 as sysdba" oracle DB로 접근 SQL> shutdown immediate; // DB UnMount ### Oracle 시작 명령어 ### aplus-svr1:/>su - oracle // Oracle 계정으로 변경 aplus-svr1:/data/oracle>lsnrctl start // 리스너 시작 aplus-svr1:/data/orac..
[GUID 에는 대시 4개를 사용하여 32개의 자릿수를 사용해야 합니다.] # select @@version 정보 Microsoft SQL Server 2005 - 9.00.1399.06 (Intel X86) Oct 14 2005 00:33:37 Copyright (c) 1988-2005 Microsoft Corporation Developer Edition on Windows NT 6.1 (Build 7601: Service Pack 1) # Microsoft SQL Server Management Studio 정보 Microsoft SQL Server Management Studio 9.00.1399.00 Microsoft Analysis Services 클라이언트 도구 2005.090.1399.00..
SELECT A.POST_ID I_POST_ID, A.NAME AS I_NAME, A.PHONE1 I_R_PHONE1, A.PHONE2 I_R_PHONE2, A.PHONE3 I_R_PHONE3, NVL (B.GUBUN, '신규') AS GUBUN1, A.REGISTER_DT I_REGISTER_DT, A.GUBUN GUBUN, A.EVENT_YN, ROW_NUMBER () OVER (ORDER BY REGISTER_DT DESC) RNM, A.CELLPHONE FROM EVENT A, APLUS_V_CUSTOMER_CELLPHONE B AND A.CELLPHONE = B.CELLPHONE(+) AND A.NAME = B.CUSTOMER_NM(+) ORDER BY A.REGISTER_DT DESC A테이블..
- Total
- Today
- Yesterday
- select
- 백업
- apache
- 자동차
- MySQL
- table
- java
- Linux
- 윈도우
- Windows
- sql
- Shell
- mssql
- IP
- 테이블
- Oracle
- user
- 오라클
- DATABASE
- tomcat
- server
- 리눅스
- 서버
- 설정
- Toad
- 데이터
- 파일
- eclipse
- delete
- DB
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |