본문 바로가기
반응형

DATABASE/Oracle15

[Oracle] 오라클 종료 - Shut Down Option Oracle Shut DownOracle Database를 종료할때 사용 할 수 있는 4가지의 ShutDown 옵션에 대해서 소개해 보도록 하겠다.각 옵션별로 세션의 작업과 데이터의 무결성 그리고 속도에 차이가 있으므로 필요에 맞게 사용하는 것이 중요하다.옵션설명NORMAL새로운 연결 불가, 기존 세션이 완료 될 때까지 대기IMMEDIATE기존 세션 강제 종료 및 트랜잭션 롤백TRANSACTIONAL새로운 연결 불가, 트랜잭션이 종료 될 때 까지 대기ABORT트랜잭션 롤백 없이 데이터베이스 종료 각 옵션에 대해 자세하게 하나씩 알아보도록 하자.NORMALSHUTDOWN NORMAL; 오라클 데이터베이스를 종료하는데 가장 안전한 방식이다.새로운 연결을 허용하지 않으며, 기존의 연결을 각각 다 종료 할 때 .. 2024. 11. 22.
[Oracle] 프로시저 내에서 DDL 실행하기 - Create, Drop, Atler, Truncate, CTAS Procedure 내에서 DDL 실행Oracle의 프로시저 내에서는 DDL문을 바로 실행 할 수 없다.create or replace procedure UP_BAN_TEST isbegin create table XTMP_DDL_TABLE (t_no number(10));end;위와 같은 프로시저를 생성하면, 컴파일 시 아래와 같은 오류가 발생한다. (Error: PLS-00103) Oracle의 프로시저는 컴파일 시 문법적 오류를 확인하며 실행 계획을 미리 정하는데, DDL은 실제 런타임에만 실행이 가능하여 실행 계획을 미리 정할 수 없어 오류가 발생하게 된다. 동적 쿼리 실행프로시저 내에서 DDL문을 실행하기 위해서는 동적쿼리를 실행하는 방식으로 작성하여 실행하도록한다. 주로 CTAS, CREAT.. 2024. 11. 21.
[Oracle] 프로시저 내용 찾기 - 특정 테이블이 사용되는 프로시저 찾기 Procedure 내용 찾기특정 테이블이 사용되는 프로시저를 찾거나, 특정한 구문이 포함된 프로시저를 찾아야 할 때가 있다.간단한 쿼리로 해당 프로시저를 찾을 수 있으며, 프로시저가 아닌 Function / Trigger /Package 등의 내용을 찾을때도 사용 할 수 있다. Queryselect a.object_id, a.object_name, a.object_type, b.line, b.text from DBA_OBJECTS a inner join DBA_SOURCE b on a.object_name = b.name where a.object_type = 'PROCEDURE' -- FUNCTION / TRIGGER / PACKAGE and a.o.. 2024. 11. 15.
[Oracle] DML Trigger - 테이블에서 사용하는 트리거 정리 DML Trigger트리거, 우리 대부분 트리거에 대해서 알고 있을 것 이다. 트리거의 특징으로는 아래 정도 알 고 있을 것 이다.* 특정한 동작이 실행되었을 때, 자동으로 함께 실행되는 것 * 데이터의 무결성을 유지* 자동으로 함께 실행되기에 성능 이슈가 있을 수 있다create or replace trigger [트리거 이름]before [or atfer] -- dml문 이전이냐 이후냐insert [or update / delete] [트리거가 동작할 테이블] -- 테이블에서 지정한 dml문이 동작시 트리거 실행[FOR EACH ROW] -- 행 트리거 일 경우 / 문장 트리거 생략begin -- 동작할 트리거 내용end;근데 트리거에 대해서 깊게 생각 해본 적이 있는가??? 그냥 함께 실행된다.. 2024. 11. 11.
[Oracle] 테이블 정의서 만들기 - 쿼리로 추출하기 테이블 정의서 (Table Spec) MsSQL 의 테이블 정의서를 만드는 내용을 저번 포스팅에서 다뤄보았는데, 오늘은 오라클에 대해서 조회해보도록 하자. [MsSQL] 테이블 정의서 만들기 - 쿼리로 추출하기 테이블의 자세한 내용에 대해 설명 할 때 꼭 필요한 것이 테이블 정의서이다. 테이블의 존재하는 컬럼과 컬럼들의 Data Type 등을 기록하는 문서이며, 해당 문서를 통해 DBA에게 Table 생성을 요청하거나, 프로젝트 명세를 위해 내역을 첨부하는 등 필요가 많다. 보통은 DBA에게 요청하는 문서로 작성되어 오지만, 기존의 테이블의 정의를 확인하고 문서화 하기위해 정의서를 생성해 내야할 필요가 있다. 그럴 때 사용하기 적절한 쿼리에 대해 소개해보도록 하겠다. Query 쿼리내용은 아래와 같다. .. 2024. 4. 2.
[Oracle] External Table - 외부 CSV 파일을 테이블로 만들기 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.. 2024. 3. 30.
[Oracle] Table / Column Comment - 코멘트, 설명 달기 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 테이블에 대한 코멘트 추가, 변경, 삭제는 하나의 명령어로 모.. 2024. 1. 26.
[Oracle] 11g 시퀀스 (Sequence) 컬럼 자동 증가 값 Intro 안녕하세요 초보 DBA 다뉴입니다. 오늘은 오라클의 Object중 하나인 시퀀스에 대해 알아 보도록 하겠습니다. Sequence 시퀀스(Sequence)란? - 순차적으로 자동증가 하는 값을 반환하는 객체 - 일반적으로 PK값 중복 방지를 위해 사용 - 생성, 사용 방법, 수정, 삭제 시퀀스(Sequence) 생성 CREATE SEQUENCE [SequenceName] -- 생성 시퀀스 명, 해당 Create문을 제외한 나머지 부분은 다 생략 가능 INCREMENT BY [n] -- 증감 값, n만큼 시퀀스 값이 증가(양수) 또는 감소(음수), default = 1 (생략시) START WITH [n] -- 시작숫자 default = 증가 일때 MINVALUE / 감소 일때 MAXVALUE M.. 2023. 8. 9.
[DBA][Oracle] 자주 쓰는 쿼리 - TableSpace 용량 및 파일 위치 확인 Intro 안녕하세요 초보 DBA 다뉴입니다. 데이터베이스를 관리함에 있어서 여러가지 요소가 있겠지만 그 중 저장공간과 용량에 대한 관리에 도움이 될 만한 쿼리를 하나 소개할까 합니다. 여러 오브젝트들은 TableSpace에 속하여, 저장공간을 차지하고 있는데요. 오늘은 이 TableSpace를 관리하기 위해 TableSpace의 저장공간의 상태를 확인하는 쿼리입니다. 한번 알아보도록 하죠. 알아두기 Tablespace (테이블 스페이스) 란? Tablespace는 Oracle의 논리적 저장공간입니다. Tablespace를 나눔으로써 데이터의 관리 / Table, Index 의 분리 등 여러가지 효율을 얻을 수 있습니다. 자세한 내용은 아래의 글을 참고해 주세요! [Oracle] 저장 구조 - Table.. 2023. 8. 8.
[Oracle] 파티션(Partition) 2 - Range Partition, Interval Partition Intro 안녕하세요. 초보 DBA 다뉴 입니다. 저번에 알아봤던 파티션이 무엇인지 알아보았는데요. 해당 내용이 궁금하신분들은 아래의 링크를 참고해주세요. [Oracle] 파티션 (Partition) 1 - 테이블 파티션 이란? Intro 안녕하세요. 초보 DBA 다뉴 입니다. 최근 Oracle업무에 Table Partition 을 사용할 일이 있었습니다. 처음 사용해 보는거라 약간 헤매기도 했는데요. 이것저것 공부한 내용을 정리한 내용과 새롭게 da-new.tistory.com 오늘은 그 중 Range Partition, Interval Partition 에 대해서 알아보도록 하겠습니다. 제일 많이쓰이는 파티션이니만큼 알아두면 좋을 것 같네요. 파티션의 종류 Range Partition 가장 일반적으로.. 2023. 8. 4.
반응형