반응형

오라클 공부 21

[Oracle]ORACLE 계층형 쿼리

목차 테이블에 계층형 데이터가 존재할 경우 사용(조직, 사원, 메뉴등의 순환관계 등에 사용됨) SELECT ... [ CONNECT_BY_ISLEAF ISLEAF FROM 테이블명 START WITH condition CONNECT BY PRIOR condition AND condition; -- START WITH절 | 계층구조 전개의 시작 위치를 지정하는 구문 -- CONNECT BY 절 | 다음에 전개될 자식 데이터를 지정하는 구문 ----------------------------------------------------------------- -- 계층형쿼리 ------------------------------------------------------------------ --PRIOR 자..

IT/DBMS 2022.11.29

[Oracle]ORACLE 12C SQL에 추가된 새로운 기능

목차 DEFALUT VALUE로 sequence의 next value 지정 가능 12c 이전의 오라클에서는 자동 증가값을 설정하기 위해 시퀀스를 생성 한 후 테이블을 만들 때부터 생성한 시퀀스의 값을 설정할 수 있음 -- ex) 12c에서는 아래처럼 시퀀스를 생성 후 CREATE SEQUENCE t_seq start with 1 increment by 1 maxvalue 10 nocycle ; -- 테이블을 만들 때 시퀀스의 next value 지정이 가능함 CREATE TALBE test ( no NUMBER DEFAULT t_seq.nextval PRIMARY KEY, name varchar2(10) ); invisible columne 사용 가능 11g까지는 테이블에 invisible columne..

IT/DBMS 2022.11.29

[Oracle]ORACLE SYNOSYM(시노님-동의어)

목차 사람도 친구의 별명을 부르듯 오라클에서도 테이블에 별명을 붙일 수 가 있는데 이 별명을 붙이는 기능을 시노님이라고 함 시노님을 사용하는 목적은 보안이나 사용자의 편리성 때문임 -- 생성 문법 CREATE [PUBLIC] SYNONYM synonym_name FOR [schema.] 대상객체; 종류는 Private Synonym과 public Synonym이 있고 private synonym은 만든 사용자만 사용할 수 있는 synonym임 대부분은 synonym은 프로젝트에 참여한 많은 사람들이 다 볼 수 있도록 만드는 것이 좋은데 이 때 사용하는게 public synonym임 synonym을 생성하려면 CREATE [PUBLIC] SYNONYM이란 권한이 필요하므로 아래와 같이 권한을 먼저 할당 해..

IT/DBMS 2022.11.29

[Oracle]ORACLE DELETE, TRUNCATE, DROP 차이

목차 delete는 데이터만 지워지고 사용중인 디스크상의 공간은 유지, TRUNCATE는 CREATE TABLE로 테이블을 만들었던 상태(데이터가 1도 없음)로 모든 데이터를 삭제하고 컬럼만 남겨놓음, 사용중인 디스크 공간도 사라짐, DROP은 제일 위험한 명령어이고 데이터와 테이블 전체를 삭제함(사용중인 공간, 인덱스, 제약조건등 전부 삭제됨) DELETE 문법은 쉽지만 DELETE문은 데이터를 삭제한다고 알고 있지만 사실 데이터는 삭제되지 않고 해당 블록에 그대로 남아 있고 BBED같은 툴을 이용하면 DELETE된 데이터도 전부 복구 가능하다고 함 그래서 DELETE를 한 후에 테이블의 크기를 확인해 보면 크기가 줄어들지 않고 그대로임 예를 들어, 100만건 데이터가 있는 테이블의 용량이 100MB였..

IT/DBMS 2022.11.29

[Oracle]insert into select from table

목차 [Oracle]insert into select from table 오라클에서 다른 테이블에서 값을 조회해 온 후 한번에 insert할 때 유용함 -- 문법 -- 대상 테이블과 참조하는 테이블의 컬럼이 일치하는 경우 insert 컬럼 생략 가능 INSERT INTO target_table SELECT EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO FROM from_table ; -- 특정 컬럼의 데이터만 조회해서 insert INSERT INTO SCOTT.EMP_211209 (EMPNO, ENAME) SELECT EMPNO, ENAME FROM emp ; 테스트 emp테이블에 데이터가 아래처럼 있고 아래처럼 emp테이블을 참조한 테스트 테이블을 하나 ..

