oracle

    [ORACLE] WHERE CASE 검색

    예시) 연결된 테이블 DOC - ITEM , ITEM - ITEM_USE DOC - ITEM : 타입별로 연결된 것과 연결되지 않은 데이터가 존재. ITEM - ITEM_USE : 연결. >> ITEM에서 특정 타입(A,C)와 ITEM_USE에서 타입이 Y인 데이터 추출하기. 참고 : https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:9532075300346073664 [ 테이블 - DOC ] IDXTITLETYPEITEM_IDX ----------------------- 11번A1 22번C2 33번B 44번A3 55번D [ 테이블 - ITEM ] ITEM_IDXTITLE ------------------------- 1ITEM_1 2..

    [ORACLE] pk 두개 생성하기

    테이블 생성 후 변경 할 경우 - pk 삭제 ALTER TABLE 테이블명 DROP PRIMARY key; - pk 생성 ALTER TABLE 테이블명 add PRIMARY key(컬럼1 , 컬럼2); or ALTER TABLE 테이블명 add constraint 제약명 PRIMARY key(컬럼1 , 컬럼2); 기존에 pk 값이 있으면 삭제하고 생성해야함

    [ORACLE] ORA-00913: 값의 수가 너무 많습니다

    인서트 개발 중 해당 오류 발생 ORA-00913: 값의 수가 너무 많습니다 해결 : insert 에 넣은 컬럼 수와 values 의 수가 달라서 발생한 오류였음

    [ORACLE] 문자열 붙이기 ||

    오라클 문자열 연결 기호 || SELECT '문자열' || 컬럼명 FROM 테이블명; 쿼리 SELECT '문자열'||'a' FROM dual; 결과값 문자열a

    [ORACLE] impdp, expdp

    디비는 뭔가를 건드릴 때마다 잘 못 될까봐 너무 무서움 ㄷㄷㄷㄷ -- 덤프 하기 전 기초 설정 create or replace directory datapump as '/oracle/datapump'; ( /oracle/datapump 을 datapump로 링크 걸기) grant read, write on directory datapump to TEST; ( TEST사용자가 datapump 폴더 접근가능 할 수 있게 권한줌 ) grant create any directory to TEST; ( TEST사용자가 datapump폴더 안에 덤프파일 생성 권한 주기 ) -- 권한 주기 - 유저 권한 : grant connect, resource to TEST; - TEST에 DBA권한 생성 : grant dba..

    [ORACLE] 트리거 활성화, 비활성화 쿼리

    오라클 트리거 활성화, 비활성화 쿼리 덤프할때 트리거를 안꺼두면 트리거때문에 시퀀스가 자동증가해서 시퀀스 값이 증가해서 들어가서 트리거를 비활성화 한 후 덤프했음 --트리거 확인 SELECT owner, trigger_name, status FROM dba_triggers WHERE owner = 'TEST'; --트리거 비활성화 ALTER TRIGGER trigger_name DISABLE; --트리거 활성화 ALTER TRIGGER trigger_name ENABLE;

    [ORACLE] 시퀀스 LAST VALUE 조절하기

    덤프 후 INSESRT 할 때 테이블에 있는 시퀀스 번호보다 해당 시퀀스의 LAST VALUE 값이 작을경우 인서트 할 때 해당 SEQ값이 있어서 에러 발생함. 이럴 경우 해당 시퀀스의 값을 해당 테이블 시퀀스숫자에 맞게 조절해줘야함. --시퀀스 last value 조절 SEQ_BOARE_SEQ 시퀀스의 LAST VALUE 확인 select * from user_sequences where sequence_name ='SEQ_BOARE_SEQ'; 트리거 실행. LAST VALUE 값 증가 select SEQ_BOARE_SEQ.nextval from dual; SEQ_BOARE_SEQ 시퀀스를 실행 할 때 마다 5씩 증가하도록 변경. alter sequence SEQ_BOARE_SEQincrement by..

    [ORACLE] 비밀번호 만료일 변경

    디비 비번 만료일을 무한으로 안해놓으면 기본적으로 세팅이 되어있는 주기에 맞춰서 비밀번호를 계속 바꿔줘야함. 미리 안바꿔놓으면 비밀번호가 만료되어서 에러발생 그래서 난 무한으로 설정해놓음. [root@server ~]# su - oracle [oracle@server ~]$ sqlplus /nolog SQL> connect id/pw Connected. ------확인 SQL> SELECT RESOURCE_NAME, LIMIT FROM DBA_PROFILES WHERE PROFILE='DEFAULT'; RESOURCE_NAME LIMIT -------------------------------- ---------------------------------------- COMPOSITE_LIMIT UNLI..

    [ORACLE] 서브쿼리 버전에 따른 에러 및 버전 확인

    서브 쿼리를 돌리는데 아래와 같은 에러발생 ORA-00904: "boarduse "."USE_SEQ": invalid identifier 버전이 낮은 오라클에서 해당 에러가 발생함 쿼리내용 SELECT * FROM BOARD_USE boarduse INNER JOIN M_USE muse ON muse.USER_SEQ= boarduse .USER_SEQ AND muse .product_seq = (SELECT MIN(ACU.USE_SEQ) FROM BOARD_USE use WHERE use .DEL_YN = 'N' START WITH use .USE_SEQ = boarduse .USE_SEQ CONNECT BY PRIOR use .PARENT_SEQ = use .USE_SEQ ) 오라클 버전 확인 쿼리 s..

    [ORACLE] 오라클 캐릭터셋 확인 및 변경 ORA-06553: PLS-553 에러

    디비 덤프 뜨려고하는데 캐릭터 셋 오류가 나서 애먹었다. 구글링을하여 아래의 두 블로그 글을 참고하여 해결함. 이 글은 단순히 내 기록용으로 에러 내용만 써놓은거고 자세한 해결 내용은 아래의 두 블로그를 방문해보기를! http://glory74.blogspot.kr/2014/07/oracle-database.html http://hanuli7.tistory.com/entry/%EC%98%A4%EB%9D%BC%ED%81%B4-%EC%BA%90%EB%A6%AC%ED%84%B0%EC%85%8B-%EB%B3%80%EA%B2%BD > exp 경로 file=/파일경로/full_01.dmp full=y 에러 내용 EXP-00008: ORACLE error 6552 encountered ORA-06552: PL/SQL..