Oracle 10g Install 설치 후(DBCA생성 전) -> Upgrade(10.2.0.4) -> DB설치(DBCA) -> Upgrad(10.2.0.5) [RHEL5]

   

1.오라클 현재 버전 확인

   

1-1 Dbupgdiag.sql

   

   

1-2 dbupgdiag.sql 실행 및 버전 확인

  • 간단하게 sqlplus "/as sysdba" 나 select * from v$version 을 통해서 알아 볼 수 도 있다.
  • 해당 스크립트를 사용하는 이유는 현재 버전에 대한 정보와, 그 후에 버전의 번화를 확인할 때 편리하기 때문이다.

       

   

   

2.기존에 존재하던 패치파일 삭제

   

   

3.10.2.0.5 패치파일 준비

   

   

4.패치를 하기 전에 리스너와 DB를 정지시킨다.

  • 정지하지 않을 경우 중간에 프로세스를 중지하라는 에러가 발생하게 됨.

   

   

5.10.2.0.5 패치 파일 실행

   

   

   

5-1 패치 할 Oracle Home 지정

   

   

5-2 오라클 서포터를 받을 건지에 대한 선택

   

   

5-3 해당 패치파일 설치에 필요한 요구 값들 체크

   

<에러 발생1>

  • 커널 파라미터 값에 대한 에러발생

       

   

Checking the Components installed in Oracle Home

Check complete. The overall result of this check is: Passed

=======================================================================

   

Checking for Oracle Home incompatibilities ...

Check complete. The overall result of this check is: Passed

=======================================================================

   

Checking kernel parameters

Checking for semmsl=250; found semmsl=250.        Passed

Checking for semmns=32000; found semmns=32000.        Passed

Checking for semopm=100; found semopm=100.        Passed

Checking for semmni=128; found semmni=128.        Passed

Checking for shmmax=1073741824; found shmmax=536870912.        Failed <<<<

Checking for shmmni=4096; found shmmni=4096.        Passed

Checking for shmall=2097152; found shmall=2097152.        Passed

Checking for file-max=101365; found file-max=65536.        Failed <<<<

Checking for VERSION=2.6.18; found VERSION=2.6.18-194.el5.        Passed

Checking for ip_local_port_range=9000 - 65500; found ip_local_port_range=1024 - 65000.        Failed <<<<

Checking for rmem_default=1048576; found rmem_default=262144.        Failed <<<<

Checking for rmem_max=1048576; found rmem_max=262144.        Failed <<<<

Checking for wmem_default=262144; found wmem_default=262144.        Passed

Checking for wmem_max=262144; found wmem_max=262144.        Passed

Check complete. The overall result of this check is: Failed <<<<

Problem: The kernel parameters do not meet the minimum requirements (see above).

Recommendation: Perform operating system specific instructions to update the kernel parameters.

  

  

   

<에러 해결1>

  • 에러가 발생한 파라미터 값들을 해당 패치가 원하는 값의 크기로 변경하여 적용

       

# Vi /etc/sysctl.conf

파일 위치

   

   

<에러 발생2>


<에러 해결2>

  • 10g는 기본적으로 물리적 메모리를 1GB 이상 요구한다. 그러나, 실제 시스템에서는 2GB 이상의 메모리를 장착하므로 기본적으로 Passed로 나오게 된다. 512MB인 경우에도, swap이 충분하면 설치가 가능하며 DB 생성, 운영이 가능하다.
  • 넘어가도 설치하는 것에는 이상이 없음(정확한 이유를 잘모르겠음)

   

5-4 패치 요약

   

   

5-5 패치 설치

   

   

5-6 스크립트 실행(Root계정)

   

   

   

5-7 패치 설치완료

   

   

<에러 발생3>

  • 패치 후에 DB를 시작하게 되면 다음과 같은 에러가 발생한다.

       

   

   

  • 오라클 10g 패치 후(10.2.0.4 -> 10.2.0.5)  

    startup 명령어로 DB를 open 하려고 할 때,

    ORA-01092: ORACLE instance terminated. Disconnection forced 에러 발생

       

  • 발생 원인

    오라클 엔진만 패치되고 DB에 패치가 제대로 적용되지 않았을 경우

   

   

7.Post Upgrade

   

  • 해당 작업은 DB를 이미 사용하고 있는 경우에 작업, 즉 DB가 설치되어 있지 않은 경우에는 하지 않아도 된다.(소프트웨어만 설치되었을 경우)
  • 패치 작업이 끝난 후에는 Post Upgrade 작업을 진행
  • 주 작업 내용은 DB 파라미터 값을 수정.

   

6-1

   

SQL> startup upgrade

(SQL> startup migrate)

두 개 중 1개만 사용

SQL> select status from v$instance;

현재 상태확인

   

   

   

   

6-2

SQL> @?/rdbms/admin/catupgrd.sql

엔진을 따라서 DB에 버젼 패치 적용.

   

   

   

6-3

SQL> shutdown

  

SQL> startup

  

SQL> @?/rdbms/admin/utlrp.sql

// Invalid PL/SQL package를 compile 하는 단계

   

   

   

7.패치완료 확인

  • 현재까지 무사히 왔다면, 패치가 완료되었을 것임.
  • 마지막으로 패치가 잘 되었는지를 확인해야 함.
  • 현재 DB 버전확인
  • 현재 DB 상태확인
  • 데이터베이스 중요 데이터파일들이 존재하고, 잘 적용이 되는지 확인한다.
  • Dbupgdiag.sql를 통하여 현재 데이터베이스의 패치 상태를 확인한다.(아래 참고)

       

   

7-1 dbupgdiag.sql 패치완료 확인

  • 스크립트 실행후, 해당 로그 파일을 천천히 보면서 패치가 잘 적용되었는지 확인한다.

   

   

   

   

   

