I. 개요
1. 사용 Software
제품명 | 버전 | 아키텍쳐 | 배포 사이트 |
---|---|---|---|
VirtualBox | 6.x | 호스트 환경에 따름 | https://www.virtualbox.org |
Oracle Enterprise Linux | 7.5 | x86 64bit | |
Clusterware, Database | 19.3 | x86 64bit | https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html |
Oracle Database 18.3은 https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 에서 받을 수 있습니다.
2. 구성 계획
A) 서버
Memory | Disk | Net Adapter |
---|---|---|
10240MB | 100GB | 브리지 어댑터 |
리눅스 기반의 1 node로 구성합니다.
B) 스토리지
파일 이름 | 용량 | 용도 |
---|---|---|
DATA1.vdi | 30GB | Data 저장 영역 |
DATA2.vdi | 30GB | |
DATA3.vdi | 30GB | |
FRA1.vdi | 30GB | Fast Recovery Area |
Automatic Storage Management를 이용하여 Data 저장 영역과 Fast Recovery Area를 구성합니다.
디스크 공간을 절약하기 위해 설치 파일은 VirtualBox의 Guest Addition 기능으로 VM에서 불러와 사용합니다
3. 호스트 환경
원활한 실습을 위해 64비트 운영체제에 12GB 이상의 메모리가 장착된 환경에서 작업하는 것을 권합니다.
디스크 I/O에 의한 지연을 최소화하기 위해 호스트의 OS가 설치되지 않은 별도의 내장 디스크를 사용하거나 SSD의 사용을 권합니다.
ESATA 또는 USB 3.0 이상의 빠른 속도를 보장하는 외장 디스크를 사용하는 것도 방법일 수 있습니다만 지속적인 연결이 보장되어야 합니다.
II. 리눅스 (OEL 7) 설치
1. 시작
설치 미디어에 대한 테스트 없이 바로 설치를 진행하려면 'Install Oracle Linux 7.x'를 키보드로 선택하고 "엔터"를 입력합니다.
2. 언어 설정
실습의 편의를 위해 설치 언어는 '한국어'를 선택하고 <계속 진행>을 클릭합니다.
운영 환경에서는 이슈 발생시의 문제 해결이나 디버깅 등을 위해 영어로 설치하는 것을 권합니다.
3. 설치 요약
설치 요약 화면입니다.
이 화면에서 각 항목별로 필요한 옵션을 수정한 후에 설치를 진행할 예정입니다.
4. 소프트웨어 선택
먼저 '소프트웨어 선택' 항목을 편집합니다.
서버에서 직접 GUI 모드로 설치하기 위해 '서버 - GUI 사용'을 선택하고, 다음의 두 기능을 추가합니다.
- 호환성 라이브러리
- 개발용 도구
그리고 <완료>를 클릭합니다.
5. 설치 대상
다음으로 '설치 대상'을 수정합니다.
설치할 디스크를 체크하고 '파티션을 설정합니다'를 선택한 후에 <완료> 버튼을 클릭합니다.
수동으로 파티션 설정 화면으로 전환됩니다.
좌측 하단에 '+' 버튼을 클릭하여 마운트 지점을 생성합니다.
각각의 마운트 지점을 아래와 같은 크기로 할당합니다.
영역 | 크기 |
---|---|
/boot | 500MB |
swap | 물리 메모리와 동일한 크기 |
/ | 나머지 공간 할당 |
swap의 경우 물리 메모리와 동일한 크기로 최대 16GB 이내로 할당합니다.
적용된 내용을 확인한 후에 좌측 상단의 <완료> 버튼을 클릭합니다.
변경 요약 화면이 나오면 <변경 사항 적용> 버튼을 클릭합니다
6. KDUMP
실습을 위한 구축이므로 'KDUMP' 항목에서 'kdump 활성화'를 해제합니다.
운영 환경에서는 문제 해결 등의 이유로 활성화된 상태로 사용할 수 있으며, 운영 정책에 따라 지정해야 합니다.
필요한 옵션을 선택하였으면 <완료>를 클릭합니다.
7. 네트워크 및 호스트명
네트워크와 호스트 이름을 설정해야 합니다.
좌측의 이더넷 인터페이스를 선택하고 우측의 <설정> 버튼을 클릭합니다.
일반 탭에서 '사용 가능하면 자동으로 이 네트워크에 연결'을 체크합니다.
IPv4 설정 탭으로 이동하여 방식에 '수동'을 선택합니다.
'Add' 버튼을 클릭하고 다음의 정보를 입력합니다.
- 주소 : <사용할 IP 주소> (예: 10.0.1.10)
- 넷마스크 : 255.255.255.0 (또는 24)
- 게이트웨이 : <게이트웨이 주소> (예: 10.0.1.1)
- DNS 서버 : 127.0.0.1
주소와 게이트웨이 값은 사용할 네트워크 정보를 미리 파악한 후에 입력합니다.
IPv6는 사용하지 않을 것이므로 방식에 '무시'를 선택하고, <저장>을 클릭합니다.
우측 이더넷의 버튼을 껏다 켜면 입력한 IP로 이더넷이 재기동 됩니다.
좌측 하단의 호스트 이름에 사용할 호스트명을 입력하고 <적용>을 클릭합니다.
설정이 모두 완료되었으면 <완료>를 클릭합니다.
8. 보안 정책
실습에서는 'SECURITY POLICY'의 모든 내용을 끄고 진행합니다.
'Apply security policy'를 끄고 <완료>를 클릭합니다.
설치를 위한 사전 준비가 모두 완료되었으므로 <설치 시작>을 클릭합니다.
9. 사용자 설정
설치가 진행되는 중간에 root 계정의 암호와 추가 사용자를 생성할 수 있습니다.
먼저 'ROOT 암호'를 선택합니다.
적당한 암호를 입력하고 <완료> 버튼을 클릭합니다.
취약한 암호를 입력한 경우에는 <완료> 버튼을 2번 클릭해야 합니다.
'사용자 생성'에서는 root와는 별개의 관리자 권한을 생성하겠습니다.
이 단계를 건너 뛰어도 설치 진행이나 원격 접속에는 영향이 없습니다.
하지만, 리눅스 7버전부터 별도의 관리자 계정을 생성하여 사용하는 것을 권고하므로 admin 유저를 추가합니다.
추가할 관리자 계정의 정보를 입력하고 <완료> 버튼을 클릭합니다.
설치가 완료되면 <재부팅> 버튼을 클릭합니다.
10. 재부팅
자동으로 서버가 재부팅 됩니다.
11. 초기 설정
재부팅 화면에서 'LICENSE INFORMATION'을 클릭하여 라이센스 동의를 진행합니다.
'약관에 동의합니다'를 체크하고 <완료>를 클릭합니다.
모든 구성이 완료되었으므로 본격적인 사용을 위해 <설정 완료>를 클릭합니다.
III. OS 환경 설정
1. VirtualBox Guest Addition 설치
VirtualBox를 사용할 경우에는 실습의 편의를 위해 VBOXADDITIONS (이하 Guest Addition)를 설치하는 것이 좋습니다.
계정 목록 하단에 '목록에 없습니까?' 부분을 클릭합니다.
실제 운영 환경에서는 설치할 필요가 없습니다.
사용자 이름에 "root"를 입력하고 <다음>을 클릭합니다.
해당 유저의 암호를 입력하고 <로그인>을 클릭합니다.
사용자 환경 설정을 위한 화면이 나옵니다.
최초 설치시에 선택한 언어인 '한국어'가 기본으로 선택되어 있으면 <다음>을 클릭합니다.
운영 환경에서는 문제 해결이나 이슈 분석을 좀더 편하게 하기 위해 'English'를 사용하는 것을 권고합니다.
입력할 키보드 배치 또한 기본인 '한국어'로 되어 있습니다.
마찬가지로 초기에 선택한 언어에 따라 다른 언어의 키보드로 나올 수 있습니다.
<다음>을 클릭합니다.
개인 정보와 관련한 위치 정보 서비스 기능은 '끔'을 선택하도록 합니다.
<다음>을 클릭합니다.
온라인 계정 연결 역시 사용하지 않을 것이므로 <건너뛰기>를 클릭합니다.
모든 환경 설정이 완료되었으면 <Oracle Linux Server 시작> 버튼을 클릭합니다.
GNOME 환경과 관련한 안내 화면이 나옵니다.
오른쪽 상단에 'x'를 클릭하여 화면을 닫습니다.
호스트 머신의 VirtualBox 메뉴에서 '장치' > '게스트 확장 CD 이미지 삽입'을 클릭하여, Guest Addition CD를 mount 시켜줍니다.
설치 미디어가 인식되면 자동 시작 프로그램에 대한 안내 창이 뜹니다.
설치를 진행하기 위해 <실행>을 클릭합니다.
자동 설치 스크립트가 실행되며, VM에 Guest Addition이 설치됩니다.
설치가 완료되면 "엔터"를 입력하여 실행 창을 닫아줍니다.
2. 설치 내역 확인
cat /etc/oracle-release cat /etc/redhat-release uname -r
[root@ol7 ~]# cat /etc/oracle-release Oracle Linux Server release 7.5 [root@ol7 ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.5 (Maipo) [root@ol7 ~]# uname -r 4.1.12-112.16.4.el7uek.x86_64
설치된 리눅스의 버전을 먼저 확인합니다.
3. 리눅스 설정 변경
<IP> <호스트명>
10.0.3.19 ol7
/etc/hosts 파일에 설치할 서버의 IP와 호스트명을 추가합니다
SELINUX=permissive
setenforce permissive
기존의 값을 주석처리하고 permissive로 대체
#SELINUX=enforcing SELINUX=permissive
[root@ol7 ~]# setenforce permissive
Selinux 모드를 permissive로 변경합니다.
tmpfs /dev/shm tmpfs size=8g 0 0
mount -o remount /dev/shm
tmpfs /dev/shm tmpfs size=8g 0 0
[root@ol7 ~]# df -h | grep shm tmpfs 4.0G 84K 4.0G 1% /dev/shm [root@ol7 ~]# mount -o remount /dev/shm [root@ol7 ~]# df -h | grep shm tmpfs 8.0G 84K 8.0G 1% /dev/shm
tmpfs를 재설정하고 remount하여 적용시킵니다
4. 패키지 설치
cd <리눅스 설치 디스크 경로>/Packages rpm -ivh ksh-* rpm -ivh libaio-devel-*x86_64.rpm
[root@ol7 ~]# cd /run/media/root/OL-7.6\ Server.x86_64/Packages [root@ol7 Packages]# rpm -ivh ksh-20120801-139.0.1.el7.x86_64.rpm 경고: ksh-20120801-139.0.1.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY 준비 중... ################################# [100%] Updating / installing... 1:ksh-20120801-139.0.1.el7 ################################# [100%] [root@ol7 Packages]# rpm -ivh libaio-devel-0.3.109-13.el7.x86_64.rpm 경고: libaio-devel-0.3.109-13.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY 준비 중... ################################# [100%] Updating / installing... 1:libaio-devel-0.3.109-13.el7 ################################# [100%]
리눅스 설치시에 기본적으로 설치된 패키지 외에 추가로 2개의 패키지를 설치해야 합니다.
설치 CD를 mount한 후에 Package 디렉토리로 이동하여 패키지를 설치합니다.
# 19c 기준 rpm -ivh oracle-database-preinstall-19c-* # 18c 기준 rpm -ivh oracle-database-preinstall-18c-* # 12c R2 기준 rpm -ivh oracle-database-server-12cR2-preinstall-* # 12c R1 기준 rpm -ivh oracle-rdbms-server-12cR1-preinstall-*
19c 설치
[root@ol7 ~]# cd /media/sf_oracle [root@ol7 sf_oracle]# rpm -ivh oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm 경고: oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY 준비 중... ################################# [100%] Updating / installing... 1:oracle-database-preinstall-19c-1.################################# [100%]
18c 설치
[root@ol7 ~]# cd /media/sf_oracle [root@ol7 sf_oracle]# rpm -ivh oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm 경고: oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY 준비 중... ################################# [100%] Updating / installing... 1:oracle-database-preinstall-18c-1.################################# [100%]
12c R2 설치
[root@ol7 ~]# cd /media/sf_oracle [root@ol7 sf_oracle]# rpm -ivh oracle-database-server-12cR2-preinstall-1.0-2.el7.x86_64.rpm 경고: oracle-database-server-12cR2-preinstall-1.0-2.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY 준비 중... ################################# [100%] Updating / installing... 1:oracle-database-server-12cR2-prei################################# [100%]
12c R1 설치
[root@ol7 oracle]# rpm -ivh oracle-rdbms-server-12cR1-preinstall-1.0-6.el7.x86_64.rpm 경고: oracle-rdbms-server-12cR1-preinstall-1.0-6.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY 준비 중... ################################# [100%] Updating / installing... 1:oracle-rdbms-server-12cR1-preinst################################# [100%]
Oracle Preinstall RPM 패키지를 설치하면, Oracle 소프트웨어 설치에 필요한 OS 환경 설정과 관련된 여러가지 작업을 자동으로 처리해줍니다.
RPM 파일은 다음 경로에서 찾아서 다운 받을 수 있습니다.
http://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/index.html
5. 프로세스 정리
### 블루투스 중지 systemctl stop bluetooth.service systemctl disable bluetooth.service ### 방화벽 중지 systemctl stop firewalld systemctl disable firewalld ### 시간 동기화 중지 systemctl stop chronyd systemctl disable chronyd ### NTP 중지 systemctl stop ntpdate systemctl disable ntpdate ### DNS 중지 systemctl stop avahi-daemon systemctl disable avahi-daemon ### 가상 시스템 관리 중지 # virsh net-destroy default # virsh net-undefine default systemctl stop libvirtd systemctl disable libvirtd.service
[root@ol7 ~]# systemctl stop bluetooth.service [root@ol7 ~]# systemctl disable bluetooth.service Removed symlink /etc/systemd/system/dbus-org.bluez.service. Removed symlink /etc/systemd/system/bluetooth.target.wants/bluetooth.service. [root@ol7 ~]# systemctl stop firewalld [root@ol7 ~]# systemctl disable firewalld Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service. [root@ol7 ~]# systemctl stop chronyd [root@ol7 ~]# systemctl disable chronyd Removed symlink /etc/systemd/system/multi-user.target.wants/chronyd.service. [root@ol7 ~]# systemctl stop ntpdate [root@ol7 ~]# systemctl disable ntpdate [root@ol7 ~]# systemctl stop avahi-daemon Warning: Stopping avahi-daemon.service, but it can still be activated by: avahi-daemon.socket [root@ol7 ~]# systemctl disable avahi-daemon Removed symlink /etc/systemd/system/multi-user.target.wants/avahi-daemon.service. Removed symlink /etc/systemd/system/sockets.target.wants/avahi-daemon.socket. Removed symlink /etc/systemd/system/dbus-org.freedesktop.Avahi.service. [root@ol7 ~]# systemctl stop libvirtd [root@ol7 ~]# systemctl disable libvirtd.service Removed symlink /etc/systemd/system/multi-user.target.wants/libvirtd.service. Removed symlink /etc/systemd/system/sockets.target.wants/virtlogd.socket. Removed symlink /etc/systemd/system/sockets.target.wants/virtlockd.socket.
테스트 환경에서 불필요한 서비스를 정리합니다.
요구사항에 따라 방화벽이나 시간 동기화 서비스의 사용이 필요한 경우가 있으므로. 실제 운영 환경에 적용할 때에는 사용 여부를 충분히 검토하고 비활성화를 수행해야 합니다.
6. 화면 해상도 조절
리눅스 설치시에 설정된 기본 화면해상도 800*600으로는 Database나 Grid 소프트웨어의 OUI 전체 화면이 표시되지 않습니다.
따라서 보다 큰 해상도(1024*768)의 화면으로 변경해야 합니다.
화면 좌측 상단 메뉴바에 '프로그램'을 선택한 후에, '시스템 도구'에 있는 '설정'을 선택합니다.
설정 창이 열리면 좌측 화면의 스크롤을 내려 맨 아래에서 두번째 항목인 '장치'를 선택합니다.
장치에서 '디스플레이' 항목을 선택합니다.
우측 해상도에서에서 '1024 X 768 (4:3)'을 선택합니다.
우측 상단에 '변경 사항을 적용하시겠습니까?'란 질의에 <적용> 버튼을 클릭합니다.
해상도가 정상적으로 적용되었다면 설정을 유지할 것인지에 대한 메시지 창이 뜹니다.
<바뀐 사항 유지> 버튼을 클릭합니다.
정상적으로 디스플레이 해상도가 변경된 것을 확인할 수 있습니다.
{}
7. 그룹 및 유저 생성
#groupadd oinstall #groupadd dba groupadd oper groupadd backupdba groupadd dgdba groupadd kmdba groupadd racdba groupadd asmadmin groupadd asmdba groupadd asmoper
[root@ol7 ~]# groupadd oper [root@ol7 ~]# groupadd backupdba [root@ol7 ~]# groupadd dgdba [root@ol7 ~]# groupadd kmdba [root@ol7 ~]# groupadd racdba [root@ol7 ~]# groupadd asmadmin [root@ol7 ~]# groupadd asmdba [root@ol7 ~]# groupadd asmoper
설치를 진행할 사용자 그룹을 생성합니다.
preinstall 패키지가 설치되었다면 oinstall, dba 그룹은 이미 생성되어 있으므로 나머지 유저 그룹만 생성합니다.
# useradd -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba,asmadmin,asmdba,vboxsf oracle usermod -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba,asmadmin,asmdba,vboxsf oracle # usermod -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba,asmadmin,asmdba oracle useradd -g oinstall -G dba,racdba,asmadmin,asmdba,asmoper,vboxsf grid # useradd -g oinstall -G dba,racdba,asmadmin,asmdba,asmoper grid id oracle id grid passwd oracle passwd grid
[root@ol7 ~]# usermod -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba,asmadmin,asmdba,vboxsf oracle [root@ol7 ~]# useradd -g oinstall -G dba,racdba,asmadmin,asmdba,asmoper,vboxsf grid [root@ol7 ~]# id oracle uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),984(vboxsf),1001(oper),1002(backupdba),1003(dgdba),1004(kmdba),1005(racdba),1006(asmadmin),1007(asmdba),54322(dba) [root@ol7 ~]# id grid uid=54322(grid) gid=54321(oinstall) groups=54321(oinstall),984(vboxsf),1005(racdba),1006(asmadmin),1007(asmdba),1008(asmoper),54322(dba) [root@ol7 ~]# passwd oracle oracle 사용자의 비밀 번호 변경 중 새 암호: 잘못된 암호: 암호는 8 개의 문자 보다 짧습니다 새 암호 재입력: passwd: 모든 인증 토큰이 성공적으로 업데이트 되었습니다. [root@ol7 ~]# passwd grid grid 사용자의 비밀 번호 변경 중 새 암호: 잘못된 암호: 암호는 8 개의 문자 보다 짧습니다 새 암호 재입력: passwd: 모든 인증 토큰이 성공적으로 업데이트 되었습니다.
사용자 계정을 생성 또는 변경합니다.
preinstall 패키지가 설치되었다면 oracle 유저는 이미 생성되어 있습니다.
vboxsf 그룹은 VirtualBox의 Guest Addition을 사용하기 위한 그룹으로, 실제 운영 환경에서 Guest Addition을 사용하지 않는다면 추가하지 않습니다.
passwd 명령어로 각 계정의 암호를 지정해주면 됩니다.
8. 사용자 리소스 설정
grid soft stack 10240 grid hard nofile 65536
리소스 제한을 위한 사용자별 설정값을 입력합니다.
oracle 유저에 대한 설정은 preinstall 패키지 설치시 자동으로 생성되므로 grid 유저에 대한 제한값만 입력합니다
9. 설치 경로 생성
mkdir -p /u01/app/oracle/product chown -R grid:oinstall /u01 chmod -R 775 /u01
[root@ol7 ~]# mkdir -p /u01/app/oracle/product [root@ol7 ~]# chown -R grid:oinstall /u01 [root@ol7 ~]# chmod -R 775 /u01
오라클 소프트웨어 설치를 위한 경로를 생성하고, 해당 경로에 대한 권한과 소유권을 수정합니다.
10. 사용자 환경 설정
export TMP=/tmp export TMPDIR=$TMP export EDITOR=vi export ORACLE_BASE=/u01/app/oracle export GRID_HOME=$ORACLE_BASE/12.2.0/grid # 버전에 맞게 경로명 수정 export DB_HOME=$ORACLE_BASE/product/12.2.0/db_1 # 버전에 맞게 경로명 수정 export ORACLE_HOME=$GRID_HOME export ORACLE_SID=+ASM export ORACLE_TERM=xterm export BASE_PATH=/usr/sbin:$PATH export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$BASE_PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib export NLS_LANG=AMERICAN_KOREA.AL32UTF8 export PS1='[\u@$ORACLE_SID \W]$ '
grid 계정으로 접속한 후에 .bash_profile을 수정합니다.
root계정에서 grid 유저로 접속하려면 아래와 같이 su 명령을 입력하면 됩니다
su - grid
수정이 완료되고 root 유저로 돌아오려면 exit 명령을 grid 유저에서 실행하면 됩니다.
exit
export TMP=/tmp export TMPDIR=$TMP export EDITOR=vi export ORACLE_UNQNAME=orcl export ORACLE_BASE=/u01/app/oracle export GRID_HOME=$ORACLE_BASE/12.2.0/grid # 버전에 맞게 경로명 수정 export DB_HOME=$ORACLE_BASE/product/12.2.0/db_1 # 버전에 맞게 경로명 수정 export ORACLE_HOME=$DB_HOME export ORACLE_SID=orcl export ORACLE_TERM=xterm export BASE_PATH=/usr/sbin:$PATH export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/perl/bin:$GRID_HOME/bin:$BASE_PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib export NLS_LANG=AMERICAN_KOREA.AL32UTF8 export PS1='[\u@$ORACLE_SID \W]$ '
마찬가지로 oracle 계정으로 접속하여 .bash_profile을 수정합니다.
oracle 유저로 변경하려면 아래와 같이 su 명령을 입력하면 됩니다
su - oracle
{}
IV. Grid 설치
1. 사전 준비
A) 설치 파일 압축 해제
mkdir -p $GRID_HOME unzip <설치 파일 다운로드 위치>/LINUX.X64_193000_grid_home.zip -d $GRID_HOME
실행 예제는 첨부 파일 참조 : unzip_grid.txt
설치 경로에 압축을 푸는 것으로 기본적인 파일 설치가 완료됩니다.
이후에 grid 구성을 gridSetup.sh로 진행하면 됩니다.
B) ASM Filter Driver 라벨 등록
### 경로 설정 export ORACLE_HOME=/u01/app/oracle/19.3.0/grid export ORACLE_BASE=/tmp ### 디스크 라벨 등록 $ORACLE_HOME/bin/asmcmd afd_label DATA1 /dev/sdb --init $ORACLE_HOME/bin/asmcmd afd_label DATA2 /dev/sdc --init $ORACLE_HOME/bin/asmcmd afd_label DATA3 /dev/sdd --init $ORACLE_HOME/bin/asmcmd afd_label FRA1 /dev/sde --init ### 등록 결과 확인 $ORACLE_HOME/bin/asmcmd afd_lslbl /dev/sdb $ORACLE_HOME/bin/asmcmd afd_lslbl /dev/sdc $ORACLE_HOME/bin/asmcmd afd_lslbl /dev/sdd $ORACLE_HOME/bin/asmcmd afd_lslbl /dev/sde
[root@ol7 ~]# export ORACLE_HOME=/u01/app/oracle/19.3.0/grid [root@ol7 ~]# export ORACLE_BASE=/tmp [root@ol7 ~]# ls /dev/sd* /dev/sda /dev/sda1 /dev/sda2 /dev/sdb /dev/sdc /dev/sdd /dev/sde [root@ol7 ~]# $ORACLE_HOME/bin/asmcmd afd_label DATA1 /dev/sdb --init [root@ol7 ~]# $ORACLE_HOME/bin/asmcmd afd_label DATA2 /dev/sdc --init [root@ol7 ~]# $ORACLE_HOME/bin/asmcmd afd_label DATA3 /dev/sdd --init [root@ol7 ~]# $ORACLE_HOME/bin/asmcmd afd_label FRA1 /dev/sde --init [root@ol7 ~]# $ORACLE_HOME/bin/asmcmd afd_lslbl /dev/sdb -------------------------------------------------------------------------------- Label Duplicate Path ================================================================================ DATA1 /dev/sdb [root@ol7 ~]# $ORACLE_HOME/bin/asmcmd afd_lslbl /dev/sdc -------------------------------------------------------------------------------- Label Duplicate Path ================================================================================ DATA2 /dev/sdc [root@ol7 ~]# $ORACLE_HOME/bin/asmcmd afd_lslbl /dev/sdd -------------------------------------------------------------------------------- Label Duplicate Path ================================================================================ DATA3 /dev/sdd [root@ol7 ~]# $ORACLE_HOME/bin/asmcmd afd_lslbl /dev/sde -------------------------------------------------------------------------------- Label Duplicate Path ================================================================================ FRA1 /dev/sde
ASM에서 사용될 디스크에 대하여 ASM Filter Driver 구성을 위한 라벨 등록을 합니다.
Oracle Linux 또는 Red Hat Enterprise Linux의 일부 버전에서만 사용 가능합니다.
afd_lslbl옵션으로 라벨이 적용된 디스크의 정보를 검색할 수 있습니다.
ASM Filter Driver를 지원하지 않는 버전에서는 아래 내용을 참고 바랍니다.
C) cvuqdisk 패키지 설치
cd $ORACLE_HOME/cv/rpm rpm -ivh cvuqdisk-1.0.10-1.rpm
[root@ol7 ~]# cd $ORACLE_HOME/cv/rpm [root@ol7 rpm]# rpm -ivh cvuqdisk-1.0.10-1.rpm 준비 중... ################################# [100%] Using default group oinstall to install package Updating / installing... 1:cvuqdisk-1.0.10-1 ################################# [100%]
cvuqdisk 패키지를 설치합니다
Cluster Verification Utility 실행을 위해 설치해야 합니다.
2. 설치 스크립트 실행
cd $GRID_HOME ./gridSetup.sh
GRID_HOME 디렉토리로 이동하여 gridSetup.sh을 실행합니다.
3. 구성 옵션
Standalone 서버 구성을 위해 '독립형 서버에 대한 Oracle Grid Infrastructure 구성(Oracle Restart)'를 선택하고 <다음>을 클릭합니다.
4. ASM 디스크 그룹 생성
먼저 데이터를 저장할 DATA 디스크 그룹을 생성합니다.
디스크 그룹 이름에 "DATA"(기본값)을 입력하고, 중복성을 '일반'로 선택한 상태에서 DATA 그룹에서 사용할 디스크를 선택합니다.
테스트를 위한 임시 구성이라면 '외부'를 선택해도 되지만, 운영 환경에서는 중복성을 '일반' 이상으로 지정하여 ASM 디스크 그룹에서 데이터 블록의 복제본을 보관할 수 있도록 하는 것이 좋습니다.
'Oracle ASM 필터 드라이버 구성'이 체크된 상태에서 <다음>을 클릭합니다.
ASMLiB 방식으로 구성할 경우에는 ASM 필터 드라이버 옵션을 해제하고 진행해야 합니다.
5. ASM 비밀번호
SYSASM 권한 사용자의 비밀번호를 설정하는 단계입니다.
실습을 위해 하나의 패스워드로 SYS와 ASMSNMP 계정의 비밀번호를 사용할 것이므로 '이러한 계정에 동일한 비밀번호 사용'을 선택하고 비밀번호를 입력합니다.
운영 환경에서는 보안을 위해 계정별로 서로 다른 비밀번호를 사용할 수 있습니다.
암호 복잡도 규칙에 맞는 비밀번호를 입력한 후 <다음>을 클릭합니다.
6. 관리 옵션
별도의 EM 시스템에 등록하지 않을 것이므로 'EM Cloud Control에 등록'이 해제된 상태(기본)에서 <다음>을 클릭합니다.
EM을 사용하는 환경에서는 등록을 설치 시에 함께 진행할 수 있습니다.
7. 운영 체제 그룹
ASM 권한 관련 OS 인증에 사용할 OS 그룹을 선택하는 단계입니다.
관리의 편의를 위해 dba 그룹 하나로 통합하는 경우도 있지만, 오라클의 권고에 따라 다른 그룹으로 분할하여 진행합니다.
정상적으로 지정되었는지 확인하고 <다음>을 클릭합니다.
8. 설치 위치
Oracle Base 경로를 확인하는 단계입니다.
OS 프로파일에서 ORACLE_BASE와 ORACLE_HOME의 변수 값으로 지정된 경로를 인식하여 설치를 진행합니다.
정상적으로 지정이 되었으면 <다음>을 클릭합니다.
9. 인벤토리 생성
오라클 인벤토리 디렉토리 경로와 인벤토리 그룹을 확인하고 <다음>을 클릭합니다.
인벤토리에는 오라클 소프트웨어의 설치 정보가 저장됩니다.
가능한 oinstall 그룹을 사용하여 인벤토리를 사용하는 것을 권장합니다.
10. 루트 스크립트 실행
Grid 구성 과정 중에 root 권한으로 스크립트를 실행하는 단계가 있습니다.
편의를 위해 '자동으로 구성 스크립트 실행'을 체크하고 '"루트" 사용자 인증서 사용'을 선택한 후 root 계정의 비밀번호를 입력하고 <다음>을 클릭합니다.
운영 시스템에 설치할 경우, 가급적 수동으로 실행하여 설치 과정 중의 구성 정보나 로그를 실시간으로 확인할 수 있도록 하는 것을 권장합니다.
11. 필요 조건 검사
서버에 대한 필요 조건 검사가 실행됩니다.
이 단계에서 누락되거나 잘못된 설정을 반드시 수정하고 설치를 진행해야 합니다.
특이사항이 없을 경우에는 자동으로 다음 단계로 넘어갑니다.
12. 요약
본격적인 설치에 앞서 구성될 환경에 대한 요약 정보를 검토합니다.
수정할 사항이 있으면 해당 항목 옆에 '편집'을 클릭하여 변경하면 됩니다.
정확하게 모든 사항이 설정되었으면 <설치>를 클릭합니다.
13. 제품 설치
로컬 노드에 설치 작업이 진행됩니다.
구성 스크립트를 자동으로 실행할 것인지 뭍는 창이 뜨면 <예>를 클릭합니다.
설치 과정 중에 입력한 root 사용자의 비밀번호를 이용하여 자동으로 스크립트가 실행됩니다.
자동으로 grid 구성이 진행됩니다.
<세부 정보> 버튼을 클릭하면 설치 과정을 확인할 수 있습니다.
14. 완료
GI 설치와 구성이 완료되었으면 <닫기>를 클릭하여 설치 프로그램을 종료합니다.
crsctl stat res -t
[grid@+ASM ~]$ crsctl stat res -t -------------------------------------------------------------------------------- Name Target State Server State details -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.DATA.dg ONLINE ONLINE ol7 STABLE ora.LISTENER.lsnr ONLINE ONLINE ol7 STABLE ora.asm ONLINE ONLINE ol7 Started,STABLE ora.ons OFFLINE OFFLINE ol7 STABLE -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.cssd 1 ONLINE ONLINE ol7 STABLE ora.diskmon 1 OFFLINE OFFLINE STABLE ora.driver.afd 1 ONLINE ONLINE ol7 STABLE ora.evmd 1 ONLINE ONLINE ol7 STABLE --------------------------------------------------------------------------------
설치가 성공적으로 완료되면 crsctl 명령어로 실행중인 클러스터 자원의 상태를 확인할 수 있습니다.
{}
V. DBMS 설치
1. 파일 압축 해제 및 설치 스크립트 실행
mkdir -p $ORACLE_HOME unzip <설치 파일 다운로드 위치>/LINUX.X64_193000_db_home.zip -d $ORACLE_HOME cd $ORACLE_HOME ./runInstaller
실행 예제는 첨부 파일 참조 : unzip_db.txt
데이터베이스 소프트웨어를 설치할 경로(ORACLE_HOME)에 압축을 푼 후에 runInstaller를 실행하면 설치할 수 있습니다.
2. 구성 옵션
Database 소프트웨어만 설치할 것이므로 '소프트웨어만 설정'을 선택하고 <다음>을 클릭합니다.
3. 데이터베이스 설치 옵션
단일 서버를 위한 데이터베이스를 구성할 것이므로 '단일 인스턴스 데이터베이스 설치'를 선택하고 <다음>을 클릭합니다
4. 데이터베이스 버전
데이터베이스 버전은 'Enterprise Edition'을 선택합니다.
버전 선택 후 <다음>을 클릭합니다.
5. 설치 위치
설치 위치인 Oracle Base와 소프트웨어 위치(ORACLE_HOME)가 정상적으로 인식되었는지 확인하고 <다음>을 클릭합니다.
6. 운영 체제 그룹
OS(운영 체제) 인증을 위한 OS 그룹을 설정하는 단계입니다.
오라클의 권고사항에 따라 그룹을 세분화하였지만, 관리의 편의를 위해 1개의 그룹(dba)으로 통합하는 경우도 있습니다.
적절한 OS 그룹과 맵핑이 된다면 <다음>을 클릭합니다.
7. 루트 스크립트 실행
DBMS 설치 과정의 마지막 단계에 root 권한으로 스크립트를 실행하는 단계가 있습니다.
편의를 위해 '자동으로 구성 스크립트 실행'을 체크하고 '"루트" 사용자 인증서 사용'을 선택한 후 root 계정의 비밀번호를 입력하고 <다음>을 클릭합니다.
8. 필요 조건 검사
오라클의 요구사항에 맞게 필요 조건이 구성되어 있는지 검사하는 과정입니다.
문제가 없다면, 자동적으로 다음 단계로 넘어갑니다.
만약, 수정되어야 할 사항이 나온다면, 반드시 문제를 해결하고 설치를 진행해야 합니다.
9. 요약
설치에 앞서 지금까지 선택한 설치 옵션을 요약한 페이지입니다.
계획한 것과 다른 부분이 있을 때는 해당 항목을 편집하고, 모두 정상적일 때에는 <설치>를 클릭합니다.
10. 제품 설치
데이터베이스 소프트웨어의 설치가 진행됩니다.
구성 스크립트를 자동으로 실행할 것인지 뭍는 창이 뜨면 <예>를 클릭합니다.
설치 과정 중에 입력한 root 사용자의 비밀번호를 이용하여 자동으로 스크립트가 실행됩니다.
11. 완료
Database 소프트웨어 설치가 모두 완료되었으므로 <닫기>를 클릭합니다.
VI. Disk Group 생성
1. ASM Configuration Assistant 실행
asmca
빠른 복구 영역 생성을 위해 asmca를 실행합니다.
GUI 모드의 ASMCA에서 디스크 그룹을 추가합니다.
디스크 그룹
디스크 그룹 창에서 <생성>을 클릭합니다.
A) 디스크 그룹 생성
디스크 그룹 이름에 "FRA"를 입력하고, 중복성은 '외부(없음)'으로 지정합니다.
FRA로 할당된 디스크를 체크하고 <확인>을 클릭합니다.
디스크 그룹 추가 작업이 완료되었으면 <종료>를 클릭합니다.
종료 확인 창에 <예>를 클릭하여 ASMCA를 닫습니다.
crsctl stat res -t
[grid@+ASM ~]$ crsctl stat res -t -------------------------------------------------------------------------------- Name Target State Server State details -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.DATA.dg ONLINE ONLINE ol7 STABLE ora.FRA.dg ONLINE ONLINE ol7 STABLE ora.LISTENER.lsnr ONLINE ONLINE ol7 STABLE ora.asm ONLINE ONLINE ol7 Started,STABLE ora.ons OFFLINE OFFLINE ol7 STABLE -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.cssd 1 ONLINE ONLINE ol7 STABLE ora.diskmon 1 OFFLINE OFFLINE STABLE ora.driver.afd 1 ONLINE ONLINE ol7 STABLE ora.evmd 1 ONLINE ONLINE ol7 STABLE --------------------------------------------------------------------------------
FRA 디스크 그룹이 생성된 것을 확인할 수 있습니다.
VII. Database 생성
1. 경로 권한 변경
chmod 770 /u01/app/oracle/admin
[root@ol7 ~]# chmod 770 /u01/app/oracle/admin
grid와 oracle 유저를 분리하여 설치한 경우, 데이터베이스를 생성하기 전에 일부 디렉토리에 쓰기 권한을 같은 그룹의 유저에게 허용해야 정상적으로 생성이 가능합니다.
2. DBCA 실행
dbca
데이터베이스 생성을 위해 oracle 유저로 "dbca"를 실행합니다.
3. 데이터베이스 작업
'데이터베이스 생성'을 선택하고 <다음>을 클릭합니다.
4. 생성 모드
'고급 구성'을 선택하고 <다음>을 클릭합니다.
5. 배치 유형
데이터베이스 유형을 'Oracle 단일 인스턴스 데이터베이스'로 선택합니다.
데이터베이스 용도와 기존 시스템 구성 방식에 따라 구성 유형과 템플리트를 선택할 수 있습니다.
일반적인 사용이나 OLTP 업무 처리를 위해서 '범용 또는 트랜잭션 처리'를 선택하고 <다음>을 클릭합니다.
사용자 정의 데이터베이스를 선택할 경우, 원하는 옵션으로 좀 더 자세하게 설정할 수 있습니다.
6. 데이터베이스 식별
데이터베이스 이름과 컨테이너 데이터베이스(이하 CDB) 생성 여부를 선택할 수 있습니다.
Multitenant database를 생성하려면 '컨테이너 데이터베이스 생성'을 체크해야 합니다.
원하는 값을 입력한 후, <다음>을 클릭합니다.
7. 저장 영역 옵션
리두 로그와 컨트롤 파일 다중화가 하려면 <리두 로그 및 제어 파일 다중화>를 클릭하고, ASM 디스크 그룹 이름을 입력한 후 <확인>을 클릭합니다.
<파일 위치 변수> 버튼을 클릭하면 DB 엔진이 설치된 경로나 SID 등의 정보를 확인할 수 있습니다.
데이터베이스 저장 영역을 선택하는 단계입니다.
'데이터베이스 저장 영역 속성에 다음 사용'을 선택하고 데이터베이스 파일 저장 영역 유형을 'ASM(자동 저장 영역 관리)'로 선택합니다.
데이터베이스 파일 위치는 기본값인 "+DATA/{DB_UNIQUE_NAME}"을 유지하고 OMF(Oracle-Managed Files)사용을 체크합니다.
부가적으로 리두 로그와 컨트롤 파일 다중화가 필요하다면 <리두 로그 및 제어 파일 다중화>를 클릭합니다.
저장 공간 선택이 완료되면 <다음>을 클릭합니다.
8. 빠른 복구 옵션
<아카이브 모드 매개변수 편집>을 클릭하면 '자동 아카이브' 여부, '아카이브 로그 파일 형식'과 아카이브 로그 저장 경로를 설정할 수 있습니다.
아카이브 모드를 사용한다면, 데이터 파일과 혼동되지 않도록 아카이브 로그의 확장자를 dbf에서 arc로 변경하는 것을 권장합니다.
빠른 복구 영역 사용을 위해 '빠른 복구 영역 지정'을 체크합니다.
별도로 지정된 경로를 사용할 경우에는 우측의 <찾아보기> 버튼을 클릭하여 원하는 경로를 찾아서 선택합니다.
적당한 크기의 빠른 복구 영역 크기를 입력합니다.
아카이브 모드로 데이터베이스를 초기에 생성하려면 '아카이브 사용'을 체크합니다.
복구 영역에 대한 설정이 완료되었으면 <다음>을 클릭합니다.
9. 네트워크 구성
리스너를 생성하기 위해 '새 리스너 생성'을 체크합니다.
기존에 구성된 리스너를 사용할 경우에는 목록에서 리스너를 선택할 수 있습니다.
리스너 이름과 포트를 입력한 후에 <다음>을 클릭합니다.
10. Data Vault 옵션
데이터 보안을 위해 Database Vault 및 Label Security 설치를 선택할 수 있습니다.
따로 구성할 계획이 없으면 <다음>을 클릭합니다.
11. 구성 옵션
인스턴스 메모리 사이즈와 관리 방법을 선택하는 화면입니다.
물리 메모리가 4GB 이하인 경우에는 '자동 메모리 관리 사용'(AMM)이 기본값으로 선택되어, 물리 메모리의 40% 가량을 메모리 대상에 할당합니다.
물리 메모리가 4GB를 초과할 경우에는 '자동 공유 메모리 관리 사용'(ASMM)이 기본값으로 선택되어, SGA와 PGA에 물리 메모리의 40% 가량이 할당합니다.
이는 리눅스의 HugePage 기능에 따른 오라클 메모리 관리 방식의 호환성 차이에 따른 것이므로, 사용하려는 환경에 맞게 조정하면 됩니다.
다른 탭에서는 데이터베이스의 세부적인 환경을 변경할 수 있습니다.
데이터 블록의 기본은 8KB로 수정이 불가능합니다.
프로세스의 기본값은 300이며 서버의 사양과 업무량에 따라 수정할 수 있습니다.
문자 집합을 설정할 수 있습니다.
가급적 KO16MSWIN949 또는 AL32UTF8 문자 집합의 사용을 권장합니다.
트러블 슈팅이나 이슈 분석을 고려하여, 기본 언어를 '영어(미국)'으로 지정하는 편이 좋습니다.
서버 모드는 기본값인 '전용 서버 모드'를 유지하도록 합니다.
실제 운영 환경에서는 업무의 양과 특성에 따라 '공유 서버 모드'를 선택하고 공유 서버 수를 지정하면 됩니다.
필요에 따라 샘플 스키마를 선택할 수 있습니다.
모든 구성 옵션 선택이 완료 되었으면 <다음>을 클릭합니다.
12. 관리 옵션
데이터베이스 관리 옵션을 지정하는 단계입니다.
기존에 구축된 EMCC에 연동시키거나 EM Database express를 구성할 수 있습니다.
구성을 생략하고 <다음>을 클릭합니다.
13. 사용자 인증서
데이터베이스 관리 계정의 비밀번호를 지정하는 단계입니다.
높은 수준의 보안을 유지하기 위해 운영 환경에서는 사용자별로 다른 관리 비밀번호를 지정하는 것을 권장합니다.
실습을 위한 환경에서는 편의를 위해 '모든 계정에 동일한 관리 비밀번호 사용'을 선택하고 비밀 번호를 입력한 후 <다음>을 클릭합니다.
오라클이 요구하는 암호 복잡도를 충족하지 못했을 경우에는 이를 무시하고 데이터베이스 생성을 계속 진행할지를 묻는 메시지가 출력됩니다.
14. 생성 옵션
데이터베이스 생성 옵션을 선택하는 단계입니다.
기본적으로 ‘데이터베이스 생성’만 선택되어 있습니다.
데이터베이스 생성 후 실행할 SQL 스크립트를 지정하거나, 지금까지의 작업을 템플리트로 저장할 수도 있습니다.
데이터베이스 초기 파라미터를 변경하려면 <모든 초기화 매개변수> 버튼을 클릭하고, 리두 파일이나 제어 파일에 대한 설정을 변경하려면 <저장 영역 위치 사용자 정의>를 클릭합니다.
데이터베이스 생성 스크립트를 저장하기 위해 '데이터베이스 생성 스크립트 생성'을 체크한 후 <다음>을 클릭합니다.
A) 모든 초기화 매개변수
<모든 초기화 매개변수>를 클릭하면 데이터베이스 초기 파라미터를 변경할 수 있습니다.
'고급 매개변수 표시' 박스를 체크하면 모든 파라미터의 값을 자세히 확인할 수 있습니다.
B) 저장소 사용자 정의
<저장 영역 위치 사용자 정의> 버튼을 클릭하면, Control File이나 Redo Log에 대한 설정을 변경할 수 있습니다.
15. 요약
데이터베이스 생성에 앞서, 지금까지 선택한 옵션에 대한 요약 정보를 보여주는 단계입니다.
요구사항대로 선택이 되었는지 확인하고, 이상이 없으면 <완료>를 클릭합니다.
16. 진행 페이지
이전 단계에서 데이터베이스 생성 스크립트 생성을 선택하였을 경우에는 데이터베이스 생성에 앞서 먼저 데이터베이스 생성 스크립트가 만들어집니다.
스크립트 생성 후 자동으로 데이터베이스 생성이 진행됩니다.
메뉴 하단에 있는 로그를 통해 설치 진행 상황을 확인할 수 있습니다.
17. 완료
데이터베이스 생성이 완료되면, 데이터베이스 정보와 함께 작업 로그 위치를 표시하는 화면이 나옵니다.
<비밀번호 관리>를 클릭하면 생성된 계정의 비밀번호를 변경할 수 있습니다.
작업이 완료되었으면 <닫기> 버튼을 클릭합니다.
crsctl stat res -t
[grid@+ASM ~]$ crsctl stat res -t -------------------------------------------------------------------------------- Name Target State Server State details -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.DATA.dg ONLINE ONLINE ol7 STABLE ora.FRA.dg ONLINE ONLINE ol7 STABLE ora.LISTENER.lsnr ONLINE ONLINE ol7 STABLE ora.asm ONLINE ONLINE ol7 Started,STABLE ora.ons OFFLINE OFFLINE ol7 STABLE -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.cssd 1 ONLINE ONLINE ol7 STABLE ora.diskmon 1 OFFLINE OFFLINE STABLE ora.driver.afd 1 ONLINE ONLINE ol7 STABLE ora.evmd 1 ONLINE ONLINE ol7 STABLE ora.orcl.db 1 ONLINE ONLINE ol7 Open,HOME=/u01/app/o racle/product/19.3.0 /db_1,STABLE --------------------------------------------------------------------------------
데이터베이스가 정상적 구동중인 것을 crsctl 명령으로 확인할 수 있습니다.
{}