데이터베이스 변경 관리는 데이터베이스에 필요한 변경을 판별하고
이러한 변경을 지정하며 변경 후 영향을 분석 및 전개하는 프로세스입니다.
데이터베이스 스키마 변경이 필요한 이유에는 여러 가지 요소가 포함됩니다. 예를 들어, 새 비즈니스 요구사항, 병합, 법령의 변경 및 응용프로그램의 변경이 있습니다. 스키마 변경에는 논리적 데이터베이스 오브젝트(예: 테이블, 컬럼, 기본 키 및 제한조건)와 실제 데이터베이스 오브젝트(예: 데이터베이스, 테이블 스페이스, 버퍼 풀 및 인덱스)에 대한 변경이 모두 포함될 수 있습니다.
데이터베이스 오브젝트 변경은 유형에 관계없이 상당한 작업이 필요한 경우가 많습니다. 종속 오브젝트에 영향을 주거나 원본 데이터에 영향을 주기도 합니다. 이러한 종속성의 분석 및 유지보수 프로세스는 일반적으로 시간이 많이 걸리고 오류가 발생하기도 쉽습니다.
다음 그림과 같이 일반적인 데이터베이스 환경의 경우, 새 응용프로그램과 데이터베이스 디자인의 변경은
먼저 전용 개발 시스템에 소개된 후 테스트 시스템에서 유효성 확인을 거쳐 마지막으로
조직의 프로덕션 시스템에 전개됩니다.
일반적으로 개발, 테스트 및 프로덕션 시스템의 전체 디자인에서 상당한 유사성을 보이기는 하지만, 각 시스템에 적용되는 비즈니스 규칙은 다를 수 있습니다. 프로덕션 데이터베이스의 운영은 엄격한 비즈니스 규칙이 적용되며 하루 24시간, 일주일 내내 실행되어야 합니다. 테스트 데이터베이스의 운영도 테스트된 내용이 프로덕션에서 제대로 실행되도록 엄격한 비즈니스 규칙이 적용됩니다. 그러나 프로덕션 시스템에서 필요로 하는 수준의 사용 가능성이 요구되는 것은 아닙니다. 프로덕션 및 테스트 시스템과는 달리, 개발자가 계속하여 변경을 수행해야 한다는 점에서 개발 데이터베이스의 비즈니스 규칙은 비교적 적습니다. 이러한 별도의 데이터베이스 시스템을 관리하는 프로세스에 대해 DBA는 다음을 수행해야 합니다.
- 개발 시스템 또는 테스트 시스템을 특정 시점의 프로덕션 시스템 사본과 동기화
- 한 시스템에서 다른 시스템으로 변경을 승격(또는 이주)
- 데이터베이스 환경에 수행한 변경을 실행 취소
- 향후 참조를 위해 실행기록이 유지되는 기본 모델을 작성
- 변경을 감사하여 변경의 효과를 이해
- 데이터베이스의 구조적 변경에 대한 수명 주기 관리
- 두 오브젝트 세트를 비교하여 차이점 판별
- 데이터베이스에 제시된 변경의 영향 분석
- 목표 데이터베이스의 변경 전개 관리
- 변경에 삭제되고 재작성될 오브젝트가 필요한 경우 데이터 로드 및 언로드
- 데이터 이동
- 변경의 결과로 작동되지 않는 패키지 리바인드
- 종속 오브젝트 새로 고침 또는 재정의
변경 관리는 다음과 같은 해결해야 할 과제로 인해 데이터베이스 관리자가 프로세스를 수행하는 데 오랜 시간이 소요되고 어려움이 있을 수 있습니다.
- 스키마 변경을 인식하지 못하므로 시스템의 무결성이 유지되지 못할 수 있습니다.
- 관련된 모든 변경 요소를 찾기 어렵습니다.
- 스키마 변경의 영향을 분석하는 데 시간이 많이 걸립니다.
- 실제 이주 전에 데이터 이주에서는 총체적이고 광범위한 계획이 필요합니다.
- 데이터베이스에 변경을 적용하려면 데이터베이스 구조에 대한 전문적인 지식이
필요합니다.
- SQL 구문을 학습하기 어렵습니다.
변경 관리 소프트웨어를 사용하면 신뢰성이 증대되고 작업자의 실수를 줄일 수 있으므로 변경 관리 프로세스를 쉽게 처리할 수 있습니다.