오라클

    [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..

    [ORACLE] 테이블 생성 > 주석 추가 > PK INDEX 생성 > PK설정 > 시퀀스 생성 > 트리거 생성

    단순 게시판 형식의 ORACLE 테이블 추가 테이블 생성 > 주석 추가 > PK INDEX 생성 > PK설정 > 시퀀스 생성 > 트리거 생성 (시퀀스 자동증가) -- 테이블 추가 CREATE TABLE BOARD ( SEQ INTEGER NOT NULL , SUBJECT VARCHAR2(200) NULL , CONTENT CLOB NULL , VIEW_COUNT INTEGER DEFAULT 0 NULL , REG_MEMBER INTEGER DEFAULT 0 NOT NULL , REG_DATE DATE DEFAULT SYSDATE NOT NULL , UPD_MEMBER INTEGER DEFAULT 0 NOT NULL , UPD_DATE DATE DEFAULT SYSDATE NOT NULL , DEL_YN ..

    [ORACLE] to_number . 문자를 숫자로 변경

    닉네임 끝에 숫자가 순차적으로 올라가는 프로그램을 만들고있었음 닉네임 끝의 숫자를 잘라서 가장 높은 숫자를 뽑아내는건데 닉네임이 문자열이라 아래와 같이 닉네임 앞에 고정 글자를 자르고 숫자를 정렬하면 제대로 정렬되지않음. SELECT NVL(MAX(num),'0') AS num FROM (SELECT SUBSTR(num,7) AS num FROM (SELECT nickname AS num FROM user WHERE nickname LIKE 'guest%' ORDER BY nickname DESC ) WHERE ROWNUM = 1 ); 그래서 숫자로 바꾸고 최대 값을 찾음 SELECT NVL(MAX(TO_number(num)),'0') AS num FROM (SELECT SUBSTR(nickname,7)..