-
Optimal Flexible Architecture Standard (최적 유연 아키텍처 표준)DB 스터디/Database Documentation 2026. 7. 8. 16:53
최적 유연 아키텍처(OFA) 표준
Oracle 최적 유연 아키텍처(OFA) 규칙은 데이터베이스 소프트웨어를 체계적으로 구성하고, 서로 다른 버전의 데이터베이스가 여러 사용자에 의해 소유되더라도 공존할 수 있도록 설정하는 데 도움을 준다.
이전 Oracle Database 릴리스에서는 OFA 규칙이 단편화를 분리하고 경합을 최소화하여 최적의 시스템 성능을 제공하였다. 현재 릴리스에서는 OFA 규칙이 데이터베이스 관리와 지원의 일관성을 제공하며, 데이터베이스 확장이나 추가, 하드웨어 증설을 단순화한다.
기본적으로 Oracle Universal Installer는 OFA 규칙을 준수하는 디렉터리 위치와 권한에 Oracle Database 구성 요소를 배치한다. Oracle은 모든 Oracle 구성 요소를 OFA 지침에 따라 설정할 것을 권장한다. 특히 데이터베이스가 크거나 여러 데이터베이스를 운영할 계획이 있다면 OFA 기본값을 따르는 것이 큰 도움이 된다.
Oracle Inventory 디렉터리와 설치에 대하여
Oracle Inventory 디렉터리(oraInventory)는 시스템에 설치된 모든 소프트웨어의 인벤토리를 저장하는 디렉터리이다. 서버의 모든 Oracle 소프트웨어 설치 소유자는 이 디렉터리에 읽기 및 쓰기 권한을 갖는 OINSTALL 권한을 부여받는다. 서버에 기존 Oracle 소프트웨어 설치가 있는 경우, 추가 설치는 /etc/oraInst.loc 파일을 통해 해당 디렉터리를 감지하고 동일한 Oracle Inventory를 사용한다. 따라서 OINSTALL 그룹이 모든 Oracle 소프트웨어 설치 소유자의 기본 그룹으로 지정되어 있어야 한다.
Oracle 소프트웨어를 처음 설치하는 경우, OUI(Oracle Universal Installer)는 Oracle Base와 중앙 인벤토리를 생성하며, 다음 우선순위에 따라 Oracle Inventory를 만든다.
- 설치 소유자 계정의 ORACLE_BASE 환경 변수에 지정된 경로
- OFA(Optimal Flexible Architecture) 경로(u[01–99]/app/owner, 여기서 owner는 설치를 실행하는 사용자 계정)
- 사용자 홈 디렉터리의 /app/owner 경로
예를 들어, Oracle Database 설치 시 사용자 oracle의 ORACLE_BASE를 /u01/app/oracle로 설정하고 해당 경로에 755 권한을 부여하면, OUI는 ORACLE_BASE 바로 위 경로에 Oracle Inventory 디렉터리를 생성한다.
즉, /u01/app/oraInventory가 된다. 소프트웨어는 ORACLE_BASE 경로에 설치된다.
Oracle Grid Infrastructure를 클러스터용으로 설치하는 경우, 설치 후 Grid 경로의 소유권은 root로 변경되며, Grid Home 소프트웨어 위치는 Grid Base와 다른 경로에 있어야 한다.
예를 들어:
- /u01/app/oraInventory → grid:oinstall 소유
- /u01/app/oracle → oracle:oinstall 소유
- /u01/app/oracle/product/19.0.0/dbhome_1/ → oracle:oinstall 소유
- /u01/app/grid → grid:oinstall 소유
- /u01/app/19.0.0/grid → root 소유
만약 ORACLE_BASE를 설정하지 않았거나 OFA 규칙에 맞는 경로를 만들지 않았다면, Oracle Inventory 디렉터리는 설치를 수행하는 사용자의 홈 디렉터리에 생성된다.
이 경우 Oracle 소프트웨어는 /app/owner 경로에 설치된다.
예시:
- /home/oracle/oraInventory
- /home/oracle/app/oracle/product/19.0.0/dbhome_1
Oracle Base 디렉터리 명명 규칙
Oracle Base 디렉터리는 Oracle Database 설치 소유자의 데이터베이스 홈 디렉터리이며, Oracle Grid Infrastructure 소유자의 로그 파일 위치이다.
Oracle Base 디렉터리 이름은 /pm/h/u 형식을 사용한다.
여기서 pm은 마운트 포인트 이름 문자열, h는 표준 디렉터리 이름 집합에서 선택된 값, u는 디렉터리 소유자의 이름이다.
하나의 Oracle Base 디렉터리를 여러 설치에서 사용할 수 있다. 그러나 서로 다른 운영 체제 사용자가 동일한 시스템에 Oracle 소프트웨어를 설치하는 경우, 각 설치 소유자마다 별도의 Oracle Base 디렉터리를 생성해야 한다. 관리 편의를 위해 Oracle은 각 설치 소유자마다 고유한 계정을 생성하여 로그 파일을 분리할 것을 권장한다.
모든 Oracle 설치 소유자는 중앙 Oracle 인벤토리 파일에 기록을 남기며, 해당 파일의 마운트 포인트는 최초 Oracle 설치와 동일한 경로에 위치한다. 따라서 Oracle은 모든 설치 소유자에게 동일한 /pm/h 경로를 사용할 것을 권장한다.
OFA 규칙에 따른 Oracle Base 디렉터리 예시
예시 경로 설명 /u01/app/oracle Oracle Database Oracle Base이다. 설치 소유자 이름은 oracle이며, Oracle Database 바이너리 홈은 Oracle Base 경로 아래에 위치한다. /u01/app/grid Oracle Grid Infrastructure Oracle Base이다. 설치 소유자 이름은 grid이다. 단, Grid Infrastructure Oracle Base에는 Grid Infrastructure 바이너리를 포함해서는 안 된다. 설치 과정에서 Grid Home 바이너리 경로의 권한은 root로 변경된다. Oracle Home 디렉터리 명명 규칙
기본적으로 Oracle Universal Installer는 Oracle Optimal Flexible Architecture(OFA) 규칙을 사용하여 Oracle Home 디렉터리를 구성한다.
Oracle Home 디렉터리의 경로 패턴은 다음과 같다: /pm/s/u/product/v/type_[n]
변수 설명
- pm: 마운트 포인트 이름
- s: 표준 디렉터리 이름
- u: 디렉터리 소유자의 이름
- v: 소프트웨어 버전
- type: 설치 유형 (예: Database → dbhome, Client → client, Oracle Grid Infrastructure → grid)
- n: 선택적 카운터. 동일한 Oracle Base 디렉터리에 동일 제품을 여러 번 설치할 수 있도록 한다. 예: dbhome_1, dbhome_2
예시
Oracle Database를 처음 설치하는 경우 일반적인 경로는 다음과 같다:
/u01/app/oracle/product/19.0.0/dbhome_1
OFA 파일 경로 예시
Optimal Flexible Architecture(OFA) 규칙을 준수하는 설치의 계층적 파일 매핑 예시는 다음과 같다.
주의 사항
- Grid Home은 단일 서버 배포(Oracle Restart) 또는 클러스터 배포(Oracle Clusterware)에 사용되는 Oracle Grid Infrastructure 설치 예시이다. Oracle Restart와 Oracle Clusterware는 동시에 배포할 수 없다.
- Oracle ASM(Automatic Storage Management)은 Oracle Grid Infrastructure 설치의 일부로 포함된다. Oracle은 더 높은 중복성과 처리량을 위해 ASM 사용을 권장한다.
경고
Oracle Base, Oracle Home, OraInventory와 같은 OFA 디렉터리 구조 아래에는 개인 파일이나 애플리케이션 파일을 두지 말아야 한다.
OFA 계층적 파일 경로 예시
디렉터리 설명 / 루트 디렉터리 /u01/ 사용자 데이터 마운트 포인트 1 /u01/app/ 애플리케이션 소프트웨어 서브트리 /u01/app/oraInventory 중앙 OraInventory 디렉터리. 서버의 Oracle 설치 정보를 유지하며, OINSTALL 그룹 구성원이 쓰기 권한을 가진다. /u01/app/oracle/ 사용자 oracle의 Oracle Base 디렉터리. 여러 Oracle Database 설치와 소유자가 존재할 수 있다. /u01/app/grid 사용자 grid의 Oracle Base 디렉터리. Grid Home은 Grid 사용자 외부에 위치하며, 서버에는 하나의 Grid Home만 존재할 수 있다. /u01/app/oracle/admin/ 데이터베이스 관리 파일 서브트리 /u01/app/oracle/admin/TAR 지원 로그 파일 서브트리 /u01/app/oracle/admin/db_sales/ “sales” 데이터베이스 관리 서브트리 /u01/app/oracle/admin/db_dwh/ “dwh” 데이터베이스 관리 서브트리 /u01/app/oracle/fast_recovery_area/ 복구 파일 서브트리 /u01/app/oracle/fast_recovery_area/db_sales “sales” 데이터베이스 복구 파일 /u01/app/oracle/fast_recovery_area/db_dwh “dwh” 데이터베이스 복구 파일 u02/app/oracle/oradata Oracle 데이터 파일 디렉터리 /u03/app/oracle/oradata Oracle 데이터 파일 디렉터리 /u04/app/oracle/oradata Oracle 데이터 파일 디렉터리 /u01/app/oracle/product/ Oracle 소프트웨어 제품 공통 경로 (클러스터용 Grid Infrastructure 제외) /u01/app/oracle/product/19.0.0/dbhome_1 Oracle Database 1의 Oracle Home 디렉터리 (소유자: oracle) /u01/app/oracle/product/19.0.0/dbhome_2 Oracle Database 2의 Oracle Home 디렉터리 (소유자: oracle) /u01/app/oracle2/product/19.0.0/dbhome_2 Oracle Database 2의 Oracle Home 디렉터리 (소유자: oracle2) /u01/app/oracle/product/19.0.0/grid 단일 서버용 Oracle Grid Infrastructure Oracle Home (소유자: oracle) /u01/app/19.0.0/grid 클러스터용 Oracle Grid Infrastructure Oracle Home.
설치 전에는 grid 사용자 소유, 설치 후에는 root 소유로 변경된다./u01/app/oracle/product/19.0.0/client_1 Oracle Database Client 1의 Oracle Home 디렉터리 (소유자: oracle)
'DB 스터디 > Database Documentation' 카테고리의 다른 글
Oracle Linux 8 udev (0) 2026.07.09 19c RAC 설치 체크리스트 및 설치 절차 (0) 2026.07.09 19c Oracle Database 설치 후속 작업 (0) 2026.07.08 19c Oracle Database 설치 (0) 2026.07.08 19c Grid Infrastructure for a Standalone Server 설치 및 구성 (0) 2026.07.08