![[Oracle] External Table - 외부 CSV 파일을 테이블로 만들기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeLwADL%2FbtsF12cr2Sa%2Fei9ETUnRLozooJsJeFPkak%2Fimg.png)
External Table 외부 테이블이라고 불리우는 External Table은 Oracle의 여러 Object 중 하나로서, Table에 쌓이는 데이터를 Block에 저장하는 것이 아닌, Local Host의 저장되어있는 데이터베이스 외부 파일에서 데이터를 불러와 Table 형식으로 보여주는 것이다. 형식화 된 대용량 CSV파일 등을 힘들게 Insert 하지 않고도 테이블 형식으로 만들어 사용 할 수 있어 편리한 External Table 생성에 대해 한번 알아보도록 하자. Create External Table External Table을 생성하는 방법은 아래와 같다. create table TB_CSV_TEST ( col_1 NUMBER(10), col_2 VARCHAR2(100), col_3 V..
![[Oracle] Table / Column Comment - 코멘트, 설명 달기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcb2CAj%2FbtsDEQGo0oX%2F5jJzQh0KtwzkJIBlRfhKmk%2Fimg.png)
Comment -- Table Comment 추가 comment on table [Table Name] is '[Table Comment]'; -- Column Comment 추가 comment on column [Table Name].[Column Name] is '[Column Comment]'; 오라클의 테이블과 컬럼에 대한 코멘트를 다는 방법은 매우 간단하다. 테이블, 컬럼은 여러 사람이 같이 사용하는 공공재라고 볼 수 있는데, 이런 테이블과 컬럼에 코멘트를 달아 자세한 설명을 추가하는 것을 기본으로 한다. 테이블이나 컬럼 명칭은 표준화로 명확하지만 심플하게 만들되, 코멘트는 최대한 자세히 추가한다고 생각하자. Table Comment 테이블에 대한 코멘트 추가, 변경, 삭제는 하나의 명령어로 모..
![[Oracle] 11g 시퀀스 (Sequence) 컬럼 자동 증가 값](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbk8Txr%2FbtspmKs1uHr%2FLlMPkhmMikK41crjTJIKqk%2Fimg.png)
Intro 안녕하세요 초보 DBA 다뉴입니다. 오늘은 오라클의 Object중 하나인 시퀀스에 대해 알아 보도록 하겠습니다. Sequence 시퀀스(Sequence)란? - 순차적으로 자동증가 하는 값을 반환하는 객체 - 일반적으로 PK값 중복 방지를 위해 사용 - 생성, 사용 방법, 수정, 삭제 시퀀스(Sequence) 생성 CREATE SEQUENCE [SequenceName] -- 생성 시퀀스 명, 해당 Create문을 제외한 나머지 부분은 다 생략 가능 INCREMENT BY [n] -- 증감 값, n만큼 시퀀스 값이 증가(양수) 또는 감소(음수), default = 1 (생략시) START WITH [n] -- 시작숫자 default = 증가 일때 MINVALUE / 감소 일때 MAXVALUE M..
![[DBA][Oracle] 자주 쓰는 쿼리 - TableSpace 용량 및 파일 위치 확인](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDAwKG%2FbtspHZVPWnC%2FINKzkgSIgBQRkqkQj2uGoK%2Fimg.png)
Intro 안녕하세요 초보 DBA 다뉴입니다. 데이터베이스를 관리함에 있어서 여러가지 요소가 있겠지만 그 중 저장공간과 용량에 대한 관리에 도움이 될 만한 쿼리를 하나 소개할까 합니다. 여러 오브젝트들은 TableSpace에 속하여, 저장공간을 차지하고 있는데요. 오늘은 이 TableSpace를 관리하기 위해 TableSpace의 저장공간의 상태를 확인하는 쿼리입니다. 한번 알아보도록 하죠. 알아두기 Tablespace (테이블 스페이스) 란? Tablespace는 Oracle의 논리적 저장공간입니다. Tablespace를 나눔으로써 데이터의 관리 / Table, Index 의 분리 등 여러가지 효율을 얻을 수 있습니다. 자세한 내용은 아래의 글을 참고해 주세요! [Oracle] 저장 구조 - Table..
![[Oracle] 파티션(Partition) 2 - Range Partition, Interval Partition](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqmXa0%2FbtspfPfOqKa%2FhOitjkXqIIWK820mvqIj9k%2Fimg.png)
Intro 안녕하세요. 초보 DBA 다뉴 입니다. 저번에 알아봤던 파티션이 무엇인지 알아보았는데요. 해당 내용이 궁금하신분들은 아래의 링크를 참고해주세요. [Oracle] 파티션 (Partition) 1 - 테이블 파티션 이란? Intro 안녕하세요. 초보 DBA 다뉴 입니다. 최근 Oracle업무에 Table Partition 을 사용할 일이 있었습니다. 처음 사용해 보는거라 약간 헤매기도 했는데요. 이것저것 공부한 내용을 정리한 내용과 새롭게 da-new.tistory.com 오늘은 그 중 Range Partition, Interval Partition 에 대해서 알아보도록 하겠습니다. 제일 많이쓰이는 파티션이니만큼 알아두면 좋을 것 같네요. 파티션의 종류 Range Partition 가장 일반적으로..
![[Oracle] 저장 구조 - Tablespace, Segments, Extents, Data Block, OS Block, Data File](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc1SCR1%2FbtsnZJOMVZl%2FGaY2fXmlRE3viMtixAw8S1%2Fimg.png)
Intro 안녕하세요 초보 DBA 다뉴입니다. 요번에 Oracle - Tablespace 관련 업무를 하다가 Data 구조에 대해서 궁금하게 되었습니다. 그래서 이것저것 공부하고 찾아보게 되어 간략하게 기본 구조에 대해서 남겨볼까 합니다. 논리적인 구조로는 Data Blocks, Extents, Segments, Tablespaces 물리적인 구조로는 OS Blocks, Data Files 이렇게 구성되어 있습니다. 한번 알아보도록 하죠. 오라클의 논리적 구조 알아두기 논리적 구조는 실제로 저장되는 공간이 아닌 공간의 나눔과 연속성에 대한 구분입니다. 구조의 순서로는 Data Block → Extents → Segments → Tablespaces 로 되어있습니다. 데이터 블록 (Data block) 논..
![[Oracle][Error] ORA-01502: 인덱스 'PK_Name' 또는 인덱스 분할영역은 사용할 수 없는 상태입니다.](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuuL2w%2Fbtsn1bDZf43%2FJk21u6K9pkajC7uV8BZU6k%2Fimg.png)
Intro 안녕하세요. 초보 DBA 다뉴입니다. 오늘 갑자기 Schedule걸어둔 작업에 갑자기 오류가 났습니다. ORA-01502: 인덱스 'PK_Name' 또는 인덱스 분할영역은 사용할 수 없는 상태입니다. 라는 에러 메시지가 출력되었는데요. 한번 알아보도록 하겠습니다. 어떤 오류? ORA-01502: 인덱스 'PK_Name' 또는 인덱스 분할영역은 사용할 수 없는 상태입니다. 이러한 메시지가 출력되며, 데이터 Insert, Update, Delete를 할 수 없는 상태가 되었습니다. select은 정상적으로 되었네요. 이유는? 금일 데이터베이스 관리 작업 중에 해당 테이블에 TableSpace를 변경하였습니다. 제 생각에는 이 작업이 문제였다고 생각되네요. 저는 Index에 대해서는 따로 Index..
![[Oracle] 파티션 (Partition) 1 - 테이블 파티션 이란?](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbc6YLj%2FbtsltjecoCp%2FTQgKEWsulFJR8KAzsamMd0%2Fimg.png)
Intro 안녕하세요. 초보 DBA 다뉴 입니다. 최근 Oracle업무에 Table Partition 을 사용할 일이 있었습니다. 처음 사용해 보는거라 약간 헤매기도 했는데요. 이것저것 공부한 내용을 정리한 내용과 새롭게 알게된 내용에 대해 정리해 보도록 하겠습니다. 파티션(Partition) 파티션 이란? 테이블이나 인덱스 데이터를 파티션 단위로 나누어 저장하는 것을 말합니다. 논리적으로는 하나의 테이블이나 인덱스를 여러 물리적 저장공간에 나누어 저장하는 것 인데요. 대용량의 데이터를 관리하고 성능을 향상 시키는데 많은 도움이 됩니다. 파티션을 사용하는 이유 파티션은 크게 관리적인 측면과 성능적인 측면에서 장점을 찾을 수 있습니다. 관리적 측면의 장점으로는 파티션 단위의 data작업의 수월함에 있습니다..
![[Oracle] TNS 설정 - tnsnames.ora 파일 / SQL Developer 설정](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgkSBU%2FbtskA6UnvrY%2FOuaIKvMWp1Q5D13ylA2uA1%2Fimg.png)
Intro 안녕하세요 초보 DBA 다뉴입니다. 오늘은 오라클을 사용하기 위한 접속정보를 설정하는 TNS설정에 대해서 알아 보도록 하죠! TNS 설정 tnsname.ora 파일이란? tnsname.ora 파일은 Oracle Database의 접속관련 정보를 저장해 놓은 파일입니다. Database의 [Service Name] or [SID] , [IP], [Port No] 를 입력해 놓고 저장하여 사용합니다. 파일 내용 구성 [접속 DB 별칭] = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = [IP])(PORT = [Port No])) ) (CONNECT_DATA = (SERVICE_NAME = [Service Name]) ) ) [..
Intro 안녕하세요. 초보 DBA 다뉴입니다. Database 관련 글을 쓸 때면, 초보 DBA 라는 말로 저를 소개하곤 하는데요. 관련 직무에 종사한지 5년이 넘었지만, 이제야 본격적으로 DBA 직무를 맡게 되어 그렇게 소개하곤 합니다. DBA 라는 직무는 학부생 때 부터 꿈으로 가지고 있었는데, 꿈을 이루어 이렇게 소개할 수 있게 되어 너무 행복하네요. 저는 DBA 라는 직무에 엄청난 자부심을 가지고 있는데요. (저희 팀장님도 DBA 라는 단어를 매우 좋아하십니다.) 근데 주변에 저를 소개 할 때 면, IT업계 종사자가 아니고서는 DBA 라는 직무를 잘 모르더라구요. 그래서 보통 다들 알아 들을 수 있는 'IT업계 종사자' 또는 요즘 핫한 단어인 '개발자' 라고 소개합니다. 틀린 말은 아니지만 그래..