원본 위치 <http://web3.c2.cyworld.com/myhompy/board/retrieveBoard.php?home_id=a3177717&lmenuSeq=499037&smenuSeq=834741&postSeq=6952833&referrer=http%3A%2F%2Fwww.cyworld.com%2FBC83%2F6952833>

원본 위치 <http://blog.naver.com/PostView.nhn?blogId=thesot&logNo=70126892070&beginTime=0&jumpingVid=&from=search&redirect=Log&widgetTypeCall=true&topReferer=http%3A%2F%2Fsearch.naver.com%2Fsearch.naver%3Fsm%3Dtab_hty.top%26where%3Dnexearch%26ie%3Dutf8%26query%3Dora-01092%26x%3D0%26y%3D0>

원본 위치 <http://www.saybox.co.kr/bbs/board.php?bo_table=board04&wr_id=1>

블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,




Oracle 10g Upgrade 10.2.0.1-> 10.2.0.4
(DB생성된 후 패치)


1. 현재 DB상태확인

   

   

  • 현재 데이터베이스의 중요한 데이터에 대해서 백업실행
  • 현재 데이터베이스 버전을 확인
  • 패치를 위해서 DB를 내려도 되는 상황인지 확인
  • 현재 데이터베이스가 사용하는 DB가 있는지를 확인(DB 설치되어 있을 경우와 소프트웨어만 설치되어 있는 경우)

   
2. Oracle Patch File   

  • 메타링크를 통해 해당 패치파일 다운로드(https://support.oracle.com)
  • 패치 파일을 선택할 때 패치버전, 해당 OS의 종류를 정확히 확인하고 다운로드 해야 한다.

       

             2-1 Patch 준비

  • 해당 패치파일을 넣어주고, zip을 풀어준다.

       

# Su - oracle

해당 오라클 유저상태에서 패치를 설치함.

$ unzip "해당 패치파일"

  

   

   

   
3. Patch Install   

  • GUI형태의 설치를 하기 위해서 Xhost를 선언한다.
  • 그리고 오라클 유저로 돌아와서 해당 설치 프로그램을 실행 시킨다.
  • 설치 단계는 이전에 오라클 설치와 크게 다른 점이 없기 때문에 별도에 설명은 없다.

       

       

   

   

   

   

<에러발생 1>

  • Client_sharedlib~ 에러가 발생하게 되면, 현재 OS나 오라클 버전에 맞지 않는 패치 파일을 설치하게 되면 이러한 에러가 발생한다.
  • 이 같은 경우, 현재 OS와 오라클 버전에 맞는 패치파일을 다시 다운 받아 설치해야 한다.
  • 설치중간에 에러가 발생하여, 기존의 데이터베이스가 작동하지 않을 수도 있다.
  • 결론적으로 정확한 패치파일을 사용해야 함.

       

       

       <에러발생 2>

   

   

  • 위의 에러는 설치 하기전에 오라클을 제대로 정지하지 않아서 발생하는 에러이다.
  • 리스너의 정지, 데이터베이스의 정지

       

       

       

  • 정지 후에도 해당 에러가 발생할 경우에는 오라클 프로세스 정지시킨다.(다시 실행 시 : emctl start agent)

       

       

  • 이렇게 했음에도 않 될경우는 OS를 ReStart시켜라.

       

   

   

   

  • 오라클 설치 때와 마찬가지로 루트권한으로 해당 Script를 실행해준다.

       

   

   

  • 해당 오라클 버전이 변경된 것을 확인할 수 있다.

       

   
4. Post Upgrade 작업
 

  • 해당 작업은 DB를 이미 사용하고 있는 경우에 작업, 즉 DB가 설치되어 있지 않은 경우에는 하지 않아도 된다.(소프트웨어만 설치되었을 경우)
  • 패치 작업이 끝난 후에는 Post Upgrade 작업을 진행
  • 주 작업 내용은 DB 파라미터 값을 수정.

       

    4-1단계

       

SQL> startup upgrade

(SQL> startup migrate)

두 개 중 1개만 사용

SQL> select status from v$instance;

  

   

   

   

4-2단계

   

SQL> @?/rdbms/admin/catupgrd.sql

엔진을 따라서 DB에 버젼 패치 적용.

   

   

   

4-3단계

   

SQL> shutdown

  

SQL> startup

  

   

   

4-4단계

   

SQL> @?/rdbms/admin/utlrp.sql

// Invalid PL/SQL package를 compile 하는 단계

   

   

   

   

4-5단계

   

  • 현재까지 무사히 왔다면, 패치가 완료되었을 것임.
  • 마지막으로 패치가 잘 되었는지를 확인해야 함.
  • 현재 DB 버전확인
  • 현재 DB 상태확인
  • 데이터베이스 중요 데이터파일들이 존재하고, 잘 적용이 되는지 확인한다.
  • Dbupgdiag.sql를 통하여 현재 데이터베이스의 패치 상태를 확인한다.(아래 참고)

       

 
5. Dbupgdiag.sql
 

   

   

  • 해당 스크립트를 통하여 다양한 로그정보들을 확인할 수 있고, 해당 버전에 대한 변경을 확인할 경우 간단하게 SQL문을 통하여 확인할 수 있다.

       

Select * from dba_registry;

  

   

   

참고자료

원본 위치 <https://support.oracle.com>

원본 위치 <https://updates.oracle.com/Orion/Services/download?type=readme&aru=7276814>

원본 위치 <http://web3.c2.cyworld.com/myhompy/board/retrieveBoard.php?home_id=a3177717&lmenuSeq=499037&smenuSeq=834741&pageNo=1&postSeq=6939315&view=summary&menu=smenu>

블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,