-
19c Grid Infrastructure 및 Oracle Database 사용자, 그룹 및 환경 구성DB 스터디/Database Documentation 2026. 7. 7. 12:59
- Oracle Inventory 및 Oracle Inventory 그룹 존재 여부 확인
- 기존 Oracle 중앙 Inventory가 있는지 확인하고, 모든 Oracle 소프트웨어 설치에서 동일한 Inventory를 사용해야 한다. 또한 설치에 사용할 모든 Oracle 소프트웨어 사용자가 해당 디렉터리에 쓰기 권한을 가지고 있어야 한다.
- 시스템에 처음 Oracle 소프트웨어를 설치할 때 OUI는 oraInst.loc 파일을 생성한다. 이 파일은 Oracle Inventory 그룹 이름(기본값: oinstall)과 Oracle 중앙 Inventory 디렉터리 경로를 지정한다.
- 이미 Oracle 중앙 Inventory가 존재한다면, 모든 Oracle 소프트웨어 설치에서 동일한 Inventory를 사용해야 하며, 설치 사용자들이 해당 디렉터리에 쓰기 권한을 가져야 한다.
확인 방법
- Oracle 중앙 Inventory 존재 여부 확인:
more /etc/oraInst.loc inventory_loc=/u01/app/oraInventory inst_group=oinstall - Oracle Inventory 그룹 존재 여부 확인:
$ grep oinstall /etc/group oinstall:x:54321:grid,oracle
주의사항
- 새로운 설치에서는 oraInventory 디렉터리를 Oracle Base 디렉터리 아래에 두지 말아야 한다. 그렇지 않으면 다른 설치에서 사용자 권한 오류가 발생할 수 있다.
Oracle Inventory 그룹 생성 (Inventory가 존재하지 않는 경우)
- oraInst.loc 파일이 없으면 Oracle Inventory 그룹을 생성해야 한다.
- OINSTALL 그룹의 구성원은 Oracle 중앙 Inventory에 쓰기 권한과 설치 사용자에게 필요한 시스템 권한을 가진다.
- Oracle 설치 소유자는 항상 oinstall 그룹을 기본 그룹으로 가져야 한다. 모든 설치 사용자 계정에서 이 그룹이 기본 그룹으로 설정되어 있어야 한다.
- 기본적으로 oraInst.loc 파일이 없고 Oracle 중앙 Inventory가 지정되지 않은 경우, 설치를 실행하는 사용자의 기본 그룹이 OINSTALL 그룹으로 지정된다.
그룹 생성 예시
/usr/sbin/groupadd -g 54321 oinstall주의사항
- Oracle Clusterware 설치에서는 그룹과 사용자 ID가 클러스터의 모든 노드에서 동일해야 한다.
- 클러스터 설치 소유자의 기본 그룹 이름과 그룹 ID가 모든 노드에서 일치하는지 반드시 확인해야 한다.
Oracle 설치 소유자 계정에 대하여
- 설치 시 사용할 Oracle 설치 소유자 계정을 선택하거나 생성해야 한다. 이는 그룹 및 사용자 관리 계획에 따라 달라진다.
- 다음과 같은 경우 소프트웨어 소유자를 반드시 생성해야 한다.
- 시스템에 Oracle 소프트웨어 소유자 계정이 존재하지 않는 경우(예: 최초 설치).
- 기존 Oracle 소프트웨어 소유자가 있지만, Oracle Grid Infrastructure 관리 권한과 Oracle Database 관리 권한을 분리하기 위해 다른 운영체제 사용자 계정을 사용하려는 경우.
- Oracle 문서에서 Grid Infrastructure 전용 설치 소유자는 grid 사용자라 부른다. 이 사용자는 Oracle Clusterware와 Oracle ASM 바이너리를 소유한다.
- 모든 Oracle 설치 또는 데이터베이스 설치를 소유하는 사용자는 oracle 사용자라 부른다.
- Grid Infrastructure 설치 소유자는 하나만 둘 수 있으나, 데이터베이스 설치 소유자는 여러 개 둘 수 있다.
Oracle 소프트웨어 소유자 그룹 요구사항
- 모든 Oracle 소프트웨어 소유자는 Oracle Inventory 그룹(oinstall)을 기본 그룹으로 가져야 한다.
- 데이터베이스 소프트웨어 소유자는 OSDBA 그룹을 반드시 가져야 하며, 필요 시 OSOPER, OSBACKUPDBA, OSDGDBA, OSRACDBA, OSKMDBA 그룹을 보조 그룹으로 가져야 한다.
Oracle 소프트웨어 설치 소유자 제약사항
- 여러 Oracle Database 홈을 위해 여러 소프트웨어 소유자를 사용할 경우, Grid Infrastructure 전용 소유자를 별도로 두는 것을 권장한다.
- 설치 시 클러스터 노드 간 SSH가 설정되어 있어야 한다. OUI가 자동으로 SSH를 설정할 수 있으려면 설치 소유자 계정의 프로필에 stty 명령이나 로그인 시 메시지를 출력하는 보안 설정이 없어야 한다. 그렇지 않으면 SSH를 수동으로 설정해야 한다.
- Oracle Database 또는 RAC를 설치할 경우, Grid Infrastructure와 Database 설치 소유자를 분리하는 것이 권장된다.
- 하나의 설치 소유자를 사용할 경우, 관리 작업을 수행할 때마다 $ORACLE_HOME 값을 변경해야 한다.
- 예:
-
$ export ORACLE_HOME=/u01/app/19.0.0/grid - 잘못된 $ORACLE_HOME 값으로 asmcmd, sqlplus, lsnrctl 등을 실행하면 오류가 발생한다. 단, Grid Infrastructure 홈에서 실행하는 srvctl은 예외로 $ORACLE_HOME 값에 영향을 받지 않는다.
- 모든 Oracle 소프트웨어 소유자는 동일한 중앙 Inventory 그룹(oinstall)을 기본 그룹으로 가져야 한다. 서로 다른 Inventory 그룹을 사용하면 중앙 Inventory가 손상될 수 있다.
Oracle 소프트웨어 소유자 계정 확인
- Oracle 소프트웨어를 처음 설치할 때는 최소 하나의 소프트웨어 소유자 계정을 생성해야 한다.
- 기존 계정을 사용할 경우, 해당 계정이 Oracle Inventory 그룹의 구성원인지 확인해야 한다.
예시:
$ grep "oinstall" /etc/group oinstall:x:54321:grid,oracle$ id oracle uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54323(oper),... $ id grid uid=54331(grid) gid=54321(oinstall) groups=54321(oinstall),54327(asmdba),54329(asmadmin),...주의사항
- Oracle Restart 설치에서는 grid 사용자가 반드시 racdba 그룹의 구성원이어야 한다.
grid 사용자를 위한 Oracle Base 디렉터리
- Oracle Grid Infrastructure 설치 시 Oracle Base 디렉터리는 ASM 및 Clusterware와 관련된 진단 로그와 관리 로그가 저장되는 위치이다.
- 일반적인 Oracle 설치에서는 Oracle Home이 Oracle Base 아래에 위치하지만, Grid Infrastructure 설치의 경우 다른 경로를 사용해야 한다. 이는 다른 Oracle 설치를 위한 Oracle Base 경로를 확보하기 위함이다.
- OUI가 Oracle Base 경로를 인식하려면 u[00-99][00-99]/app/user 형식이어야 하며, oinstall 그룹 구성원이 쓰기 가능해야 한다. (예: /u01/app/grid)
주의사항
- Oracle Home 또는 Oracle Base는 심볼릭 링크 아래에 위치해서는 안 되며, 루트 디렉터리까지의 부모 디렉터리도 심볼릭 링크여서는 안 된다.
Oracle Grid Infrastructure 소프트웨어용 Oracle Home 디렉터리
- Grid Home은 다른 Oracle 소프트웨어의 Oracle Home과는 다른 경로에 있어야 한다.
- OFA 규칙에 따라 /u01/app/19.0.0/grid와 같은 형식으로 생성하는 것이 권장된다.
- 설치 과정에서 Grid Home 경로의 소유권은 루트 사용자로 변경되며, 다른 사용자는 해당 경로에서 읽기, 쓰기, 실행을 할 수 없다.
- Grid Home을 잘못된 경로에 두면 다른 설치에서 권한 오류가 발생할 수 있다.
주의사항
- 클러스터 설치에서는 Grid Home을 Oracle Base 디렉터리나 설치 소유자의 홈 디렉터리 아래에 두어서는 안 된다.
- 단일 서버(Oracle Restart) 설치에서는 Database 설치용 Oracle Base 아래에 둘 수 있다.
Oracle Home 및 Oracle Base 디렉터리 생성
- 각 클러스터 노드에서 Grid Home과 Oracle Base 디렉터리를 수동으로 생성하는 것이 권장된다.
- 예시:
mkdir -p /u01/app/19.0.0/grid mkdir -p /u01/app/grid mkdir -p /u01/app/oracle chown -R grid:oinstall /u01 chown oracle:oinstall /u01/app/oracle chmod -R 775 /u01/
주의사항
- 클러스터 파일 시스템에 Grid Infrastructure 바이너리를 두는 것은 지원되지 않는다.
- RAC Home을 공유 OCFS2 위치에 설치하려면 최소 1.4.1 버전으로 업그레이드해야 한다.
- Grid Infrastructure는 각 노드에 로컬로 설치하는 것이 권장된다. 공유 Grid Home은 롤링 업그레이드를 방해하고 단일 장애 지점을 만든다.
Oracle 설치와 직무 역할 분리(Job Role Separation)
- 직무 역할 분리를 적용하려면 운영체제 권한을 부여하는 각 시스템 권한 집합마다 별도의 운영체제 그룹을 생성해야 한다.
Grid Infrastructure 직무 역할 분리
- Oracle ASM은 스토리지 계층 관리 권한을 위한 별도의 운영체제 그룹을 가진다.
- 이는 Oracle Database 운영체제 권한과 분리된다.
- Grid Infrastructure 설치 소유자는 Grid Infrastructure 바이너리 수정 권한을 가진다.
Database 직무 역할 분리
- 각 Oracle Database 설치는 해당 데이터베이스의 시스템 권한을 위한 별도의 운영체제 그룹을 가진다.
- 따라서 여러 데이터베이스를 클러스터에 설치할 수 있으며, 시스템 권한을 공유하지 않는다.
- 각 Oracle 소프트웨어 설치는 별도의 설치 소유자가 소유하여 Database 바이너리 수정 권한을 제공한다.
- 단, 어떤 Oracle 소프트웨어 소유자라도 모든 데이터베이스와 공유 Grid Infrastructure 리소스(ASM, VIP 등)를 시작하거나 중지할 수 있다.
- 직무 역할 분리 구성은 보안 강화를 위한 것이며, Clusterware 리소스 시작/중지 권한을 제한하지 않는다.
단일 사용자 및 그룹 사용 옵션
- 하나의 관리 사용자와 하나의 그룹을 생성하여 모든 시스템 권한을 부여할 수도 있다.
- 예: oracle 사용자를 모든 Oracle 소프트웨어 설치 소유자로 지정하고, oinstall 그룹을 모든 시스템 권한(OSDBA, OSASM, Clusterware, ASM, Database 권한 등)을 부여받는 그룹으로 지정한다.
- 이 그룹은 반드시 Oracle Inventory 그룹이어야 한다.
최소 그룹 구성 권장사항
- 역할 분리 그룹을 사용하지 않으려면 최소 두 그룹을 사용하는 것이 권장된다.
- 시스템 권한 그룹: OSDBA, OSASM 등 관리 권한을 가진 그룹.
- 설치 소유자 그룹: oinstall 그룹으로, Oracle Inventory 쓰기 권한과 설치 소유자 권한을 가진 그룹.
표준 Oracle Database 관리자 그룹
Oracle Database에는 두 가지 표준 관리 그룹이 있다.
- OSDBA 그룹(일반적으로 dba)
- 시스템에 Oracle Database 소프트웨어를 처음 설치할 때 반드시 생성해야 한다.
- 이 그룹은 데이터베이스 관리 권한(SYSDBA)을 가진 운영체제 사용자 계정을 식별한다.
- 별도의 OSDBA, OSOPER, OSASM 그룹을 만들지 않으면, dba 그룹 구성원이 SYSOPER와 SYSASM 권한도 가진다.
- 별도의 OSASM 그룹을 지정하지 않으면 OSDBA 그룹이 기본적으로 OSASM 그룹 역할을 한다.
- OSOPER 그룹(일반적으로 oper)
- 데이터베이스 시작과 종료 권한(SYSOPER)을 부여한다.
- 기본적으로 OSDBA 그룹 구성원은 SYSOPER 권한도 가진다.
확장 Oracle Database 그룹 (직무 역할 분리용)
Oracle Database는 특정 작업별 권한을 부여하기 위해 확장된 그룹을 제공한다. 이들은 OSDBA/SYSDBA보다 제한된 권한을 가지며, 일상적인 데이터베이스 운영을 위한 권한을 제공한다.
- OSBACKUPDBA 그룹(일반적으로 backupdba)
- 데이터베이스 백업 및 복구 관련 제한된 관리 권한(SYSBACKUP)을 부여한다.
- OSDGDBA 그룹(일반적으로 dgdba)
- Oracle Data Guard 관리 및 모니터링 권한(SYSDG)을 부여한다.
- Database 설치 소유자를 이 그룹의 구성원으로 추가해야 한다.
- OSKMDBA 그룹(일반적으로 kmdba)
- 암호화 키 관리 권한(SYSKM)을 부여한다.
- Oracle Wallet Manager 관리 등 암호화 관련 작업을 수행할 수 있다.
- OSRACDBA 그룹(일반적으로 racdba)
- Oracle RAC 관리 권한(SYSRAC)을 부여한다.
- Database 설치 소유자를 이 그룹의 구성원으로 추가해야 한다.
- Oracle Restart 환경에서는 Grid Infrastructure 설치 소유자(grid)도 이 그룹의 구성원이어야 한다.
ASMSNMP 사용자 생성
- ASMSNMP 사용자는 Oracle ASM 인스턴스를 모니터링할 수 있는 권한을 가진 Oracle ASM 사용자이다.
- 설치 과정에서 이 사용자에 대한 비밀번호를 입력해야 한다.
- OSASM 그룹 구성원은 SYSASM 권한을 통해 ASM을 관리할 수 있지만, Oracle은 권한이 제한된 ASMSNMP 사용자를 별도로 생성하여 ASM 인스턴스 모니터링을 수행하도록 권장한다.
- Oracle Enterprise Manager는 ASM 상태를 모니터링하기 위해 ASMSNMP 사용자를 활용한다.
- 설치 시 ASMSNMP 사용자에 대한 비밀번호를 입력해야 하며, 운영체제 인증 사용자 또는 Oracle Database 사용자로 생성할 수 있다.
- 어떤 방식으로 생성하든, 해당 사용자에게 SYSDBA 권한을 부여해야 한다.
Oracle ASM 직무 역할 분리용 운영체제 그룹
- OSASM 그룹(일반적으로 asmadmin)
- ASM 관리 권한을 위한 별도의 그룹이다.
- 구성원은 SYSASM 권한을 통해 ASM 인스턴스에 접속하여 디스크 그룹 마운트/언마운트 등 스토리지 관리 작업을 수행할 수 있다.
- SYSASM 권한은 RDBMS 인스턴스에 대한 접근 권한을 제공하지 않는다.
- 별도의 OSASM 그룹을 지정하지 않으면, 기본적으로 OSDBA 그룹이 OSASM 그룹 역할을 한다.
- OSOPER 그룹(일반적으로 asmoper)
- 선택적으로 생성할 수 있는 그룹이다.
- ASM 인스턴스 시작과 종료 권한(SYSOPER for ASM)을 부여한다.
- 기본적으로 OSASM 그룹 구성원은 SYSOPER for ASM 권한도 가진다.
Oracle ASM 관련 그룹
- OSASM 그룹(asmadmin)
- ASM 관리 권한을 위한 그룹이다.
- 구성원은 SYSASM 권한을 통해 ASM 인스턴스를 관리할 수 있다.
- 예시:
groupadd -g 54329 asmadmin
- OSDBA for ASM 그룹(asmdba)
- ASM 디스크 장치 접근 권한을 가진 그룹이다.
- ASM 디스크 장치는 이 그룹이 소유해야 한다.
- 예시:
/usr/sbin/groupadd -g 54327 asmdba
- OSOPER for ASM 그룹(asmoper)
- 선택적으로 생성할 수 있는 그룹이다.
- ASM 인스턴스 시작과 종료 권한(SYSOPER for ASM)을 부여한다.
- 예시:
/usr/sbin/groupadd -g 54328 asmoper
Oracle Database 관련 그룹
- OSDBA 그룹(dba)
- 데이터베이스 관리 권한(SYSDBA)을 가진 그룹이다.
- 첫 설치 시 반드시 생성해야 하며, 새로운 DB 설치 시 별도의 그룹을 지정할 수도 있다.
/usr/sbin/groupadd -g 54322 dba
- OSOPER 그룹(oper)
- 데이터베이스 시작과 종료 권한(SYSOPER)을 가진 그룹이다.
- 대부분의 설치에서는 OSDBA 그룹만으로 충분하지만, 필요 시 생성한다.
- 예시:
groupadd -g 54323 oper
- OSBACKUPDBA 그룹(backupdba)
- 백업 및 복구 권한(SYSBACKUP)을 가진 그룹이다.
- RMAN이나 SQL*Plus를 통해 백업/복구 작업을 수행할 수 있다.
- 예시:
/usr/sbin/groupadd -g 54324 backupdba
- OSDGDBA 그룹(dgdba)
- Data Guard 관리 권한(SYSDG)을 가진 그룹이다.
- 예시:
/usr/sbin/groupadd -g 54325 dgdba
- OSKMDBA 그룹(kmdba)
- 암호화 키 관리 권한(SYSKM)을 가진 그룹이다.
- Oracle Wallet Manager 관리 등 암호화 관련 작업을 수행할 수 있다.
- 예시:
/usr/sbin/groupadd -g 54326 kmdba
- OSRACDBA 그룹(racdba)
- RAC 관리 권한(SYSRAC)을 가진 그룹이다.
- RAC 클러스터에서 데이터베이스 일상 관리 권한을 제공한다.
- Oracle Restart 환경에서는 Grid 사용자(grid)도 이 그룹의 구성원이어야 한다.
- 예시:
/usr/sbin/groupadd -g 54330 rac
Oracle 소프트웨어 소유자 사용자 생성
- Oracle 소프트웨어 소유자(oracle 또는 grid)가 존재하지 않거나 새로운 소유자가 필요하다면, 설치 전에 생성해야 한다.
예시: Oracle 사용자 생성
- 사용자 ID: 54321
- 기본 그룹: oinstall
- 보조 그룹: dba, asmdba, backupdba, dgdba, kmdba, racdba
/usr/sbin/useradd -u 54321 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba oracle예시: Grid 사용자 생성
- 사용자 ID: 54331
- 기본 그룹: oinstall
- 보조 그룹: asmadmin, asmdba, racdba
/usr/sbin/useradd -u 54331 -g oinstall -G asmadmin,asmdba,racdba grid- 설치 전에 사용자 ID 번호를 반드시 기록해 두어야 한다.
Oracle 소유자 사용자 그룹 수정
- 이미 Oracle 소프트웨어 설치 소유자 계정을 만들었지만, OSDBA, OSOPER, ASMADMIN 등 필요한 그룹의 구성원이 아니라면 설치 전에 그룹 설정을 수정해야 한다.
주의사항
- 모든 Oracle 소프트웨어 소유자는 동일한 중앙 Inventory 그룹(oinstall)의 구성원이어야 한다.
- 기존 소프트웨어 소유자의 기본 그룹을 변경하거나 다른 그룹을 OINSTALL 그룹으로 지정해서는 안 된다. 그렇지 않으면 중앙 Inventory가 손상될 수 있다.
- 설치 시 소프트웨어를 설치하는 사용자는 반드시 oinstall 그룹을 기본 그룹으로 가져야 하며, 설치에 필요한 운영체제 그룹의 구성원이어야 한다.
예시: Oracle 사용자 그룹 수정
/usr/sbin/usermod -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba[,oper] oracle
기존 사용자 및 그룹 ID 확인
- 동일한 사용자와 그룹을 생성하려면, 먼저 한 노드에서 생성된 사용자 ID와 그룹 ID를 확인한 뒤, 다른 클러스터 노드에서도 동일한 이름과 ID로 생성해야 한다.
사용자 ID와 그룹 ID 확인 방법
1. 예시: oracle 사용자 ID 확인
id oracle출력 예시:
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54323(oper),54324(backupdba),54325(dgdba),54326(kmdba),54327(asmdba),54330(racdba)2. 출력에서 사용자 ID(uid)와 그룹 ID(gid)를 확인한다.- 기본 그룹은 gid 뒤에 표시된다.
- 모든 그룹은 groups 뒤에 표시된다
3. 이 ID 번호들이 클러스터의 모든 노드에서 동일해야 한다.
다른 클러스터 노드에서 동일한 사용자 및 그룹 생성
- Oracle 소프트웨어 소유자 사용자와 Oracle Inventory, OSDBA, OSOPER 그룹은 모든 클러스터 노드에서 동일하게 존재해야 한다.
- 로컬 사용자/그룹을 사용하는 경우에만 이 절차를 수행한다. NIS 같은 디렉터리 서비스를 사용하는 경우 이미 동일하게 구성되어 있다.
절차
1. 루트 사용자로 로그인한다.
2. 각 노드에서 필요한 그룹을 생성한다.
groupadd -g 54321 oinstall groupadd -g 54322 dba groupadd -g 54323 oper groupadd -g 54324 backupdba groupadd -g 54325 dgdba groupadd -g 54326 kmdba groupadd -g 54327 asmdba groupadd -g 54328 asmoper groupadd -g 54329 asmadmin groupadd -g 54330 racdba- 이미 그룹이 존재한다면 groupmod 명령으로 수정한다.
- 동일한 그룹 ID를 사용할 수 없는 경우, /etc/group 파일을 확인하여 모든 노드에서 사용 가능한 ID를 찾아 동일하게 지정해야 한다.
3. Grid 사용자 생성 예시:
useradd -u 54331 -g oinstall -G asmadmin,asmdba,racdba grid- -u: 사용자 ID 지정
- -g: 기본 그룹 지정 (OINSTALL 그룹)
- -G: 보조 그룹 지정 (예: asmadmin, asmdba, racdba)
- 이미 사용자가 존재한다면 usermod 명령으로 수정한다.
4. 사용자 비밀번호 설정:
passwd grid5. 각 사용자에 대해 환경 설정 작업을 완료한다.
역할 분리 그룹, 사용자, 경로 생성 예시
이 예시는 OFA(Optimal Flexible Architecture) 규칙을 준수하는 역할 분리 환경을 보여준다.
시나리오:
- Oracle Grid Infrastructure 설치
- 두 개의 별도 Oracle Database 설치(DB1, DB2)
- Grid Infrastructure, DB1, DB2 각각 별도의 설치 소유자 계정
- ASM 및 각 데이터베이스에 대해 직무별 권한 그룹을 완전 분리
그룹 및 사용자 생성 명령 예시
groupadd -g 54321 oinstall groupadd -g 54322 dba1 groupadd -g 54332 dba2 groupadd -g 54323 oper1 groupadd -g 54333 oper2 groupadd -g 54324 backupdba1 groupadd -g 54334 backupdba2 groupadd -g 54325 dgdba1 groupadd -g 54335 dgdba2 groupadd -g 54326 kmdba1 groupadd -g 54336 kmdba2 groupadd -g 54327 asmdba groupadd -g 54328 asmoper groupadd -g 54329 asmadmin groupadd -g 54330 racdba1 groupadd -g 54340 racdba2 useradd -u 54322 -g oinstall -G asmadmin,asmdba,racdba1,racdba2 grid useradd -u 54321 -g oinstall -G dba1,backupdba1,dgdba1,kmdba1,asmdba,racdba1,asmoper oracle1 useradd -u 54323 -g oinstall -G dba2,backupdba2,dgdba2,kmdba2,asmdba,racdba2 oracle2 mkdir -p /u01/app/19.0.0/grid mkdir -p /u01/app/grid mkdir -p /u01/app/oracle1 mkdir -p /u01/app/oracle2 chown -R grid:oinstall /u01 chmod -R 775 /u01/ chown oracle1:oinstall /u01/app/oracle1 chown oracle2:oinstall /u01/app/oracle2결과: 그룹 및 사용자 구성
Grid Infrastructure
- oinstall: 중앙 Inventory 그룹, 모든 설치 소유자의 기본 그룹
- asmadmin(OSASM): ASM 관리 권한(SYSASM)
- asmdba(OSDBA for ASM): ASM 디스크 접근 권한
- asmoper(OSOPER for ASM): ASM 시작/종료 권한
- grid 사용자: Grid Infrastructure 설치 소유자, oinstall 기본 그룹, ASM 관련 그룹 보조 그룹
DB1 (oracle1 사용자)
- oracle1: DB1 설치 소유자, oinstall 기본 그룹
- dba1(OSDBA): DB1 SYSDBA 권한
- backupdba1(OSBACKUPDBA): DB1 백업/복구 권한
- dgdba1(OSDGDBA): DB1 Data Guard 권한
- kmdba1(OSKMDBA): DB1 암호화 키 관리 권한
- oper1(OSOPER): DB1 시작/종료 권한
- asmoper: ASM 시작/종료 권한도 부여됨
- Oracle Base: /u01/app/oracle1
DB2 (oracle2 사용자)
- oracle2: DB2 설치 소유자, oinstall 기본 그룹
- dba2(OSDBA): DB2 SYSDBA 권한
- backupdba2(OSBACKUPDBA): DB2 백업/복구 권한
- dgdba2(OSDGDBA): DB2 Data Guard 권한
- kmdba2(OSKMDBA): DB2 암호화 키 관리 권한
- oper2(OSOPER): DB2 시작/종료 권한
- ASM 시작/종료 권한은 없음(asmoper 미포함)
- Oracle Base: /u01/app/oracle2
Oracle 소프트웨어 소유자 환경 구성 절차
1. 서버에서 X 터미널 세션(xterm)을 시작한다.
2. X Window 애플리케이션이 표시될 수 있도록 다음 명령을 실행한다.
$ xhost + hostname3. 설치 소유자 사용자로 전환한다.
$ su - grid또는
$ sudo -u grid -s4. 기본 셀 확인:
$ echo $SHELL5. 해당 셀의 시작 파일을 열어 편집한다.
- Bash: .bash_profile
- Bourne/Korn: .profile
- C shell: .login
6. umask 022 설정을 추가한다.
7. 파일에 설정된 ORACLE_SID, ORACLE_HOME, ORACLE_BASE 환경 변수가 있으면 제거한다.
8. 파일을 저장하고 종료한다.
9. 셀 시작 스크립트를 실행한다.
$ . ./.bash_profile # Bash $ . ./.profile # Bourne/Korn % source ./.login # C shell10. PATH 환경 변수 확인:
$ echo $PATHOracle 관련 환경 변수를 제거한다.
11. 기존 설치 사용자라면 $ORACLE_HOME, $ORA_NLS10, $TNS_ADMIN, $ORA_CRS_HOME 변수를 반드시 unset 한다.
12. 원격 설치 시 DISPLAY 변수를 로컬 호스트로 지정한다.
$ export DISPLAY=local_host:0.0 # Bourne/Korn/Bash % setenv DISPLAY local_host:0.0 # C shell13. /tmp 디렉터리에 1GB 이상 여유 공간이 있어야 한다. 부족하다면 다른 파일 시스템에 임시 디렉터리를 생성하고 TMP, TMPDIR 환경 변수를 설정한다.
14. 환경 설정이 올바른지 확인한다.
$ umask $ env | moreumask 값이 22, 022, 0022로 표시되어야 하며, 환경 변수 값이 올바르게 설정되어 있어야 한다.
Oracle 소프트웨어 설치 사용자 리소스 제한 확인
- 각 설치 소유자 계정에 대해 리소스 제한을 확인해야 한다.
- Oracle Linux에서는 Oracle Database Preinstallation RPM을 설치하여 limits.conf 파일에 필요한 리소스 제한을 자동으로 설정하는 것이 권장된다.
권장 리소스 제한 범위
리소스 설정 항목 Soft Limit Hard Limit 열린 파일 디스크립터 nofile 최소 1024 최소 65536 사용자 프로세스 수 nproc 최소 2047 최소 16384 프로세스 스택 크기 stack 최소 10240 KB 최소 10240 KB, 최대 32768 KB 최대 잠금 메모리 memlock HugePages 사용 시 RAM의 90% 이상,
미사용 시 최소 3GB(3145728 KB)동일 (Exadata 시스템은 무제한) 확인 절차
1. 설치 소유자로 로그인한다.
2. 파일 디스크립터 제한 확인:
$ ulimit -Sn # soft limit 1024 $ ulimit -Hn # hard limit 655363. 프로세스 수 제한 확인:
$ ulimit -Su # soft limit 2047 $ ulimit -Hu # hard limit 163844. 스택 크기 제한 확인:
$ ulimit -Ss # soft limit 10240 $ ulimit -Hs # hard limit 327685. 각 Oracle 설치 소유자 계정에 대해 반복한다.
설정 변경 시 주의사항
- 필요한 경우 /etc/security/limits.conf 파일을 수정하여 리소스 제한을 조정한다.
- 배포판에 따라 설정 파일이 다를 수 있으므로 시스템 관리자와 확인해야 한다.
- 이미 로그인된 사용자 계정은 변경 사항이 즉시 적용되지 않는다. 반드시 로그아웃 후 다시 로그인해야 변경된 제한이 적용된다.
원격 디스플레이 설정
- 원격 터미널에서 설치를 진행할 경우, 사용자 계정의 DISPLAY 환경 변수를 설정해야 한다.
- Bourne, Korn, Bash 셸:
$ export DISPLAY=hostname:0 - C 셸:
% setenv DISPLAY hostname:0 - 예시: Bash 셸에서 호스트 이름이 node1인 경우
$ export DISPLAY=node1:0
X11 Forwarding 설정
- 설치 실패를 방지하기 위해 Oracle 설치 소유자 계정의 SSH 클라이언트 설정 파일(~/.ssh/config)을 수정해야 한다.
- ForwardX11 속성을 no로 설정한다.
Host * ForwardX11 no - .ssh 디렉터리 권한은 반드시 설치 소유자 계정에만 허용되도록 설정해야 한다.
$ ls -al .ssh drwx------ 2 grid oinstall 4096 ... -rw-r--r-- 1 grid oinstall 1202 authorized_keys -rwx------ 1 grid oinstall 668 id_dsa -rwx------ 1 grid oinstall 601 id_dsa.pub -rwx------ 1 grid oinstall 1610 known_hosts
- OUI는 설치 중 SSH를 사용해 다른 노드에 명령을 실행하고 파일을 복사한다.
- 그러나 .bashrc, .cshrc 같은 숨김 파일에 stty, xtitle 등의 출력 명령이 있으면 설치 오류가 발생할 수 있다.
- 따라서 각 설치 소유자 계정의 홈 디렉터리에서 STDOUT/STDERR 출력이 발생하지 않도록 수정해야 한다.
예시
- Bourne, Bash, Korn 셸:
if [ -t 0 ]; then stty intr ^C fi - C 셸:
test -t 0 if ($status == 0) then stty intr ^C endif
(출처: Oracle® Grid Infrastructure Installation and Upgrade Guide)
'DB 스터디 > Database Documentation' 카테고리의 다른 글
19c Grid Infrastructure 스토리지 구성 (0) 2026.07.07 19c Grid Infrastructure 및 Oracle Database 지원 스토리지 옵션 (0) 2026.07.07 19c Grid Infrastructure 및 RAC 네트워크 구성 (0) 2026.07.07 19c Grid Infrastructure Linux OS 구성 (0) 2026.07.06 Oracle Database Preinstallation RPM을 이용한 Linux 자동 구성 (0) 2026.07.06