2009년 3월 11일 수요일

8.1.6 DB Upgrade Script

* Target hostname: hjtour
* Target DB Name: hjmall, hjmat, hjrtc
* Oracle Login User: oracle4

* Oracle Home
- Oracle 8.1.6 Home(Source): /oracle4/app/oracle/product/816
- Oracle 8.1.6 Home(Target): /oracle4/app/oracle/product/817

* 엔진 위치
- Oracle 8.1.6 엔진 백업: /backup/DBUpgrade/oracle816_bak
- Oracle 8.1.7 엔진 임시 위치: /backup/DBUpgrade/oracle8174_temp

* Manual Upgrade Scripts
/backup/DBUpgrade/scripts/HJMALL/1.sql ~ 45.sql
/backup/DBUpgrade/scripts/HJMAT/1.sql ~ 45.sql
/backup/DBUpgrade/scripts/HJRTC/1.sql ~ 45.sql

* 준비 사항
- begin backup & end backup 스크립트 작성
Begin Backup Script: /backup/DBUpgrade/scripts/begin_backup.sh
End Backup Script: /backup/DBUpgrade/scripts/end_backup.sh
- 원복 시나리오 준비
1) 백업되는 컨트롤 파일, 데이터 파일, 리두 로그 파일, 아카이브 로그 디렉토리 결정
2) 원복 용도의 init.ora 파일 미리 작성
3) 원복 시 수행할 db file rename 스크립트 준비








< 사전 작업 #1 – 기존 엔진 백업 및 8.1.7 엔진 구축 작업 >
순서 대상 설명 작업 스크립트
1 21
(telnet) 서버 로그인 [ Login 21 svr oracle4 user ] (select any instance)
2 21
(telnet) 8.1.6 엔진 백업 cd /backup/DBUpgrade
mkdir oracle816_bak
cd oracle816_bak
cp –r /oracle4 ./
2 21
(telnet) 8.1.7 엔진용 임시 저장 디렉토리 생성. 해당 디렉토리로 이동 cd /backup
mkdir DBUpgrade
cd DBUpgrade
mkdir oracle8174_temp
cd oracle8174_temp
3 21
(ftp) oracle 8.1.7 엔진을 ftp를 통해 다운로드 ftp 172.16.201.61
[ id/pw: oracle/oracledba ]
bin
cd /ims/backup/UPGRADE
get oracle8174_aix.tar.Z
quit
4 21
(telnet) 엔진 압축 해제 zcat oracle8174_aix.tar.Z | tar -xvf -
5 21
(telnet) 8.1.7 홈의 내용을 oracle 파일 시스템에 복사 cd /backup/DBUpgrade/oracle8174_temp/oracle/app/oracle/product
cp –r 817 /oracle4/app/oracle/product
6 21
(telnet) 현 OS 유저 환경 설정 파일을 8.1.7 홈에 복사
(.profile, .alias) cp $ORACLE_HOME/.profile /oracle4/app/oracle/product/817
cp $ORACLE_HOME/.alias /oracle4/app/oracle/product/817
7 21
(telnet) 현 DB 관련 설정 파일들을 8.1.7 홈에 복사
(orapwd, init) cp $ORACLE_HOME/dbs/orapwd* /oracle4/app/oracle/product/817/dbs
cp $ORACLE_HOME/dbs/init*.ora /oracle4/app/oracle/product/817/dbs
8 21
(telnet) 현 DB 관련 네트웍 관련 파일을 8.1.7 홈에 복사
(listener, tnsnames) cd /oracle/app/oracle/product/817/network/admin
cp $ORACLE_HOME/network/admin/tnsnames.ora ./
cp $ORACLE_HOME/network/admin/listener.ora ./


< 사전 작업 #2 – 파라미터 파일 변경 작업 >
순서 대상 설명 작업 스크립트
1 21
(telnet) [ Login 21 svr oracle4 user ] ( select HJMALL instance )
2 21
(telnet) 8.1.7 홈의 OS 설정 파일에 대해 수정(.profile, .alias) cd /oracle4/app/oracle/product/817
vi .profile (이전 8.1.6 Oracle Home을 가리키는 경로를 8.1.7 로 변경)
#export ORACLE_HOME=$ORACLE_BASE/product/816
export ORACLE_HOME=$ORACLE_BASE/product/817
vi .alias (8.1.6 Oracle Home을 가리키는 경로를 8.1.7 로 변경)
3 21
(telnet) 8.1.7 홈의 init.ora 에 대해 복제본 생성 cd dbs
cp initHJMALL.ora initHJMALL.ora_org
cp initHJMAT.ora initHJMAT.ora_org
cp initHJRTC.ora initHJRTC.ora_org
4 Migration을 위한 init.ora 수정. [ Edit init.ora file for migration ]
vi /oracle4/app/oracle/product/817/dbs/initHJMALL.ora
vi /oracle4/app/oracle/product/817/dbs/initHJMAT.ora
vi /oracle4/app/oracle/product/817/dbs/initHJRTC.ora
## Commented out Prameters
# job_queue_processes = 0
# aq_tm_processes = 0
## Added Paramters
_system_trig_enable = false
optimizer_mode = rule
5 listener.ora 의 ORACLE_HOME 항목 변경 vi /oracle4/app/oracle/product/817/network/admin/listener.ora
(ORACLE_HOME = /oracle4/app/oracle/product/816)
 (ORACLE_HOME = /oracle4/app/oracle/product/817)







