본문 바로가기

ORACLE/ADMIN23

[Oracle] List Partition Table 실습 및 정리 List Partition Table Object라는 것은 유저가 생성할 수 있는 것입니다. Segment는 Object들 중에서 데이터를 저장하기 위해서 저장공간이 필요로하는 것입니다. 기본 테이블은 하나의 Segment를 갖는 것을 원칙으로 해서 데이터의 양이 많이질 수록 쿼리작업을하는데 시간이 오래걸리게 됩니다. 만약 하나의 테이블이더라도 특정 기준으로 여러 Segment를 만들어서 필요한 데이터 범위에서만 조회를 한다면 어떨까요? 예를 들어 2015년도의 전체 데이터를 찾고싶은데 Table에는 1990년부터 데이터가 존재합니다. 여러 행을 결과로 반환하기 때문에 Full Table Scan 작업을 하게될텐데 1990년도 부터 모두 탐색하면 시간이 정말 오래 걸릴겁니다. 이럴때 기간을 기준으로 Pa.. 2020. 7. 23.
[Oracle] SQL Loader 데이터 이동 사용법 SQL Loader 비오라클 데이터베이스에서 오라클 데이터베이스로 데이터를 이동하는 방법으로 SQL Loader를 사용할 수 있습니다. SQL Loader는 csv나 tsv 파일처럼 특정 구분자나 위치로 정의되어 있는 텍스트파일 형식의 데이터를 이용해서 import하는 방식입니다. SQL Loader를 사용하기 위해서는 이러한 데이터가 담겨져 있는 데이터 파일과 import하는 데이터 파일 및 테이블에 대한 정보가 기술되어져 있는 컨트롤 파일 두가지를 이용합니다. SQL Loader 실습 실습환경 OS : Red Hat Enterprise Linux Server release 6.10 DB : Oracle 11.2.0.1 SID : orcl host : 601d2fce71dc 실습목표 - import용 .. 2020. 7. 19.
[Oracle] Transportable Tablespace 가장 빠른 데이터 이동 방법 Transportable Tablespace Transportable Tablespace는 오라클에서 오라클 데이터베이스로 데이터를 이동할때 가장 빠른방법이라고 합니다. 데이터펌프나 Export, Import 유틸리티를 사용할때는 그냥 insert작업을 하는 것과 비슷하다고 한다면 Transport Tablespace는 Datapump를 사용하여 메타데이터 즉 구조만 추출하고 데이터파일 자체를 이동시켜 migration 작업을 합니다. Transport Tablespace를 이용하여 데이터를 이동할때는 운영체제에 대한 제한이 있습니다. 데이터파일 자체를 이동시키다보니 파일을 저장하는 방식이 OS에 따라 상이하여 Platform의 Endian 정보만 같다면 이동이 가능했습니다. 하지만 이제는 Endian의.. 2020. 7. 18.
[Oracle] 데이터 이동 exp, imp 유틸리티 사용 오라클 데이터 이동 오라클 데이터베이스끼리의 데이터 이동을 할때 Export와 Import 유틸리티를 사용할 수 있습니다. Oracle 10g에서 Datapump라는 New Feature가 나오기 이전까지 exp, imp 유틸리티를 사용해서 Export와 Import 작업을 했습니다. 하지만, Datapump가 새롭게 나왔다고해서 이전에 사용하던 유틸리티들이 사라지지는 않았습니다. 기존의 방식과 Datapump는 내부적으로 사용되는 메커니즘이 다를뿐, 데이터를 이동하는 것은 같습니다. Datapump의 경우 export 혹은 import하는 작업을 하기 전에 해당 이동하려는 데이터에 대한 정보를 확인하는 작업을 거쳐 오히려 적은 양의 데이터를 취급할때는 기존의 방식이 더 빠릅니다. 실습환경 OS : Re.. 2020. 7. 17.
[Oracle] Datapump 데이터 이동, expdp impdp 유틸리티 사용 Oracle Datapump 데이터베이스 관리에 있어서 데이터 이동은 필수적으로 꼭 알아야하는 기술입니다. 오라클 데이터베이스에서는 Export(exp)와 Import(imp) 유틸리티를 사용해서 Data Migration 작업을 했었는데요, 10g부터 Datapump를 사용해서 기존 유틸리티보다 20배가량 빠르게 작업을 완료할 수 있다고 하네요. 기존 exp, imp 유틸리티와의 차이점 Datapump가 빠르게 작업을 진행할 수 있는 이유는 내부적으로 사용하는 메커니즘이 다르기 때문입니다. 기존의 방법과는 똑같이 데이터를 이동하지만 처리 방식에 따라 속도가 다르게 측정됩니다. 적은 양의 데이터를 이동시킬때는 Export와 Import 유틸리티가 더 빠릅니다. 아무래도 대량의 데이터를 취급할때 Datap.. 2020. 7. 16.
[Oracle] Materialized View 정리 및 Advisor 사용하여 쉽게 생성 일반 View의 문제점 View는 복잡한 SELECT 명령문을 간단하게 쿼리하기 위해 SELECT 문을 갖고 있는 오브젝트 입니다. 데이터를 갖고 있지 않고 SELECT문을 저장해서 해당 View를 조회했을 때, 쿼리가 복잡하다면 편할지언정 원래의 복잡한 쿼리문을 조회하는 것과 같습니다. 즉, 사용의 편의성은 있지만 성능적인 측면에서 문제가 되는 상황은 발생합니다. 문제가 되는 상황을 예로 들어 보겠습니다. 3개의 테이블을 조인하는 View가 있습니다. 그런데 3개의 테이블 모두 대량의 데이터를 보유하여 쿼리문을 통해 데이터를 조회하는데 너무 오랜 시간이 걸려 성능적인 개선이 필요한 상황이 발생합니다. 이러한 문제를 해결하기 위해 데이터를 보유하는 View인 Materialized View OR Suma.. 2020. 7. 16.
[Oracle] Tablespace 테이블스페이스 총 정리(종류, 생성, 삭제, 조회, 변경) Oracle Tablespace 일반적으로 데이터베이스를 배운다고 했을때 SQL문장을 사용하는 방법부터 배웁니다. 데이터를 조회, 수정, 삭제 작업을 하면서 문들 이런 생각이 들 수 있습니다. "내가 조회하는 이 데이터들은 도대체 어디에 저장 되어 있는거지?" 데이터를 조작했으니 어딘가에는 물리적으로 존재해야한다는 것을 인식하게 됩니다. Oracle에서는 Data file 이라는 물리적 파일 형태 저장하고 이러한 Data file이 하나 이상 모여서 Tablespace라는 논리적 저장공간을 형성합니다. Tablespace는 하나의 데이터베이스 안에 가장 큰 논리적 저장공간으로 업무의 단위나 사용용도에 따라 여러개의 Tablespace로 분리하여 관리되고 Segment(오브젝트)라는 논리적 저장공간의 집합.. 2020. 7. 14.
[Oracle] Dedicated Server와 Shared Server 차이 Dedicated Server와 Shared Server 서버방식 설정 사용자는 Database에 질의하고 Database는 해당 질의에 결과를 반환해줍니다. 이러한 과정에서 내부적으로 결과값까지 반환해주는데 설정 가능한 서버방식이 두가지가 있습니다. 각 사용자 별로 프로세스를 전담마크해주는 Dedicated Server 방식과 미리 프로세스를 기동시켜 들어오는 요청들을 순차적으로 처리하는 Shared Process가 있습니다. Dedicated Server Database에 별다른 설정을 하지 않는 다면 Dedicated Server 방식으로 설정됩니다. 그림에서 처럼 각 유저 프로세스에게 1 대 1로 전담마크해주는 서버 프로세스가 생성됩니다. 사용자로부터 연결 요청을 했을 때 Server Proces.. 2020. 7. 12.
[Oracle] 오라클 접속 tnsnames.ora 설정 Easy Connect, 로컬 이름 지정 방식 오라클 접속 방법 이전 글에서 Listener와 관련된 실습을 진행했습니다. 이번 글에서는 Oracle 접속 방법 중에서 가장 많이 사용하는 Easy Connect와 로컬 이름 지정 방식에 대해서 알아보겠습니다. 실습 환경 OS : OEL 5.4 DB : Oracle 12.1.0.2 SID: newdb, PROD(1개 서버안 2개 데이터베이스) hostname : host01 listener 사전 구축 완료 1521포트 사용 Easy Connect 방식 가장 쉽게 연결할 수 있는 방식입니다. 필요한 정보들을 나열해서 연결할 수 있습니다. [oracle@host01 ~]$ sqlplus system/oracle@host01:1521/PROD sqlplus를 이용해서 접속했습니다. /@:/ 형태로 연결해주면.. 2020. 7. 11.
[Oracle] Listener 동적 등록. UNKNOWN과 READY의 차이 -Oracle Listener 동적 등록 실습환경 OS : Red Hat Enterprise Linux Server release 6.10 DB : Oracle 11.2.0.1 SID: newdb, PROD(1개 서버안 2개 데이터베이스) hostname : 601d2fce71dc Oracle Listener를 등록하는 방법에는 두가지가 있습니다. 동적등록과 정적등록. 정적등록은 listener.ora파일에 직접 서비스를 등록해주는 방법 입니다. 자세한 내용은 아래 링크를 통해 확인합니다. [Oracle] Listener 네트워크 구성 정적 등록 listener.ora 생성 Oracle 네트워크 통신 방법 외부에서 Oracle서버를 통신하기 위해서는 Listener를 통해 통신을 하게됩니다. Listen.. 2020. 7. 11.