2011. 10. 4. 16:17

SAPDB 7.3 32bit --> MaxDB 7.8 64bit Upgrade 하기

목적
- sapdb 데이터를 신규 서버로 이관 및 DB 엔진 업그레이드

작업 조건
- 기존 서버는 win2000이며, 신규 서버는 win2008 R2 64비트로, 서로 공유할 수 있는 동일한 엔진 버전이 없어서 이전 작업이 용의치 않아 중간에 업그레이드용 브릿지 서버를 두기로 함

1. 7.3 Migration backup 수행
1) DB Manager 실행
2) 백업을 위해 사용할 신규 file 백업 미디어 생성
   (백업미디어의 logical name이 back으로 시작하면 backint의 사용으로 간주됨으로 back은 사용하면 안됨)
3) instance offline
4) instance admin
5) menu에서 intance --> command line 선택한 다음 아래와 같이 입력
   exec "util_execute migrate"
   exec "util_connect"
   exec "backup_start 2)에서 생성한 file 백업 미디어 위치 (d:\backup.dbf와 같이...)
   exec "util_release"
   exec "db_offline"

2. 7.6 엔진 설치
- 작업 브릿지용 서버에 MaxDB 7.6 엔진 설치
- 파라메터와 DB의 변화로 7.8로 직접 업그레이드 불가함
- 설치 S/W 설치 옵션으로 설치, 신규 DB의 생성은 필요없음

3. 7.3 --> 7.6 Migration
1) DB Manager 실행
2) 최초 화면에서 Create 또는 메뉴에서 Instance --> Create 선택
3) 다음 화면에서 Blank DB를 선택하고 이후 백업본에서 DB 복구를 선택함.
4) DB 파일 및 로그 파일 위치 선택 화면에서 필요하다면 파일의 경로를 조정함
5) 백업본에서 DB 파라메터값을 읽어들인 후, 다시 리스토어 작업을 하는데 이때도 동일한 백업본을 지정하면 됨
6) 복구가 완료되면 몇가지 에러가 뜨면서 인스턴스가 기동되는데 이것은 system table들의 업그레이드가 되지 않아서 발생하는 현상임. 사이드 메뉴에서 configuration --> Upgrade system tables를 선택하면 되나, superdba 패스워드 설정이 필요함으로 다음 작업을 수행
7) 메뉴에서 intance --> command line 선택
   user_put superdba password=admin (에러가 발생하나 무시할 것)

   커맨드 창에서는 다음과 같이 작업함
   dbmcli -d SDB -u control,control
   dbmcli on SDB>user_put superdba password=admin
   
8) 사이드 메뉴에서 configuration --> Upgrade system tables 수행, 수행시 ID/Password는 위에서 설정한 sueprdba/admin 입력


4. 7.8 업그레이드 및 64비트 전환
- MaxDB의 Catalog DB가 7.7부터 유니코드로 변경이 되어 업그레이드가 이루어지지 않음. 업그레이드를 위하여 catlog DB의 유니코드 변경 작업 수행

1) DB를 offline으로 변경
2) 메뉴 --> Instance --> command line 실행 후 아래 명령 실행
   db_migratecatalog
3) 7.8 installer 실행 후 업그레이드를 실시
4) 업그레이드 종료 후 백업을 수행해서 신규 서버 환경으로 백업 파일을 이관하여 시스템을 복구함.
    32bit 백업본으로 64bit 환경 복구 가능함

Content Repository 설정 관련 참고 사항
MaxDB 7.8에서는 ODBC 드라이버 이름이 기존 livecache/maxdb와 같이 등록이 되는 게 아니라, sap max db <SID>와 같은 형태로 등록이 됨으로 반드시 ODBC 드라이버 이름을 시스템에서 확인한 후 content repository의 driver 설정에 동일한 이름을 써주도록 한다.