본문 바로가기

Database36

오라클 DELETE, UPDATE 후 복구하기 오라클에서 DELETE나 UPDATE 후에 COMMIT을 잘못할때가 있습니다.그럴때에는 아래처럼 대처해주면됩니다. 1. DB 설정 확인- 오라클 관리자로 커맨드 접속- SHOW PARAMETER UNDO 여기서 undo_retention 은 update나 delete가 아닌 commit을 하였을때부터 경과한 초까지 저장한다는 뜻이다.예를 들어 900 / 60 = 15분 이다.이 시간은 alter system set undo_retintion = 1800 으로 변경이 가능하다. 2. 복구하기- 15분 전의 데이터 조회하기 (원하는 시간으로 바꿔서 조회가 가능하다) SELECT * FROM 테이블명 AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '15' MINUTE)- 현재 테이블 백업.. 2019. 2. 14.
오라클 SET UNUSED SET UNUSED - ALTER 테이블명 TB_CAFE_CONFIG SET UNUSED(컬럼명) - 컬럼을 삭제하지는 않지만, 컬럼의 사용을 논리적으로 제한할 수 있는 옵션이다. - 하나의 테이브르을 여러 사용자가 사용하기 때문에 무조건 삭제하는 것은 위험하다. - ALTER TABLE에 SET UNUSED 옵션을 사용하는 경우 : 테이블에 저장된 내용이 많을 경우 해당 테이블에서 컬럼을 삭제하려면 꽤 오랜 시간이 소요된다. 고로 컬럼을 삭제하는 동안에 다른 사용자가 해당 컬럼을 사용하려고 접근하면, 테이블이 사용되고 있기 떄문에 다른 사용자는 해당 테이블을 이용할 수 없다. 이럴 경우 작업이 원할하게 진행되지 않고, 락(LOCK)이 발생한다. SET UNUSED옵션은 컬럼의 사용을 논리적으로 제한할 .. 2019. 1. 25.
오라클 락 조회 및 해제 방법 오라클에 lock이 걸렸을때 처리하는 방법입니다.일반 계정으로는 처리가 불가능하며 SYSTEM 계정(관리자) 계정으로 만 작업이 가능합니다. 1. 락이 걸린 테이블 확인select *from v$locked_objectwhere oracle_username = 'oracle user name'; 2. 락이 걸려있는 테이블 갯수 확인SELECT count(*)FROM v$locked_object vo , dba_objects do WHERE vo.object_id = do.object_id 3. 락 걸린 세션 확인select a.sid, a.serial#from v$session a, v$lock b, dba_objects cwhere a.sid=b.sid andb.id1=c.object_id and b... 2019. 1. 24.
MySQL 정규식 한글, 영문, 특문, 숫자 제거 (REGEXP_REPLACE) 정규식을 통해 한글, 영문, 특문, 숫자를 제거 하는 방법입니다. 1. 한글제거- SELECT REGEXP_REPLACE('ab12cd한글(테스트)','[가-힣]','') AS remove_digits; 2. 숫자제거 - SELECT REGEXP_REPLACE('ab12cd한글(테스트)','[0-9]','') AS remove_digits; 3. 영문제거- SELECT REGEXP_REPLACE('ab12cd한글(테스트)','[a-z]','') AS remove_digits; 4. 한글과 특수문자 ( ) 제거- SELECT REGEXP_REPLACE('ab12cd한글(테스트)','[가-힣()]','') AS remove_digits; 2018. 12. 5.
오라클 로그인된 계정의 모든 테이블 삭제 로그인 된 계정의 모든 테이블을 삭제하기 위해선 아래처럼 하면 됩니다. 1. 쿼리 호출 SELECT 'DROP TABLE ' || object_name || ' CASCADE CONSTRAINTS;' FROM user_objects WHERE object_type = 'TABLE'; 2. 결과문을 이용하여 DROP문 생성 3. DROP 문을 F5번으로 실행 DROP TABLE CALENDAR CASCADE CONSTRAINTS;DROP TABLE COPY_TB_ORGCU_SUBJECTSISU_OPER CASCADE CONSTRAINTS;DROP TABLE PASSWORD_CHANGE_HISTORY CASCADE CONSTRAINTS; 2018. 11. 5.
ORA-12560: TNS:프로토콜 어댑터 오류 sqlplus 접속 할 때 [ORA-12560: TNS:프로토콜 어댑터 오류 에러] 가 발생하는 경우가 있습니다. 위 에러 발생시 아래와 같은 방법으로 해결할 수 있습니다. 1. 서비스 -> OracleServiceORCL (ORCL = SID) 시작 2. 위 방법으로 해결이 안될 경우 SET oracle_sid = ORCL (ORCL = SID) 2018. 11. 5.