DB/Oracle

· DB/Oracle
Oracle Server에서 쿼리 실행 시, 결과가 많은 경우 데이터가 짤리는 경우가 있다. 이 경우, 쿼리 결과를 텍스트 파일로 저장하면 해결할 수 있다. SPOOL을 이용하여 텍스트 파일로 추출할 수 있으며, SPOOL의 기본적인 구조는 아래와 같다. ------------------------------------------------------------ SET PAGESIZE 50000; -- 페이지 출력 크기 설정 (기본 : 14, 최대 : 50000) SET ECHO OFF; -- 명령어 에코 끔 SET COLSEP '|'; -- 조회 결과 컬럼 간 구분자 '|' 설정 -- 위의 SET 하는 이유는 보기 좋도록 설정하는 것이다. 해도 그만 안해도 그만이다. -------------------..
· DB/Oracle
부서에서 운영중인 솔루션에서 조회 메뉴를 개발하는데, include를 사용하여 진행했다. oracle의 경우 페이징 처리를 진행할 때, 1. count쿼리로 총 갯수를 확인한 다음 2. 본 쿼리에서 페이징을 넣어 데이터를 조회한다. 이 때, 본 쿼리와 count쿼리의 조건절은 같아야 하는데 같은 쿼리를 2번 사용하면 유지보수 하기 힘들기 때문에 include를 이용해서 개발하였다. include 사용 방법은 아래와 같다. 1. sql 태그로 재사용할 쿼리를 작성한다. WHERE STATUS = 'Y' 2. 사용할 쿼리에서 include 태그를 이용해서 쿼리를 호출한다. (refid에 sql ID를 넣는다.) SELECT * FROM EXAMPLE example1 쿼리를 호출할 때 자동으로 whereCon..
· DB/Oracle
안녕하세요. 이번 포스팅은 Oracle ASM에 대하여 간단하게 정리하였습니다. 그냥 이런게 있구나~ 의 수준으로 정리하였으니 참고하실분들은 참고하셔도 좋을 거 같습니다. Oracle Storage 종류 * Ram Device - 장점 : 쓰기 속도가 빠름 - 단점 : 관리하기 불편함 * File System - 장점 : 관리하기 편함 - 단점 : 불안정함(잘 깨짐) * ASM (Automatic Storage Management) - 자동 미러링 지원(백업) - 스트라이핑 이용 (쓰기, 읽기 속도 높음) ASM(Automatic Storage Management) Oracle에서 제공하는 스토리지 관리를 자동으로 해주는 기능. 운영체제가 디스크 관리(볼륨관리자, 파일시스템의 기능) 기능을 ASM(오라클..
· DB/Oracle
이번 포스팅에서는 Oracle의 Seq 사용 방법에 대해 알아보겠습니다. 1. Sequence 생성 CREATE SEQUENCE 시퀀스명 INCREMENT BY 숫자 -- 숫자만큼 증가(음수일 경우 그 숫자만큼 감소) START WITH 숫자 -- 시작 숫자 설정 MINVALUE 숫자 -- 최소값 설정 MAXVALUE 숫자 -- 최대값 설정 CYCLE/NOCYCLE -- CYCLE : 시퀀스가 최대값에 도달하면 최소값부터 다시 시작, NOCYCLE : 최대값 생성 시 시퀀스 생성 중지 CACHE/NOCACHE -- CACHE : 메모리에 시퀀스 값을 미리 할당, NOCACHE : 시퀀스값을 메모리에 할당X 예시 CREATE SEQUENCE USER_SEQ-- USER_SEQ라는 이름으로 생성 MINVAL..
· DB/Oracle
쿼리에서 'ORA-01476 제수가 0 입니다' 오류가 발생하는 경우가 있다. 원인 쿼리 내의 나누는 연산에서 분모가 0일 때 발생 SELECT 1/0 FROM DUAL; -- ERROR 발생! 조치 방법 NVL과 DECODE 를 이용하여 분모가 0일 때 or NULL 일 때 0으로 출력한다. SELECT NVL(분자 / DECODE(분모, 0, null, 분모), 0) FROM DUAL; 참고 분모가 NULL 일 경우, 반환되는 값은 NULL 이다.
· DB/Oracle
1. 제약조건 조회 쿼리 SELECT * FROM user_constraints; Constraint_type (제약조건 유형) C : Check On a Table O : Read Only a view P : PK R : FK U : Unique Key V : Check Option on a view 2. 인덱스 조회 방법 SELECT * FROM all_ind_columns
· DB/Oracle
- AutoCommit 상태 확인 show autocommit; - AutoCommit 켜기 set autocommit on; - AutoCommit 끄기 set autocommit off;
· DB/Oracle
sqlPlus에서 백스페이스를 누르면 문자가 지워지는 게 아닌 ^H가 나오며 원하는 작동이 되지 않는다. 1. 설정이 유지되는 방법 그런 경우에 사용자 홈 디렉토리로 이동하여 .bashrc or .bash_profile 에 아래의 커맨드를 추가한다. (^H는 키보드에 있는 6 특수문자가 아닌, sqlplus에서 백스페이스 입력 시 나타나는 문자를 복사 및 붙여넣기 해야한다.) stty erase ^H 2. 재접속 시, 유지되지 않는 방법 커맨드 창에 아래의 커맨드를 입력한다. host stty erase ^H
멍목
'DB/Oracle' 카테고리의 글 목록