본문 바로가기

oracle

오라클 select update 오라클 select 한 데이터로 update 하는 방법 UPDATE BOOK AASET ( NAME,DATE) = ( SELECT NAME ,DATE FROM SALE WHERE SALE.BOOKID = AA.BOOKID )WHERE AA.BOOKID IS NOT NULL 더보기
오라클 테이블 복사 오라클 테이블 복사 -- 테이블 복사(데이터까지 함께 복사) CREATE TABLE 새로운 테이블명 AS SELECT * FROM 복사할 테이블 ( WHERE 절) -- 테이블이 이미 생성되어있고 데이터만 복사할때 INSERT INTO 기존 테이블 SELECT * FROM 복사할 테이블 -- 테이블 구조만 복사 CREATE TABLE 생성할 테이블 AS SELECT * FROM 복사할 테이블명 WHERE 1=2 더보기
오라클 user_sequences 오라클 user_sequences오라클 nextval을 이용해서 inset를 하는데 무결성 제약조건에 걸린다. ㅜㅜ이거 뭐지 도대체 왜 무결성 제약조건에 걸리는걸까?일단 조회 해보자.select max(no) from aaamax 값이 20000인데 select * from user_sequenceswhere sequence_name='aaa_no';의 last_number가 15000 이거 왜 이러지 ㅜㅜuser_sequences 이 테이블에서 마지막 값을 조회해서 권한이 있다면 last_number를 max값보다 높게 잡으시면 에러 발생 안합니다. 더보기
오라클 엔터 변환 및 변환조회 오라클 엔터 변환 및 변환조회 오라클 컬럼에 들어 있는 엔터 조회는 간단히 SELECT *FROM 테이블명 WHERE 특정컬럼 like '%'||chr(13)||chr(10)||'%' 출처: http://naly3512.tistory.com/1139 조회 했는데 이걸 변경 하려면 어떻게 하면 될까요 UPDATE 테이블명 SET 특정컬럼 = REPLACE( REPLACE ( 특정 컬럼, CHR(13), ' ' ), CHR(10), ' ' )WHERE 특정컬럼 like '%'||chr(13)||chr(10)||'%' 해서 일괄로 업데이트 하시면 됩니다. 그래도 언제 들어 올지 모른다면 조회 시에도 SELECT REPLACE( REPLACE ( 특정 컬럼, CHR(13), ' ' ), CHR(10), ' ' .. 더보기
오라클 에러 오라클 에러를 한꺼번에 정리 해놓은곳이 있지만 내가 봐도 검색하기 힘들어서 오늘부터 10개 정도씩 나누어서 글을 올리겠습니다. 검색하기 쉽도록이요... ORA-00001 유일성 제약조건(%s.%s)에 위배됩니다.ORA-00017 트레이스 이벤트 설정이 세션에 요구되었습니다.ORA-00018 최대 세션 수를 초과했습니다.ORA-00019 최대 세션 라이선스 수를 초과했습니다.ORA-00020 최대 프로세스 수(%s)를 초과했습니다. 즐거운 프로그램 하세요 더보기
오라클 에러 코드 모음 오라클 에러 코드 모음 오라클 에러코드 확인하는 사이트 Search for Error Messages ORA-00000 성공적인 정상 종료입니다.ORA-00001 유일성 제약조건(%s.%s)에 위배됩니다.ORA-00017 트레이스 이벤트 설정이 세션에 요구되었습니다.ORA-00018 최대 세션 수를 초과했습니다.ORA-00019 최대 세션 라이선스 수를 초과했습니다.ORA-00020 최대 프로세스 수(%s)를 초과했습니다.ORA-00021 세션이 다른 프로세스에 첨부되어 있음; 세션을 변경할 수 없습니다.ORA-00022 부적절한 세션 번호; 액세스가 거절되었습니다.ORA-00023 세션이 프로세스 고유의 메모리를 참조함; 세션을 분리할 수 없습니다.ORA-00024 단일 프로세스 모드에서는 하나 이상의.. 더보기
쿼리 정리 사이트 poorsql.com 쿼리 정리 사이트 poorsql.com디버깅을 하다 보면 로그에 남아있는 정렬되지 않는 쿼리들을 받아서 정리하면 진짜로 짜증이~~~~ 이럴때 유용한 사이트가 있다. 바로바로 http://poorsql.com 그럼 이 사이트에 들어가서 어떻게 쿼리를 정리해주는 확인해 봐야겠지요일단 오라클 락을 확인하는 쿼리로 테스트 해보겠습니다.================ 락걸린 테이블 확인 =================SELECT DO.OBJECT_NAME, DO.OWNER, DO.OBJECT_TYPE, DO.OWNER, VO.XIDUSN, VO.SESSION_ID, VO.LOCKED_MODEFROM V$LOCKED_OBJECT VO, DBA_OBJECTS DOWHERE VO.OBJECT_ID = DO.OBJECT_.. 더보기
오라클 V$LOCK 뷰 오라클 V$LOCK 뷰 V$LOCK 뷰는 Oracle Database가 보유하고있는 LOCK과 latch에 대한 미해결 정보를 보여준다. ColumnDatatypeDescriptionADDRRAW(4 | 8)Address of lock state objectKADDRRAW(4 | 8)Address of lockSIDNUMBERIdentifier for session holding or acquiring the lockTYPEVARCHAR2(2)Type of user or system lockThe locks on the user types are obtained by user applications. Any process that is blocking others is likely to be holdin.. 더보기
오라클 V$LOCKED_OBJECT 오라클 V$LOCKED_OBJECT 시스템의 모든 트랜잭션에 LOCK 정보를 조회 한다.. 어떤 세션에서 어떤 객체 및 모드에서 DML LOCK (TM 유형 대기열에 대기)을 보유하고있는 세션을 보여줍니다. Column Datatype Description XIDUSN NUMBER Undo segment number XIDSLOT NUMBER Slot number XIDSQN NUMBER Sequence number OBJECT_ID NUMBER Object ID being locked SESSION_ID NUMBER Session ID ORACLE_USERNAME VARCHAR2(30) Oracle user name OS_USER_NAME VARCHAR2(30) OS user name PROCESS V.. 더보기
오라클 세션(session) 확인 및 KILL 오라클 세션(session) 확인및 KILL개발을 하다보면 특정 쿼리가 오라클에 리소스를 잡아먹어서 오라클 자체가 느려지는경우가 종종 발생한다.이럴땐 오라클 세션 확인하여 리소스를 잡아먹고 있는 또는 불필요한 쿼리가 돌고 있는지를 확인해서 KILL 죽여 버리면 된다. SELECT a.sid, -- SID a.serial#, -- 시리얼번호 a.status, -- 상태정보 a.process, -- 프로세스정보 a.username, -- 유저 a.osuser, -- 접속자의 OS 사용자 정보 b.sql_text, -- sql c.program -- 접속 프로그램FROM v$session a, v$sqlarea b, v$process cWHERE a.sql_hash_value=b.hash_value AND a.. 더보기