티맥스 티베로 DBMS -6

김재현·2022년 8월 24일
0

티맥스 티베로

목록 보기
6/7
  • 조인 쿼리 티베로
  • 쿼리 툴
  • 티베로 스튜디오 온라인 메뉴얼
  • 오라클 SQL. PL/SQL
    오라클이 보안성이 좋은듯.
  • 티베로는 결과적으로 오라클의 대체제.
  • Tb 유틸리티 안내서 3장 ~ 4장

TB Studio

  • Tibero를 이용하여 개발을 돕는 GUI툴.
    개발에 필요한 기능과 환경을 제공.

주요 기능

  • Tibero Studio의 환경설정
  • 일반적인 SQL 문장 및 tbSQL 프로그램의 입력, 편집, 실행, 저장
  • 트랜잭션 설정 및 종료
  • 스키마 객체의 관리
  • 외부 유틸리티 및 프로그램의 실행
  • 개발 도구를 이용한 데이터베이스 개발
  • export, import 등이 내장되어있음.

SQL 개발 툴

  • 3-tier 프로그램에 필수.
  • SQL을 개발해서 프로그램 안에 삽입하고 SQL이 DB와 통신한다.
    DB 개발 전에는 SQL개발이 필요하지 않았다.
  • 하지만 DB 없이 프로그램을 운영하는 것이 점점 힘들어졌고, 결과적으로 DB가 개발, SQL Language가 생겨났다.
    SQL Language를 추가로 배우는 등 일이 복잡해지기는 하지만, 데이터를 자체적으로 처리할 수 있도록 개발하는 것보다는 훨씬 나았다.
  • SQL 툴을 통해 프로그램과 DB를 연결함으로써 개발을 완료한다.

요구사항

  • JDK 1.6버전 이상이 반드시 설치되어 있어야 함.

설치 및 실행

  • 별도 라이센스 없이 해당 파일의 압축을 풀면 바로 설치됨.
  • 기존의 tbStudil 폴더가 존재하는 경우, 반드시 폴더 삭제 후 압축을 해제해야함.
  • 사용자 PC 플랫폼에 맞는 Tibero Studil의 압축파일을 다운받자.

Format 설정

  • DATE, Timestamp 등등의 포맷을 설정할 수 있다.

SQL 에디터

  • 일반적인 SQL 문장 작성 및 실행
  • DML SQL 문장의 Execution Plan 보기
  • 성능향상을 위한 Partial Data Fetch 기능
  • GUI를 통한 Commit/Rollback
  • Call Editor 편집기능
  • Open File/Save As.. 기능
  • 엑셀파일 저장 기능, 컬럼 필터링, 정렬 기능
  • 실행계획을 보는 이유 : 성능향상을 위해서

PSM Editor

  • PL/SQL 문장 편집 및 컴파일 기능
  • 컴파일 에러정보 출력
  • PL/SQL Hierarchy 정보 제공
  • Open File/Save As.. 기능

PSM

  • PSM 언어는 일종의 개발 언어
  • C, Java와 비슷하다, 더 간단하다.
  • DBLayer에 존재.

Schema Tree Browser

  • 스키마 객체의 정보를 트리 형태로 조회
  • 스키마 객체를 선택한 뒤 오른쪽 마우스 버튼을 클릭하면 컨텍스트 메뉴가 나타남 → 컨텍스트 메뉴를 사용하면 별도의 화면에서 스키마 객체를 생서, 수정 삭제할 수 있음.
  • PL/SQL의 PSM Editor과도 연동 가능.

Export / Import

  • Exprot File : 추출할 파일의 경로와 이름 지정
  • Scope :
  • Export Contents : 어떤 데이터를 추출할것인지.

  • Load 와 Unload 기능이 나눠진다.
  • CSV : ,로 구분된 텍스트 및 데이터 파일
  • Record Delimiter : 줄바꿈 기호
  • Default Data Format : 날짜 포맷

사용해보기

  • 응용파일 실행

  • 실행 완료

  • IP : putty IP 입력
  • Port : 파라미터 설정 때 입력한 값
  • User/Password : 데이터베이스 생성 시 입력한 값.
  • DB Name : 파라미터 설정 때 입력한 값

