반응형

oracle 12

oracle 데이터 복구(TIMESTAMP) 사용 방법

oracle을 사용하다보면 삭제한 데이터를 조회하거나 복구해야할 경우가 있다. 그럴땐 TIMESTAMP를 사용한다. 쿼리> SELECT * FROM 테이블명 AS OF TIMESTAMP(SYSTIMESTAMP-INVERVAL '시간' 조건(날짜,시,분,초) WHERE 조건문; 사용 예> 1. 10초전 데이터 조회 SELECT * FROM 테이블명 AS OF TIMESTAMP(SYSTIMESTAMP-INVERVAL '10' SECOND) WHERE 컬럼명 = 'A'; 2. 10분전 데이터 조회 SELECT * FROM 테이블명 AS OF TIMESTAMP(SYSTIMESTAMP-INVERVAL '10' MINUTE) WHERE 컬럼명 = 'A'; 3. 10시간전 데이터 조회 SELECT * FROM 테이블..

DB 2022.08.22

orange plan 실행 오류

orange tool로 plan을 볼려고 하는데 plan 실행오류가 발생할 경우 plan table이 없어서 생성하라는 뜻이다. 생성 방법 1. Tools -> Orange Options... 클릭 2. Common -> Environment -> Explain Plan 3. 각 스키마 별 plan_table 사용 시엔 (Plan Table명에 plan_table 입력 시) Plan Tab에서 Set Schema에 사용하고자 하는 계정 선택 후 create PLAN_TABLE 아이콘 클릭하면 된다. 4. 조회 시 정상적으로 plan 생성 확인 끝

DB 2022.07.22

oracle 계정에 속한 전체 테이블 row 수 뽑기

계정안에 속한 테이블의 전체 카운트를 뽑아서 비교할 때 사용 1. dbms_xmlgen 사용(쿼리 결과를 xml로 뽑아준다) SELECT TABLE_NAME , TO_NUMBER( dbms_xmlgen.getxmltype('SELECT COUNT(*) c FROM ' || table_name).Extract('//text()') ) NUM_ROWS FROM ALL_TABLES WHERE OWNER = '계정명' ORDER BY NUM_ROWS DESC; 2. row_num 사용 SELECT TABLE_NAME, NUM_ROWS FROM ALL_TABLES WHERE OWNER = '계정명' ORDER BY TABLE_NAME; 끝

DB 2022.07.17

oracle db link 걸기

- 사용 방법 CREATE PUBLIC DATABASE LINK 내가쓰고픈 링크이름 CONNECT TO 계정 IDENTIFIED BY 비번 USING '연결할 DB의 TNS'; SQL> create database link dbback connect to A identified by A using 'dba1'; ​ dbback = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 999.999.999.999)(PORT = 1521))) (CONNECT_DATA =(SID = dba1 )) ) 오라클에도 등록해줘야함 . tnsnames.ora(오라클계정으로 $ORACLE_HOME) ​ -- 데이터베이스 링크를 통한 데이터의 조회.. SQL..

DB 2022.04.08

Oracle partition

1.Partition을 추가하는 방법 empno에 대해서 Partition을 추가 하고 싶은 경우 다음과 같이 할 수 있습니다. SQL>ALTER TABLE emp_pt ADD PARTITION emp_p4 VALUES less than (9000) TABLESPACE test; ALTER TABLE 테이블명 ADD PARTITIOM 파티션명 VALUES 범위 TABLESPACE 테이블스페이스명으로 empno값이 9000이전의 값을 가지는 파티션 emp_p4를 추가했습니다. ​ 2. 특정 Partition을 삭제하는 방법 Partition을 없애고 싶은 경우는 DROP PARTITION 명령어를 사용하면 됩니다. SQL>ALTER TABLE emp_pt DROP PARTITION emp_p4; ​ 3. ..

DB 2022.04.08

oracle LOCK 걸린 테이블 확인

-- 락 걸린 테이블 확인 select do.object_name,do.owner,do.object_type,do.owner, vo.xidusn, vo.session_id, vo.locked_mode from v$locked_object vo, dba_objects do where vo.object_id = do.object_id ​ -- 특정 테이블이 락 걸렸는지 확인 select A.SID, A.SERIAL#, B.TYPE,C.OBJECT_NAME FROM V$SESSION A, V$LOCK B, DBA_OBJECTS C WHERE A.SID=B.SID AND B.ID1=C.OBJECT_ID AND B.TYPE ='TM' AND C.OBJECT_NAME IN ('테이블명') ​ -- 쿼리 확인 sel..

DB 2022.04.08
반응형