Partition Table Partition Table이란 특정한 기준으로 데이터를 분할하여 저장해놓은 테이블이다. 논리적인 1개의 테이블에 대해서 물리적으로는 여러개의 파티션 테이블이 생성되는 것이다. 보통 오랜 기간 동안 쌓인 데이터를 수월하게 관리하고 성능저하를 방지하기 위한 용도로 사용한다. 서로 다른 파티션에 데이터를 저장함으로써 노드 간의 디스크 경합을 최소화하여 성능을 향상한다. 파티션 테이블의 장점 • 고가용성 - 파티션은 독립적으로 관리된다. - 같은 테이블에서 Unavailable한 파티션은 다른 파티션에 영향을 주지 않는다. • 편리한 관리 - 사용자 지정 값으로 파티션이 가능하다. - 테이블스페이스 간 파티션 이동이 가능하다. • 성능 개선 - 데이터를 조회할 때 액세스하는 범위를..
SQL*Loader -비오라클 데이터를 오라클 데이터로 옮길 때 사용하는 유틸리티이다. -반드시 텍스트 파일 형식으로 만들어 import 해야한다. -텍스트 파일 형식의 데이터 파일과 이 데이터 파일에 대한 정보가 적혀 있는 컨트롤 파일 두가지를 사용한다. SQL*Loader 실습 OS 환경 : Oracle Linux 6.3 DB 환경 : Oracle Database 12.1.0.2 SID : testdb SQL*Loader를 위한 디렉토리 객체를 생성한다. testdb> create directory loader_dir as ‘/home/oracle/testdb/loader’; 유저에게 권한을 부여한다. testdb> grant read, write on directory loader_dir to hr..
Transportable Tablespace 서로 다른 DB 사이의 데이터를 주고받는 가장 빠르고 효율적인 방법이다. 데이터파일을 먼저 옮기고 메타데이터(구조)만 import하는 방식이다. SYSTEM, SYSAUX, UNDO, TEMPORARY TABLESPACE는 지원이 안된다. 이동할 TABLESPACE를 EXPORT 하기 전에 READ ONLY 상태로 변경해야 한다. DB 내부의 데이터 저장방식(character set)이 동일해야 한다. select property_name, property_value from database_properties where property_name like 'NLS_CHA%'; Transportable Tablespace 실습 OS 환경 : Oracle Linu..
OS 환경 : Oracle Linux 6.3 DB 환경 : Oracle Database 12.1.0.2 SID : PROD, testdb open listener : startup 1. PROD의 employees, departments table을 기반으로 testdb의 hr schema에 emp_sample, dept_sample을 생성한다. testdb 데이터베이스에서 PROD 데이터베이스의 데이터를 사용하기 위해서 DB Link를 사용하겠다. *DB Link란? - remote에 있는 데이터를 사용하기 위해 사용한다(다른 DB의 객체에 접근하기 위한 객체) . - 서버에서 서버로 가기위한 링크이다. - Local Server는 Remote Server에 대한 Client라고 할 수 있다(당연히 로..
Datapump 오라클 9i에서는 Export(exp)와 Import(imp) 유틸리티를 사용해서 데이터 이동을 했었는데, 10g부터는 Datapump를 사용해서 기존 유틸리티보다 빠르게 작업을 할 수 있다. 하지만 적은 양의 데이터를 이동시킬때는 Export와 Import 유틸리티가 더 빠르다. 그리고 Datapump는 오라클 서버단에서 제어 되는 툴로, Directory 객체를 생성하여 사용하고 export/import 작업을 진행하는 유저에게 해당 객체에 대해 읽기, 쓰기 권한을 부여해야 한다. 데이터를 이동할 때 사용하는 유틸리티이다. 운용/개발 서버 또는 운용/복구 서버를 따로 두어 개발하고, 복구 완료 후 운용 서버로 데이터를 옮긴다. DB가 Open 되어 있을 때만 사용 가능하다. 다른 기종..
오늘은 oracle server 접속 방법 중 두가지 방법(easy connect, local naming)으로 접속하는 실습을 하겠다. OS 환경 : Oracle Linux 6.3 DB 환경 : Oracle Database 12.1.0.2 SID : testdb, PROD LISTENER START Easy Connect(간단한 연결 방식) ①프로토콜 빼고 ②호스트명, ③포트번호, ④서비스명을 직접 다 써주는 방식 $ sqlplus 유저명/유저패스워드@호스트명:포트번호/서비스명 ex) $sqlplus scott/tiger@localhost:1521/orcl show parameter db_name 현재 접속한 DB는 PROD 이다. show parameter service 현재 서비스명은 PROD 인데..
CONNECTION Connection 이란 User 프로세스와 Server 프로세스가 연결된 것이다. CONNECTION TYPE Dedicated Server 특정 User 프로세스가 시킨 일만 하는 서버이다. 동시 User가 100개이면 서버가 100개 떠야한다(user : server = 1 : 1). Server 프로세스 각각은 PGA가 할당된다. 장점 : User가 일을 많이, 쉴틈 없이 계속 시키는 경우에 좋은 성능을 나타낸다. 단점 : OLTP(짧은 트랜잭션/간단한 SQL이 반복되는 환경, 접속자는 많고 일은 적은 환경) 환경에서 자원이 낭비된다. User : Server = 1 : 1이라서 확장성이 안좋다. Shared Server 여러 User 프로세스에 대해 적은 수의 공유 serve..
Client-side Network Configuration 클라이언트 쪽에서 서버로 접속하는 방식은 4가지가 있다. Local Naming(로컬 이름 지정 방식) 4가지 정보 ①프로토콜, ②호스트명, ③포트번호, ④서비스명을 로컬에(tnsnames.ora) 저장해 놓는 방식이다. 방식 : $ sqlplus 유저명/유저패스워드@서비스명 ex)$ sqlplus scott/tiger@orcl 위치: $ORACLE_HOME/network/admin/tnsnames.ora 단점: 클라이언트의 구성파일(tnsnames.ora)의 관리가 필요하다(이름 분석 파일, 서버의 구성이 바뀌면 파일을 다 관리해줘야 함). 장점: 고급 연결 옵션을 지원한다(failover, load balancing). Easy Connec..