< 사전 작업 #3 –DB 파일 백업 작업 >
순서 대상 설명 작업 스크립트
1 21
(telnet) 서버 로그인 [ Login 21 svr oracle4 user ] ( select HJMALL instance )
3 21
(telnet) 관련 DB(HJMALL) Hot 백업 모드로 전환 cd /backup/DBUpgrade/scripts
export ORACLE_SID=HJMALL
begin_backup.sh
4 21
(telnet) 데이터 파일 백업 cd /mall02
mkdir /mall02/HJMALL_BAK
cd HJMALL_BAK
cp –r /mall01/HJMALL/indx /mall02/HJMALL_BAK
cp –r /mall01/HJMALL/sysdata /mall02/HJMALL_BAK
cp –r /mall02/HJMALL/data /mall02/HJMALL_BAK
5 21
(dbms) 컨트롤 파일 백업 sqlplus '/ as sysdba'
alter database backup controlfile to '/backup/HJMALL_BAK/control01.ctl'
exit
cp control01.ctl control02.ctl
cp control01.ctl control03.ctl
6 21
(telnet 관련 DB(HJMALL) Normal 모드로 전환 cd /backup/DBUpgrade/scripts
end_backup.sh













< 업그레이드 작업 – 8.1.6  8.1.7 Manual Upgrade : HJMALL >

순서 DB Ver 작업 스크립트
0 8.1.6 Manual 실행 업그레이드 스크립트 다운로드 cd /backup/DBUpgrade/scripts
mkdir HJMALL
cd HJMALL
ftp 172.16.201.61
[ id/pw: oracle/oracledba ]
cd /ims/backup/UPGRADE/
get upgrade_scripts.tar
quit
tar xvf upgrade_scripts.tar
1 8.1.6 Backup 수행
(DB 및 Engine 백업)
(1) Oracle 데이터 파일 백업
(2) Oracle 엔진 백업 (위 사전 작업으로 추가 작업 필요 없음)
2 8.1.6 필수 OS Patch 검사 -
3 8.1.6 필수 Kernel 파라미터 검사 -
4 8.1.6 ORACLE_HOME, SID 확인 04.sh
5 8.1.6 DBMS Version과 Option 검토 svrmgrl

05.sql
exit
6 8.1.6 svrmgrl 수행 svrmgrl
connect internal
7 8.1.6 DB Character Set 검토 07.sql
8 8.1.6 딕셔너리 손상 체크 08.sql
9 8.1.6 Valid 하지 않는 object 확인 09.sq
10 8.1.6 - -
11 8.1.6 Snapshot refresh 완료 확인 11.sql
(존재 시 작업이 완료 때 까지 기다리거나 중지 시켜야 함)
exit
12 8.1.6 리스너 중지 lsnrctl stop
13 8.1.6 복구 파일 존재 여부 확인 svrmgrl
connect internal
13.sql
(복구 해야 하는 파일이 없어야 함. 존재한다면 복구 해야 함)
14 8.1.6 백업 모드가 아닌 파일 확인 14.sql
(백업 모드인 파일이 없어야 함. 백업 모드를 종료 해야 함)
15 8.1.6 미해결 분산 트랜잭션 확인 15.sql
(존재할 경우 해소 해야 함)
16 8.1.6 ( 해당 사항 없음 ) -
17 8.1.6 모든 Batch와 Cron 비활성화 -
18 8.1.6 SYSTEM 롤백 세그먼트 준비 18.sql
19 8.1.6 SYSTEM 테이블 스페이스 공간확인 19.sql
(50 MB 이상 필요)
20
21 8.1.6 sys, system 유저의 기본 TBS 확인 20.sql
( 모두 SYSTEM 이어야 함. 그렇지 않으면 21.sql 수행 )
22 8.1.6 AUD$ 테이블 기본 TBS 확인 22.sql
(SYSTEM 이어야 함)
23 8.1.6 v$controlfile 의 내용 기록 23.sql
24 8.1.6 v$pwfile_users 의 내용 기록 24.sql
25-1 8.1.6 DB Shutdown shutdown immediate
exit
25-2 8.1.6 archive log, redo log 파일을 백업 위치에 복사
26 init.ora 수정 (위 사전 작업으로 추가 작업 필요 없음)
27 Archive 파일 시스템 확인 df –k /arch
28 NLS_LANG 확인 echo $NLS_LANG
29 listener.ora, tnsnames.ora 복사 (위 사전 작업으로 추가 작업 필요 없음)
30 (해당 사항 없음) -
31 (해당 사항 없음) -
32 (해당 사항 없음) -
33 8.1.7 새로운 DB 홈의 .profile 수행 /oracle/app/oracle/product/817/. .profile
34 8.1.7 환경 변수 확인 34.sh 수행
35 8.1.7 업그레이드 스크립트 수행 svrmgrl
connect internal
startup restrict
35.sql
36 8.1.7 DB Shutdown SHUTDOWN IMMEIDATE
37 8.1.7 (replication 이용하지 않음) -
38 8.1.7 (replication 이용하지 않음)
39 8.1.7 utlrp 수행으로 패키지 컴파일 cd /backup/DBUpgrade/scripts/HJMALL
svrmgrl
connect internal
startup restrict
39.sql
exit
40 8.1.7 원래의 init.ora로 복원 cd $ORACLE_HOME/dbs
cp initHJMALL.ora_org initHJMALL.ora
41 8.1.7 데이터베이스 재 시작 svrmgrl
Connect internal
Shutdown
Startup
exit
42 8.1.7 listener.ora에 ORACLE_HOME 변경 (위 사전작업으로 추가 작업 필요 없음)
43 8.1.7 리스너 시작 lsnrctl start
44 8.1.7 Cron 과 Batch 잡 수행 -

댓글 없음:

댓글 쓰기