tbExport/tbImport

tbExport

설치

  • Tibero 서버 서리 시 client 모듈과 함께 자동 설치됨

Export 모드

  • 전체 데이터베이스 모드 (Full Mode)
    • SYS 사용자를 제외한 모든 사용자의 오브젝트 추출.
    • DBA 권한을 가진 사용자만 사용 가능
  • 사용자모드
    • Export 대상 사용자를 지정하고 지정한 사용자가 소유한 모든 스키마 정보 추출
    • DBA는 하나 이상의 사용자 지정 가능
  • 테이블 모드
    • 하나 이상의 지정한 테이블과 연관된 인덱스 등의 데이터베이스 오브젝트 함께 추출
    • 테이블 지정 시 소유자도 명시해야.

  • .dat 파일은 Import 도구를 사용해서 Import할 때만 사용이 가능하다.
  • 같은 티베로에서만 가능.

  • Import가 성공했다는 메시지가 출력된다.
  • Refresh버튼을 눌러야 프로그램에 적용된다.

tbImport

Import 모드

  • 전체 데이터 모드
    • Export한 파일로부터 Tibero 데이터베이스 전체를 import
    • DBA 권한을 가진 사용자만 사용 가능
    • SYS 사용자를 제외한 모든 사용자의 오브젝트를 import
  • 사용자모드
    • Import 대상 사용자를 지정, 지정한 사용자가 소유한 모든 스키마 정보 추출.
    • DBA는 하나 이상의 사용자 지정 가능.
  • 테이블모드
    • 하나 이상의 지정한 테이블과 연관된 인덱스 등의 데이터베이스 오브젝트들을 함께 Import
    • 테이블 지정 시 소유자도 명시해야.
  • Import 시 충돌이 나면 처음 작업을 중단. 앞에서 막히면 뒤 작업을 진행하지 않는다.
  • Import를 하려하는데 테이블이 남아있는 경우 > 테이블 삽입에서 막혀, 데이터 삽입은 이루어지지 않는다.
    테이블을 지워버리든가, Import할 때 옵션을 줘서 데이터만 삽입한다.

  • 스키마 오브젝트가 이미 존재하더라도 무시하고 다음 작업을 진행시키는 명령.

텍스트로 해보기

  • DB에 접속한다.

  • 사용방법 출력

  • 폴더를 하나 만들어주자

  • 접속정보를 세팅한다. IP, Port, Username, Password, DB Name
    DB Name = SID
  • 파라미터도 세팅해준다.
    FULL : 모드. y로 세팅.

  • export한 파일이 잘 생성됐다.

  • Import 사용방법 출력.

  • Import 성공

실습해보기

  • 외부 DB, EDU에 접속해서 EDU 스키마에 있는 SALGRADE 테이블을 tbexport툴로 가져오고 > 로컬 TIBERO의 TIBERO 스키마에 tbimport를 이용해서 넣기
  • import 시 FROMUSER=EDU TOUSER=TIBERO가 추가되어야 함.
    추출하는 스키마와 주입하는 스키마가 다르기 때문.

  • 외부 DB, EDU에 접속해서 SALGRADE 테이블을 확인한다.

  • 로컬 DB인 TIBERO에 접속한다.
    SALGRADE 테이블을 조회하지만, 당연히 없다.

  • DB링크를 이용해서 SALGRADE 테이블을 조회해보자.

  • CREATE TABLE ~ AS SELECT ~ 를 이용해서 로컬 테이블에 SALGRADE테이블을 복사해준다.
  • COMMIT도 잊지 말자.

  • export 성공적

  • Import도 성공적

위에서 한 실수 정정하기

  • drop table 을 이용해서 salgrade 테이블을 날려준다.

  • USERNAMEPASSWORD TABLE을 EDU 기준으로 작성해준다.

  • 스키마 이름이 달라서 그런지 오류가 발생한다.

  • FROMUSER=~ TOUSER=~명령어를 사용해서 스키마를 조절해주면 성공했다고 출력된다.

  • 정상적으로 출력된다.

tbLoader

개요

  • 데이터베이스에 입력할 데이터의 칼럼 데이터만 일반 텍스트 파일로 만들어서 한꺼번에 적재하는 유틸리티.
  • Tibero에는 값을 넣을 테이블이 필요함.

