수상한 프로그래머/오라클(Oracle)
-
오라클 DB에서 실수로 데이터를 지웠을때 복구 방법수상한 프로그래머/오라클(Oracle) 2020. 2. 11. 15:08
누구나 실수는 하는 법! 산산지도 바쁜 업무중 실수로 DB데이터를 지운적이 있다. 이럴땐 당황하지 말고 아래 쿼리를 실행해주자. SELECT * FROM 테이블명 AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '10' MINUTE) WHERE 조건절 (ex ID = '1234') 위에 쿼리를 빨간색 부분만 내 상황에 맞게 바꿔서 실행해보면 10분전 내가 날린 데이터가 보일 것이다. 그 데이터를 다시 테이블에 넣어주면 복구 완료! SECOND, MINUTE, HOUR, DAY 등의 단위를 쓸수 있고 이 쿼리는 오라클 설정에 따라 다르므로 실수로 지웠다면 최대한 빨리 쿼리를 실행해서 복구하시길!! 난 복구했다잉 ㅎㅎ
-
lock 걸린 테이블 락 테이블 풀기수상한 프로그래머/오라클(Oracle) 2019. 4. 10. 12:36
1. 락걸린 테이블 찾기 select a.sid, a.serial#,a.username,a.process,b.object_name, decode(c.lmode,2,'RS',3,'RX',4,'S',5,'SRX',8,'X','NO') "TABLE LOCK", decode (a.command,2,'INSERT',3,'SELECT',6,'UPDATE',7,'DELETE',12,'DROP TABLE',26,'LOCK TABLE','UNknown') "SQL", decode(a.lockwait, NULL,'NO wait','Wait') "STATUS" from v$session a,dba_objects b, v$lock c where a.sid=c.sid and b.object_id=c.id1 and c.type=..
-
오라클 System의 Resource에 대한 사용현황수상한 프로그래머/오라클(Oracle) 2019. 4. 10. 12:31
select * from v$resource_limit 1. 정의 : System의 Resource에 대한 사용현황을 보여주는 view 2. 컬럼 정의 - RESOURCE_NAME : Resource 명 - CURRENT_UTILIZATION : 현재 사용중인 Resource 수 - MAX_UTILIZATION : Instance가 시작된 이후 최대 사용된 수 - INITIAL_ALLOCATION : 초기 할당값 (initialization parameter file에 명시된 resource 값) => 10g부터 존재 - LIMIT_VALUE : 제한 값( INITIAL_ALLOCATION 의 값보다 클 수 있음) 3. RESOURCE_NAME 값 정의 - DML_LOCKS : DML(insert, up..
-
오라클 명령어(문자 관련)수상한 프로그래머/오라클(Oracle) 2019. 4. 10. 12:28
■ 특정문자, 특정문자 앞쪽값, 특정문자 뒷편값 갖고오기 SELECT '123-456',SUBSTR('123-456',1,INSTR('123-456','-')-1),reverse(substr(reverse('123-456'), 1, instr(reverse('123-456'), '-') - 1)) FROM dual; 결과 : 123-456, 123, 456 해당 구문의 문제는 중간에 특정문자가 2개 들어있는 경우 해당 문자의 제일 첫번째 단락과 제일 끝 단락을 갖고온다. 예를 들어 123-456-789를 위 구문에 적용시 결과는 : 123-456-789, 123, 789가 된다. ■ 특정문자의 갯수 알아오기SELECT length('123-456-789') - length(replace('123-456-..