Almost-Native

오라클 데이터베이스 업그레이드 (In-place Upgrade vs Out-of-place Upgrade) 본문

Java 프로그램 개발, IT

오라클 데이터베이스 업그레이드 (In-place Upgrade vs Out-of-place Upgrade)

2021. 6. 26. 08:21

오라클 데이터베이스 버전을 업그레이드 하고자 할때, 다음의 2가지 방식이 있습니다.

 

In-place Upgrade :  Oracle Home 디렉토리 위치를 바꾸지 않고 여기에서 바로 업그레이드 하는 방식
Out-of-place Upgrade : 기존 Oracle Home 디렉토리를 건들지 않고 새로운 Oracle Home 디렉토리를 만드는 방식
   ※ 오라클 데이터베이스는 업그레이드시 Out-of-place 방식을 권고하고/지원합니다.

 

과거에는 Oracle Database 버전업 한다고 하면, 보통 In-place 방식을 사용했었습니다. Oracle Home 위치가 바뀌지 않았죠~

하지만, 11gR2 버전부터인가 대부분 Out-of-place 방식으로 바뀌었습니다.

패치 적용하는 경우에만 In-place 방식을 사용합니다.

 

아래는 DBUA 라는 Database Upgrade Assistant 툴을 사용해서 12c DB를 18c 로 업그레이드하는 GUI 화면입니다.

Oracle Home 디렉토리 위치가 .../12.1.0.2/dbhome_1 에서 .../product/18.1 로 바뀌는 것을 확인할 수 있습니다.

 

 

In-place 업그레이드 방식에 비해 Out-of-place 업그레이드 방식의 장점은 기존 Oracle Home 을 건들지 않는다는 것입니다. 여차하면 Back 하기가 쉽다는 얘기죠~ (사고의 위험을 줄일 수 있습니다.)

물론, 추가적인 Disk 공간이 필요한 단점도 있습니다.

 

11gR2 이후로, 12c, 18c, 19c, 21c ... 등등  현재는 오라클은 업그레이드시 기본적으로 Out-of-place 방식의 업그레이드를 권고하고 있습니다.

따라서 일단 업그레이드 한다고 하면 Oracle Home 디렉토리 위치는 바뀔거라는 것을 항상 염두에 둬야 합니다.

물론, 서버를 통째로 바꾸는 마이그레이션(Migration) 방식이라면 ... ㅎㅎ 그럼 얘기가 달라지죠~

 

일반적으로 DB에 접속하는 어플리케이션들은 SQL*Net 이나 JDBC 등을 통해서 DB에 접근하기 때문에 Oracle Home 디렉토리가 뭐가 되었든 아무 상관이 없습니다.

하지만, Oracle DB 서버내에서 Pro*C 등으로 만든 배치프로그램 등을 돌리는 경우에는 Oracle Home 디렉토리에 영향을 받기 때문에 이런 경우에는 수정후 재컴파일해(Recompile) 줄 필요가 있습니다.

 

Comments