컨트롤 파일

  • tbLoader의 실행을 위한 파라미터를 지정한 파일
    • 읽어들일 데이터의 위치, 데이터 저장 위치
    • 데이터를 읽어 들이는 방법
  • 파라미터 (교재 참조)

데이터파일

데이터베이스의 테이블에 저장할 데이터가 들어있는 텍스트 파일

  • 고정된 레코드 형태
    • 컨트롤 파일의 파라미터 값인 FIELD_TERMINATOR와 ENCLOSED_BY를 모두 지정하지 않을 경우 적용
    • 필드 구분자 없음. 칼럼의 위치는 바이트의 길이에 의해 결정.
    • 속도가 우수하지만, 유연성이 부족하다.
  • 분리된 레코드 형태
    • 컨트롤 파일의 파라미터 값인 FIELD_TERMINATOR나 ENCLOSED_BY을 지정한 경우에 적용.
    • 필드 구분자 존재
    • 사용자가 원하는 형태로 형식을 지정할 수 있어서 속도는 늦지만, 유연성이 뛰어나다.

로그 파일(Log file)

  • tbLoader의 실행 과정을 기록
    • 입력할 칼럼의 기본적인 메타정보
    • 실제 입력에 성공한 레코드와 실패한 레코드에 대한 통계 정보

오류파일(Bad file)

  • tbLoader의 실행 시 로드에 실패한 레코드의 데이터 기록

실습해보기

  • loader디렉토리 생성 후 교재의 예제를 생성해서 테이블을 생성한다.

  • loader을 정의해준다.

  • data.dat파일을 만들어주자.

  • 로더를 실행해주자.
    오류가 나긴 했지만, 쨌든 실행은 완료됐다.
  • 로그파일과 배드파일을 확인하고, 무엇이 실패했는지 파악한 후 수정하도록 하자.

  • 로그파일을 확인해주자.
    5건은 성공했고, 3건은 실패했다고 나온다.

  • 배드파일을 조회해보자.
    왜 틀렸는지를 알아야 수정할 수 있다.
    테이블을 고치던지, 데이터를 줄이던지 하는 조치를 할 수 있다.
    VARCHAR(10) 수를 늘리는 식으로 말이다.

  • 데이터를 수정해준다.

  • 컨트롤파일도 수정해줘야한다.

  • 수정한 내용을 적용하기 전의 테이블

  • control2.ctl을 적용해주어야 함을 잊지 말자.

  • 수정된 데이터가 적용된 테이블. 8건의 데이터가 무사히 다 조회되었다.

T-Up

개요

  • 다른 데이터베이스에 저장된 테이블, 인덱스, 뷰 등의 데이터베이스 오브젝트와 데이터를 Tibero로 이관하는 기능을 제공하는 유틸리티.

기능

  • 테이블, 인덱스, 뷰, 동의어 등 스키마 객체와 테이블에 정의된 각종 제약조건을 마이그레이션.
  • 테이블 데이터 마이그레이션.
  • 사용자 권한(privilege) 및 역할(role)을 마이그레이션

T-Up Analyzer

  • 메뉴에서 선택한 이관 대상 중 지원 불가 건수와 비율을 표기함.

T-Up Migrator

  • GUI 환경에서 Source와 Target DB 접속 후, 대상 오브젝트를 선택하고 이관을 실행.

  • 눌러줘야 시작한다.
  • 리모트 DB에서 데이터를 꺼내서 로컬 DB로 옮겨주는 작업을 수행한다.

  • 성공 및 실패도 알 수 있다.

사용해보기

  • 시작해준다.
  • 맞는 값을 넣어준다.

  • Migrator 버튼을 누르면 바로 나온다.

  • 세팅해주고 넥스트 두번 눌러준다.
    Refresh를 누르면 갱신된다.

  • DDL은 크리에이트 문장.
  • DATA는 데이터.

  • 내 DB의 정보를 적어준다.

  • 쿼리를 넘겨서 실행하는 방식도 많이 사용한다.

  • 스튜디오에서 확인하자. EDU가 있다.

0개의 댓글