IT/DBMS 2022.11.28

[Oracle]ORA-28000 : the account is locked 해결

목차 [Oracle]ORA-28000 : the account is locked 해결방법 계정이 lock된 경우의 수는 다양합니다. DBA가 직접 해당 계정을 잠궜을 수도 있고 비밀번호를 계속 틀렸거나 비밀번호 만료로 인한 잠금 제 경우는 3번 째 경우였고 터미널에서 직접 변경 처리를 했습니다. 계정이 잠길 경우 당연히 접속툴에서 접속이 안되기에 아래처럼 터미널에서 관리자로 접속 sqlplus / as sysdba 터미널에서 직접 쿼리문으로 계정 비밀번호 변경 ALTER USER TESTUSER ACCOUNT UNLOCK; commit; 위처럼 해서 해결 되는 경우도 있고 간혹 비밀번호를 변경해야 되는 경우도 있습니다. 이 경우도 관리자로 터미널 접속 후 직접 비밀번호를 변경 해주고 테스트 해보면 됩니다..

IT/DBMS 2022.11.28

[Oracle]oracle expdp 이용한 백업 정책

목차 # expd_script.sh # oracle home direcoty 설정 ORACLE_BASE=/oracle/app; export ORACLE_BASE ORACLE_HOME=/oracle/app/product/12.2.0.1; export ORACLE_HOME # oracle SID 설정 ORACLE_SID=TEST; export ORACLE_SID PATH=/usr/sbin:$PATH; export PATH PATH=$ORACLE_HOME/bin:$PATH; export PATH # oracle 소유자 설정 export ORACLE_OWNER=oracle # 백업파일뒤에 붙일 날짜 세팅 export DATE=`date +%Y%m%d` export DATE1=`date -d "-2 day" +%..

IT/DBMS 2022.11.28

[Oracle]oracle datapump data_pump_dir 경로 확인 및 변경

목차 oracle expdp의 덤프파일 저장경로인 data_pump_dir를 확인하는 방법 아래 쿼리로 확인하면 됨(당연히 dba권한 있는 계정으로 실행해야 함) SELECT * FROM DBA_DIRECTORIES ; 변경은 아래의 쿼리로 설정 그 후 실제 물리경로에 해당 폴더 생성 현재 회사에서는 오라클 11g만 사용하고 있어서 실제 생성 테스트는 하지 못했음 출처 : https://imbang.net/2019/05/19/datapump-data_pump_dir-%EA%B2%BD%EB%A1%9C-%ED%99%95%EC%9D%B8-%EB%B0%8F-%EB%B3%80%EA%B2%BD-%ED%95%98%EA%B8%B0/

IT/DBMS 2022.11.28

[Oracle]ORACLE TRUNC(시간이나 숫자 절사)

목차 Oracle TRUNC 시간이나 숫자를 절사할 때 쓰는 함수 ex) SELECT SYSDATE AS 현재시간, TRUNC(SYSDATE) AS 시간절사, TRUNC(SYSDATE, 'DD') AS 시간절사2, --TRUNC(SYSDATE)와 동일 TRUNC(SYSDATE, 'HH24') AS 분초자르기, TRUNC(SYSDATE, 'MI') AS 초자르기, TRUNC(SYSDATE, 'YEAR') AS 월일초기화, -- TRUNC(SYSDATE, 'YYYY')와 동일 TRUNC(SYSDATE, 'MM') AS 일초기화, --TRUNC(SYSDATE, 'MONTH')와 동일 TRUNC(SYSDATE, 'DAY') AS 요일초기화 --해당 주의 일요일로 초기화 FROM DUAL ; 시간절사 결과 ex)..

IT/DBMS 2022.11.26
반응형