반응형

🚀 개요

회사에서 인프라팀 소속으로 DBA 업무를 수행하게 되었다. 그렇기 때문에 앞으로 수행하게 될 업무에 대한 정의와 역할을 조사하게 되었다

 

🚀 DBA 정의

  • DBA는 Database Administrator의 약어로 한 조직 내에서 데이터베이스 시스템이 원할하게 기능을 수행할 수 있도록 데이터베이스 설치, 구성, 업그레이드, 관리, 감시 등 업무를 수행하는 직업이다.
  • 자료 복구(백업), 데이터 보전, 보안을 위해 데이터의 접근을 제어하는 업무를 수행한다.
  • DBMS의 기술이나 DB 소유자의 요구에 따라 변화하는 환경에 대한 분석 및 설계 업무를 수행한다.

🚀 DBA 역할

  • 안정적인 서비스 운영을 위한 데이터베이스 운영 관리(운영/백업/복구/튜닝 등)

🚀 DBA 업무

  • DBMS(Database Managerment System) 설계와 조작
    • DBMS는 사용자와 데이터베이스를 연결시켜주는 소프트웨어로 사용자의 데이터베이스를 생성, 공유, 관리할 수 있도록 지원해주는 총체적인 역할을 수행한다
  • (데이터베이스 구성요소 결정) 데이터베이스는 객체, 속성, 관계라는 요소로 구성되어 있다. 사용자의 요구사항을 충족시킬 수 있도록 데이터베이스에 포함될 객체, 속성, 관계를 정의한다.
  • (데이터베이스 엔진 관리 및 최적화) 실제 데이터만큼 자주 백업을 수행할 필요는 없지만, 엔진 자체의 문제에 의해 재설치를 수행해야 될 경우를 대비해 엔진 백업을 준비하는 등 관련 업무를 수행한다. 
    • 데이터베이스 버그관리
    • 데이터베이스 버젼 및 패치관리
    • 데이터베이스 엔진 백억
      • 데이터베이스 엔진 - DBMS가 데이터베이스에 대해 데이터를 삽입, 추출, 업데이트 및 삭제하는데 사용하는 SW 컴포넌트
  • (스키마 정의) 정의된 데이터베이스의 구성요소 정보를 통해 데이터베이스를 설계하고 이를 바탕으로 DBMS가 이해할 수 있도록 기술
  • (저장구조와 액세스 방법) DBMS에 따라 필요한 경우에 스키마에서 정의된 데이터 레코드들을 물리적으로 표현하고 저장 레코드들 간의 순서, 인덱스, 포인터 등 접근 방법 등을 설정한다.
  • (보안 및 권한 부여 정책) 데이터베이스를 사용하는 사용자에 대해 Profile, Privilege, Role을 설정하여 데이터베이스 기밀성을 준수한다.
    • Profile - 사용자 계정의 행동에 제약사항을 두기 위해 사용하는 경우가 대부분이며, 예를 들어 10분 이상 관련 활동이 없으면 접속을 강제로 종료시키거나 10분 이상 관련 활동이 없으면, 접속을 강제로 종료시키거나 10일마다 암호를 다른 것으로 강제로 변경하도록 적용시키는 활동
    • Privilege - Profile은 사용자가 어떤 것들을 하지 못하게 제한하는 것이 목적이지만, Privilege는 사용자에게 어떤 것들을 할 수 있게 허락해주는 것을 목적으로 한다. 일반적으로 OS에서는 계정을 생성하고 암호를 설정하면 서버에 접속 및 적절한 작업도 가능하지만, 오라클에서는 계정생성과 암호를 설정하고 적절한 권한까지 부여해야 관련 작업을 할 수 있다.
    • Role - 사용자에게 권한을 부여하기 위한 Grant 명령어가 많아, 매번 할당하기에 많은 번거로움이 있어, 이를 대비하여 만들어진 기능으로 권한에 대한 그룹으로 만들어 표현할 수 있다.
  • (데이터 유효성 검사 방법 수립) 데이터베이스의 무결성을 지키기 위해 관련된 규정을 정의하고 이를 위배하지 않도록 제어하며, 여러 기업에서는 메타데이터 시스템을 도입하여 해당 문제를 해결하고 있다.
  • (백업, 회복 절차 결정) 운영 중인 데이터베이스 서비스가 중단되는 것을 에방하기 위한 예비 시설을 마련하고 데이터베이스가 파손되었을 때 복구시킬 수 있는 절차 등을 수립한다. 오라클은 RAC 구성을 대표적인 예로 들 수 있다.
    • HOT 백업 - 온라인 상태에서 데이터베이스의 구성 요소인 컨트롤 파일, 리두로그 파일 및 데이터 파일을 배겁으로 지정된 매체로 복사하는 방법
    • COLD 백업 - 오프라인 상태에서 구성 요소인 컨트롤 파일, 리두 로그 파일 및 데이터 파일을 백업으로 지정된 매체로 복사하는 방법
      • RAC(Real Application Cluster)는 하나의 데이터베이스에 여러 개의 인스턴스를 구성하는 방식
  • (시스템 성능 향상) 데어터베이스 초기 구성 이후 여러 요소로 인해 변화가 일어 날 수 있으며, 데이터 용량의 증가에 따라 속됴 향상 등 다양한 문제가 발생할 수 있다. 그러므로 새로운 환경으로 인해 기존 데이터베이스를 재구성해야 할 수 있으며, SQL 튜닝을 활용해 시스템을 향상 시켜야한다.
    • SQL Plan을 분석하여 index, hint 등을 활용하여 SQL 문을 최적화하여 SQL 실행 속도를 간소화시켜 원하는 결과를 빠르게 도출하기 위한 작업으로 SQL 튜너라는 직군이 존재하지만 경계가 희미해지고 있다.
  • (데이터 사전 조작, 액세서, 유지관리) 데이터 사전(Dictionary) 또는 카탈로그를 설계, 구현, 운영 황장 시에 유요한 도구로 활용되므로 숙지해야 한다.
  • (모니터링) 모니터링 관련 툴을 활용해 장애상황을 수시로 파악하여, 장애 상황 발생 시 분석 후 해결하여 시스템을 안정적으로 숙지해야 한다.
    • (대상) 오브젝트, 메모리, 디스크, 에러 상태

🚀 유사직군

  • (데이터베이스 엔지니어) 여러가지 데이터베이스 중 특정 데이터베이스에 대한 기술지원 업무를 수행한다. 즉 설치, 구성, 이관, 백업 구축, 장애지원 등 벤더사 혹은 SI 업체에서 주로 수행한다.
  • (데이터베이스 아키텍트) 데이터베이스의 효율이나 성능을 최대한으로 끌어내기 위해 사전 구축 단계에서부터 스키마 모델링이나 물리적인 서버 모델링 등 전반적인 아키텍쳐 업무가 주를 이룬다. 데이터베이스의 아키텍쳐를 완벽하게 이해하고 있어야 하며, 도메인 지식이 풍부해야 하므로 많은 경력이 필요하다.
  • (데이터베이스 튜너) SQL 튜닝을 하는 인력들을 말하며, 예전에는 오라클이 주를 이뤘을 때는 전문 튜너들이 많았지만, 근래에는 DBA들이 튜너 업무를 수행하기도 하고 장비나 소프트웨어의 발달에 따라 전문 튜너들의 필요성이 줄어드는 추세이다.
반응형

+ Recent posts