I. 개요
1. 사용 Software
제품명 | 버전 | 아키텍쳐 | 배포 사이트 |
---|---|---|---|
VirtualBox | 6.1.x | 호스트 환경에 따름 | https://www.virtualbox.org |
Oracle Enterprise Linux | 7 (Update 5 이상 권장) | x86 64bit | |
Oracle 11g RAC | 11.2.0.4 | Linux x86 64bit | https://edelivery.oracle.com (등록된 고객만 다운로드 가능) |
Oracle 11g Grid Patch | 18370031 | Linux x86 64bit | https://support.oracle.com (Extended Support 고객만 다운로드 가능) |
Oracle 11g Patch Set Update | 30501155 (202001) | Linux x86 64bit | https://support.oracle.com (Extended Support 고객만 다운로드 가능) |
Oracle 19c RAC | 19.3 | Linux x86 64bit | http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html |
Oracle 19c Release Update | 30501910 (202001) | Linux x86 64bit | https://support.oracle.com (등록된 고객만 다운로드 가능) |
Opatch | 11.2 & 12.2 | Linux x86 64bit | https://support.oracle.com (등록된 고객만 다운로드 가능) |
- Linux 7에 Grid 설치를 위해서 18370031 패치는 필수 입니다. 패치를 적용하지 않고 root 스크립트를 수행할 경우 클러스터 구성에 실패합니다.
- Grid를 11.2.0.4에서 19c로 업그레이드 하려면 28553832 (11.2.0.4.GIPSU:191015), 17617807 (11.2.0.4.GIPSU04), 21255373 (11.2.0.4.GIPSU:160419) 패치가 필요합니다.
- PSU 패치 30501155 (11.2.0.4.GIPSU:200114)를 적용하면 3가지가 통합되어 패치가 됩니다.
2. 구성 계획
A) 서버
VM | Host Name | Memory | Net Adapter 1 | Net Adapter 2 | 구성 방법 | 비고 |
---|---|---|---|---|---|---|
RAC1 | rac1 | 10GB | 브리지 어댑터 | 호스트 전용 어댑터 | 리눅스 설치 | dnsmasq를 사용하여 DNS 구성 |
RAC2 | rac2 | 10GB | 브리지 어댑터 | 호스트 전용 어댑터 | RAC1 복제 | dnsmasq를 사용하여 DNS 구성 |
리눅스 기반의 2 node RAC로 구성합니다.
B) 스토리지
파일 이름 | 용량 | 타입 | 용도 | 비고 |
---|---|---|---|---|
rac1.vdi | 100GB | Dynamic / Normal | RAC1 노드 스토리지 | 디스크 사용량을 최소화하기 위해 Dynamic으로 생성합니다. |
rac2.vdi | 100GB | Dynamic / Normal | RAC2 노드 스토리지 | vboxmanage clonemedium을 이용하여 rac1.vdi 파일을 복제합니다. |
CRS1.vdi | 1GB | Fixed / Shareable | OCR / Vote 저장 영역 | 공유(shareable) 디스크로 사용하기 위해서는 Fixed Size로 생성해야 합니다. |
CRS2.vdi | 1GB | Fixed / Shareable | ||
CRS3.vdi | 1GB | Fixed / Shareable | ||
DATA.vdi | 30GB | Fixed / Shareable | DATA 영역 | |
FRA.vdi | 20GB | Fixed / Shareable | Fast Recovery Area | |
RAW.vdi | 20GB | Fixed / Shareable | Raw Device 영역 |
Automatic Storage Management를 이용하여 Data 공간과 Fast Recovery Area를 구성합니다.
테스트를 위한 VM이므로 디스크 공간을 절약하기 위해 파일을 업로드 없이 VirtualBox의 게스트 확장 기능으로 VM에서 불러와 사용합니다.
C) 네트워크
VM | Public IP | Private IP | Virtual IP | Netmask | Gateway | DNS Server | SCAN IP |
---|---|---|---|---|---|---|---|
RAC1 | 10.0.1.101 | 10.0.5.101 | 10.0.1.201 | 255.255.255.0 | 10.0.1.1 | 127.0.0.1 | 10.0.1.191, 10.0.1.192, 10.0.1.193 |
RAC2 | 10.0.1.102 | 10.0.5.102 | 10.0.1.202 | 255.255.255.0 | 10.0.1.1 | 127.0.0.1 |
Netmask의 경우 Public과 Private 모두 24bit(255.255.255.0)을 사용합니다.
인터넷 공유기 또는 Gateway의 IP에 맞춰 Public IP와 Virtual IP를 설정하기 바랍니다.
별도의 DNS 서버 구성 없이 dnsmasq를 사용하여 RAC를 구축할 계획이므로 DNS는 Loopback IP로 지정합니다.
3. 호스트 환경
A) 시스템
12c부터는 64비트의 운영체제만을 지원하므로, 호스트 장비 또한 64비트 운영체제를 사용하여 구축해야 합니다.
메모리는 오라클의 권고에 따라 VM 노드당 8GB 이상이 필요하므로, 가능하면 20GB 이상의 메모리가 장착된 환경에서 작업하는 것을 권합니다.
(구축 테스트를 위해 임시적으로 설치하는 것이라면 경고 메시지를 무시하고 8GB 이하로 구성할 수도 있으나, 운영 환경에서는 권고하지 않습니다.)
B) 스토리지
디스크 I/O에 의한 지연을 최소화하기 위해 호스트의 OS가 설치되지 않은 별도의 내장 디스크를 사용하거나 SSD의 사용을 권합니다.
ESATA 또는 USB 3.0 이상의 빠른 속도를 보장하는 외장 디스크를 사용하는 것도 방법일 수 있습니다만 지속적인 연결이 보장되어야 합니다.
사실상 디스크의 속도에 따라 설치에 소요되는 시간이 크게 좌우되므로, 가급적이면 안정적이고 빠른 스토리지를 사용하기 바랍니다.
II. VM 구성
1. VM 생성
RAC 1번 노드 구성을 위한 VM을 생성합니다.
<새로 만들기> 버튼을 클릭합니다.
A) 가상 머신 만들기
OS의 종류는 'Linux'로 하고 설치될 버전은 'Oracle (64-bit)'를 선택합니다.
머신 폴더는 VM 설정을 위한 파일이나, 가상 이미지를 저장할 디렉토리를 선택합니다. 가급적 성능이 좋은 디스크나 SSD에 저장할 것을 권합니다.
Oracle Database은 12c R1 버전부터 64bit만을 지원하고 있습니다.
Client 소프트웨어만 32bit 프로그램을 제공합니다.
기본 메모리는 "10240MB"로 지정합니다.
Grid를 설치하기 위한 최소 메모리는 8GB 이지만, 원활한 작업을 위해서는 가급적 10GB 이상을 할당하는 것이 좋습니다.
새로운 디스크를 생성해야 하므로 '지금 새 가상 하드 디스크 만들기'를 선택하고 <만들기>를 클릭합니다.
B) 가상 하드 디스크 만들기
가상 하드 디스크 파일의 종류는 'VDI(VirtualBox 디스크 이미지)'를 선택한 후 <다음>을 클릭합니다.
물리적 하드 드라이브 저장 방식은 '동적 할당'으로 하고 <다음>을 클릭합니다.
디스크 파일의 크기는 "100GB"로 한 후 <만들기>를 클릭하면 VM이 생성됩니다.
2. VM 설정 변경
생성된 가상 머신의 설정을 변경해야 하므로, 가상 머신을 선택하고 <설정>을 클릭합니다.
A) 시스템
부팅 순서에서 "플로피 디스크"를 해제하고, "광 디스크"가 우선권을 갖도록 합니다.
B) 디스플레이
VirtualBox에서 제공하는 Guest Additions 기능을 설치하는 과정에서 화면이 깨지는 경우가 있으므로, 잠시 그래피 컨트롤러를 "VBoxVGA"로 선택합니다.
설치가 정상으로 된 후에는 원래의 설정인 "VMSVGA"로 원복시켜주면 됩니다.
C) 저장소
설치할 리눅스 디스크 이미지를 마운트 하기 위해 저장소로 이동합니다.
'컨트롤러 : IDE'를 선택하고, 속성의 '광학 드라이브' 우측의 광 디스크 모양 아이콘을 클릭합니다.
리눅스 이미지가 있는 경로를 찾아가서 마운트하면, IDE 컨트롤러에 리눅스 설치 이미지가 마운트 됩니다.
D) 오디오
오디오는 사용하지 않을 것이므로 '오디오 사용하기'는 해제합니다.
E) 네트워크
1번 네트워크 카드를 설치될 환경에 맞게 적절한 장치에 연결합니다.
일반적으로 외부와 통신을 하기 위해서 '어댑터에 브리지'를 선택합니다.
RAC 노드간의 통신을 위해 2번 어댑터를 활성화해야 합니다.
어댑터 2번 항목에 가서 '네트워크 어댑터 사용하기'를 체크합니다.
그리고, RAC 노드 내부에서만 사용할 것이므로 '호스트 전용 어댑터'를 클릭합니다.
사전에 VirtualBox의 호스트 전용 네트워크가 생성되어 있어야 합니다.
F) 공유 폴더
VirtualBox 상에서 Guest Additions 을 설치하면, 공유 폴더 기능을 사용할 수 있습니다.
공유 폴더를 설정할 경우, 호스트 서버에 저장된 설치 파일을 업로드 없이 바로 사용할 수 있습니다.
오른쪽에 폴더 모양에 '+' 표시가 있는 아이콘을 클릭합니다.
공유할 폴더를 입력하기 위해 폴더 경로에 '기타'를 선택합니다
공유할 폴더를 선택하고, 폴더 이름을 "oracle"로 지정하고 '자동 마운트'를 선택한 후 <OK>를 클릭합니다
설정 변경이 모두 완료되었으므로 <OK>를 클릭합니다.
리눅스 설치를 위해 <시작> 버튼을 클릭하면, 마운트된 리눅스 이미지로 가상 시스템이 부팅되며 OS 설치가 시작 됩니다.
III. Oracle Linux 7 설치
1. 부팅
A) 미디어 검사 여부 선택
설치 미디어에 대한 테스트 없이 바로 설치를 진행하려면 'Install Oracle Linux 7.x'를 키보드로 선택하고 "엔터"를 입력합니다.
B) 언어 선택
실습의 편의를 위해 설치 언어는 '한국어'를 선택하고 <계속 진행>을 클릭합니다.
운영 환경에서는 이슈 발생시의 문제 해결이나 디버깅 등을 위해 영어로 설치하는 것을 권합니다.
2. 설치 요약
A) 소프트웨어 선택
설치 요약 화면입니다.
이 화면에서 각 항목별로 필요한 옵션을 수정한 후에 설치를 진행할 예정입니다.
먼저 '소프트웨어 선택' 항목을 클릭합니다.
서버에서 직접 GUI 모드로 설치하기 위해 '서버 - GUI 사용'을 선택하고, 우측의 '선택한 환경의 기능'에서 다음의 두 기능을 추가합니다.
- 호환성 라이브러리
- 개발용 도구
그리고 <완료>를 클릭합니다.
B) 설치 대상
다음으로 '설치 대상'을 수정합니다.
설치할 디스크를 체크하고 '파티션을 설정합니다'를 선택한 후에 <완료> 버튼을 클릭합니다.
C) 파티션 설정
'수동으로 파티션 설정' 화면으로 전환됩니다.
'새로운 Oracle Linux 7.x 설치' 항목 좌측 하단에 <+> 버튼을 클릭하여 마운트 지점을 생성합니다
마운트 지점을 "/boot"로 지정하고 "500MiB"를 할당한 후 <마운트 지점 추가>를 클릭합니다.
swap 영역도 <+> 버튼을 클릭하여 '새 마운트 지점 추가' 창을 연 후에 RAM 크기와 동일한 10GiB를 할당하고, <마운트 지점 추가> 버튼을 클릭합니다.
swap의 크기는 아래와 같이 크기를 할당할 수 있습니다.
물리 메모리(RAM) 크기 | swap 영역 크기 |
---|---|
1GB~2GB | RAM의 1.5배 크기 |
2GB~16GB | RAM과 동일한 크기 |
16GB 이상 | 16GB |
동일한 방식으로 나머지 공간을 "/"(root) 영역에 할당 합니다.
용량 항목을 빈 칸으로 입력한 후 <마운트 지점 추가>를 클릭하면 나머지 전체 영역이 할당됩니다.
각각의 마운트 지점이 아래와 같은 크기로 할당됩니다.
할당 영역 | 크기 |
---|---|
/boot | 200MB |
swap | 10GB |
/ | 나머지 공간 할당 |
적용된 내용을 확인한 후에 <완료> 버튼을 클릭합니다.
변경 요약 화면이 나오면 <변경 사항 적용> 버튼을 클릭합니다.
D) KDUMP
실습을 위한 구축이므로 'KDUMP' 항목에서 kdump 기능을 비활성화하려 합니다.
'KDUMP' 항목으로 이동합니다.
'kdump 활성화'를 해제합니다.
운영 환경에서는 문제 해결 등의 이유로 활성화된 상태로 사용할 수 있으며, 운영 정책에 따라 지정해야 합니다.
필요한 옵션을 선택하였으면 <완료>를 클릭합니다
네트워크 및 호스트명
네트워크와 호스트명을 변경하기 위해 '네트워크 및 호스트명' 항목을 선택합니다.
네트워크와 호스트 이름을 설정해야 합니다.
좌측에서 Public 네트워크와 연결할 이더넷 인터페이스인 enp0s3을 선택하고 우측 하단의 <설정> 버튼을 클릭합니다.
VirtualBox가 아닌 VMware를 사용할 경우, 인터페이스 이름이 다를 수 있습니다.
네트워크 인터페이스명은 BIOS나 firmware를 기준으로 자동으로 생성됩니다.
RAC를 구성하는데 있어서, 모든 노드의 public 이더넷과 private 이더넷의 이름이 각 그룹내에서 동일해야 경고없이 설치나 패치를 진행할 수 있습니다.
일반 탭에서 '사용 가능하면 자동으로 이 네트워크에 연결'을 체크합니다.
IPv4 설정 탭으로 이동하여 방식에 '수동'을 선택합니다.
'Add' 버튼을 클릭하고 다음의 정보를 입력합니다.
항목 | 입력값 | 비고 |
---|---|---|
주소 | 10.0.1.101 | 1번 노드 Public IP 주소 |
넷마스크 | 24 | 서브넷 마스크 값으로 255.255.255.0 사용 가능 |
게이트웨이 | 10.0.1.1 | Public 망의 게이트웨이 |
DNS 서버 | 127.0.0.1 | dnsmasq를 사용할 경우 loopback IP 사용 |
검색 도메인 | localdomain | 로컬 도메인 정보 입력 |
DNS가 없는 환경이어서 dnsmasq를 사용할 것이므로 DNS 서버에 "127.0.0.1"을 입력하였으나, 운영 환경에서는 적절한 DNS 주소 입력이 필요합니다.
IPv6는 사용하지 않을 것이므로 방식에 '무시'를 선택하고, <저장>을 클릭합니다.
이더넷(enp0s3)에 입력한 Public 네트워크 정보가 적용된 것을 확인할 수 있습니다.
이번에는 좌측에서 Private 네트워크와 연결할 이더넷 인터페이스인 enp0s8을 선택하고 우측 하단의 <설정> 버튼을 클릭합니다.
일반 탭에서 '사용 가능하면 자동으로 이 네트워크에 연결'을 체크합니다.
IPv4 설정 탭으로 이동하여 방식에 '수동'을 선택합니다.
'Add' 버튼을 클릭하고 다음의 정보를 입력합니다.
항목 | 입력값 | 비고 |
---|---|---|
주소 | 10.0.5.101 | 1번 노드 Private IP 주소 |
넷마스크 | 24 | 서브넷 마스크 값으로 255.255.255.0 사용 가능 |
Private 망을 위한 설정으로 게이트웨이나 DNS값은 비워둡니다.
실습에서는 Private 연결에 별도의 장치를 구성하지는 않았지만, 운영 환경에서는 노드 간의 통신은 L2 이상의 장비를 통해 연결되어야 합니다. (오라클 권고)
IPv6는 사용하지 않을 것이므로 방식에 '무시'를 선택하고, <저장>을 클릭합니다.
이더넷(enp0s8)에 입력한 Private 네트워크 정보가 적용된 것을 확인할 수 있습니다.
좌측 하단에 서버에 사용될 호스트명을 입력하고 <적용>을 클릭합니다.
실습 환경에서는 1번 노드는 "rac1"을 사용할 것입니다.
네트워크 구성이 완료되었으므로 <완료> 버튼을 클릭합니다.
E) SECURITY POLICY
보안 관련 설정을 변경하기 위해 'SECURITY POLICY' 항목으로 이동합니다.
실습에서는 'SECURITY POLICY'의 모든 내용을 끄고 진행하겠습니다.
'Apply security policy'를 끄고 <완료>를 클릭합니다.
운영 환경에서는 보안 정책을 고려하여 설정을 변경할 것을 권고합니다.
설치를 위한 사전 준비가 모두 완료되었으므로 <설치 시작>을 클릭합니다.
3. 사용자 설정
A) ROOT 암호
설치가 진행되는 중간에 root 계정의 암호와 추가 사용자를 생성할 수 있습니다.
먼저 'ROOT 암호'를 선택합니다.
적당한 암호를 입력하고 <완료> 버튼을 클릭합니다.
취약한 암호를 사용할 경우에는 <완료> 버튼을 2번 클릭해야 합니다.
B) 사용자 생성
'사용자 생성'에서는 root와는 별개의 관리자 권한을 생성하겠습니다.
리눅스 7버전에서는 별도의 관리자 계정을 생성하여 사용하는 것을 권하고 있습니다.
추가할 관리자 계정의 정보를 입력하고 <완료> 버튼을 클릭합니다.
OS 설치가 진행되는 동안 기다립니다.
4. 재부팅
설치가 완료되면 <재부팅> 버튼을 클릭합니다.
가상 머신이 재부팅됩니다.
A) LICENSE INFORMATION
재부팅 화면에서 'LICENSE INFORMATION'을 클릭하여 라이센스 동의를 진행합니다.
'약관에 동의합니다'를 체크하고 <완료>를 클릭합니다.
모든 구성이 완료되었으므로 본격적인 사용을 위해 <설정 완료>를 클릭합니다.
{}
IV. 리눅스 환경 설정
1. GUI 접속 환경 설정
A) root 계정 접속
VirtualBox를 사용하는 실습 환경에서는 편의를 위해 Guest Addition을 설치하는 것이 좋습니다.
VMware라면 VMware Tools를 설치할 수 있습니다.
물론 가상머신을 사용하지 않는 운영 환경에서는 이 방법을 사용할 수 없고, ftp나 sftp 등의 방식으로 파일을 서버에 업로드해야 합니다.
root 유저로 접속하기 위해서 초기 접속 화면에 '목록에 없습니까?'를 클릭합니다.
사용자 이름에 "root"를 입력하고 <다음>을 클릭합니다.
암호에 root 계정의 암호를 입력하고 <다음>을 클릭합니다.
처음 접속시 환영 메시지와 함께 초기 설정 화면이 나옵니다.
언어를 '한국어'로 선택한 상태에서 <다음>을 클릭합니다.
운영 환경에서는 영어(English)를 사용하는 것을 권합니다.
키보드 배치에 '한국어'가 선택된 상태에서 <다음>을 클릭합니다.
위치 정보 서비스를 '끔'으로 변경하고 <다음>을 클릭합니다.
온라인 계정 설정 화면에서 <건너뛰기>를 클릭합니다.
마지막으로 'Oracle Linux Server 시작'을 클릭하면, 초기 설정 창이 닫힙니다.
시작하기란 새로운 창이 열리면 창 우측 상단의 'x' 표시를 클릭하여 닫아 줍니다.
GUI 모드로 다른 계정에 처음 접속할 때도, 동일한 방식으로 접속을 진행하면 됩니다.
B) VirtualBox Guest Additions 설치
호스트 머신의 VirtualBox 메뉴에서 '장치' > '게스트 확장 CD 이미지 삽입'을 클릭하여, Guest Additions CD를 가상머신에 mount 시켜줍니다
설치 미디어가 인식되면 자동 시작 프로그램에 대한 안내 창이 뜹니다.
설치를 진행하기 위해 <실행>을 클릭합니다.
Guest Additions이 정상적으로 설치되었으면, 마운트 된 설치 이미지를 eject 해야 합니다.
바탕화면을 마우스 우측 버튼으로 클릭하면 드롭다운 메뉴가 펼쳐지며, '터미널 열기'를 클릭하면 됩니다.
터미널에서 eject 명령어로 이미지를 해제한 후, 가상머신의 디스플레이 설정을 변경하기 위해서 shutdown 명령어로 서버를 중지합니다.
가상머신의 설정 메뉴에서 디스플레이의 그래픽 컨트롤러를 'VMSVGA'로 원복한 후에 가상 머신을 다시 기동합니다.
자동 설치 스크립트가 실행되며, VM에 Guest Addition이 설치됩니다.
설치가 완료되면 "엔터"를 입력하여 실행 창을 닫아줍니다.
C) 화면 해상도 변경
가상 머신을 설치하게 되면 기본 화면 크기가 800*600으로 설정되어 있습니다.
OUI 로 설치를 진행하기 위해서는 화면의 해상도를 변경해야 합니다.
메뉴바에서 '프로그램' > '시스템 도구' > '설정'을 클릭합니다.
좌측의 항목 중에서 '장치'를 클릭합니다.
장치 목록에서 '디스플레이'를 선택한 후, '해상도' 부분을 클릭합니다.
해상도를 선택할 수 있는 창이 열리면 '1024x768' 이상의 화면 크기롤 선택합니다.
원하는 해상도를 선택하였으면 우측 상단의 <적용> 버튼을 클릭하여, 선택한 값으로 해상도가 변경되도록 합니다.
정상적으로 화면이 출력된다면, 디스클레이 설정 유지 여부를 뭍는 창에서 '바뀐 사항 유지'를 클릭하면 변경된 해상도로 계속 사용할 수 있게 됩니다.
{}
2. 리눅스 환경 설정
A) 설치 정보 확인
uname -a cat /etc/oracle-release
[root@rac1 ~]# uname -a Linux rac1 4.1.12-112.16.4.el7uek.x86_64 #2 SMP Mon Mar 12 23:57:12 PDT 2018 x86_64 x86_64 x86_64 GNU/Linux [root@rac1 ~]# cat /etc/oracle-release Oracle Linux Server release 7.5
먼저 설치된 리눅스의 버전 정보를 확인합니다.
B) 미사용 서비스 정리
### 방화벽 중지 systemctl stop firewalld systemctl disable firewalld ### 블루투스 중지 systemctl stop bluetooth systemctl disable bluetooth ### 시간 동기화 중지 systemctl stop chronyd systemctl disable chronyd mv /etc/chrony.conf /etc/chrony.conf.bak ### NTP 중지 systemctl stop ntpdate systemctl disable ntpdate ### AVAHI 중지 systemctl stop avahi-daemon.socket systemctl disable avahi-daemon.socket systemctl stop avahi-daemon systemctl disable avahi-daemon ### 가상 시스템 관리 중지 systemctl stop libvirtd systemctl disable libvirtd
[root@rac1 ~]# systemctl stop firewalld [root@rac1 ~]# systemctl disable firewalld Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. [root@rac1 ~]# systemctl stop bluetooth [root@rac1 ~]# systemctl disable bluetooth Removed symlink /etc/systemd/system/dbus-org.bluez.service. Removed symlink /etc/systemd/system/bluetooth.target.wants/bluetooth.service. [root@rac1 ~]# systemctl stop chronyd [root@rac1 ~]# systemctl disable chronyd Removed symlink /etc/systemd/system/multi-user.target.wants/chronyd.service. [root@rac1 ~]# mv /etc/chrony.conf /etc/chrony.conf.bak [root@rac1 ~]# systemctl stop ntpdate [root@rac1 ~]# systemctl disable ntpdate [root@rac1 ~]# systemctl stop avahi-daemon.socket [root@rac1 ~]# systemctl disable avahi-daemon.socket Removed symlink /etc/systemd/system/sockets.target.wants/avahi-daemon.socket. [root@rac1 ~]# systemctl stop avahi-daemon [root@rac1 ~]# systemctl disable avahi-daemon Removed symlink /etc/systemd/system/multi-user.target.wants/avahi-daemon.service. Removed symlink /etc/systemd/system/dbus-org.freedesktop.Avahi.service. [root@rac1 ~]# systemctl stop libvirtd [root@rac1 ~]# systemctl disable libvirtd 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.
테스트 환경에서 사용하지 않는 서비스를 정리합니다.
실습 환경에서는 CTSS를 활성화 모드로 운영할 것이므로 NTP나 chrony 등의 시간 동기화 서비스를 중지할 것입니다.
그러나 실제 운영환경에서는 구성 환경을 고려하여 사용 여부를 결정해야하며, 가급적 NTP를 설정(-x 포함)하여 사용하는 것을 권장합니다.
C) 리눅스 제공 필수 패키지 설치
cd <리눅스 설치 디스크 마운트 경로>/Packages rpm -ivh ksh-*.el7.x86_64.rpm rpm -ivh libaio-devel-*.el7.x86_64.rpm rpm -ivh oracleasm-support-*.el7.x86_64.rpm
[root@rac1 ~]# cd /run/media/root/OL-7.5\ Server.x86_64/Packages [root@rac1 Packages]# rpm -ivh ksh-20120801-137.0.1.el7.x86_64.rpm 경고: ksh-20120801-137.0.1.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY 준비 중... ################################# [100%] Updating / installing... 1:ksh-20120801-137.0.1.el7 ################################# [100%] [root@rac1 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%] [root@rac1 Packages]# rpm -ivh oracleasm-support-2.1.11-2.el7.x86_64.rpm 경고: oracleasm-support-2.1.11-2.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY 준비 중... ################################# [100%] Updating / installing... 1:oracleasm-support-2.1.11-2.el7 ################################# [100%] 알림: 'systemctl enable oracleasm.service'에 요청을 전송하고 있습니다. Created symlink from /etc/systemd/system/multi-user.target.wants/oracleasm.service to /usr/lib/systemd/system/oracleasm.service.
리눅스 설치시에 기본적으로 설치된 패키지 외에 추가로 3개의 패키지를 설치해야 합니다.
리눅스 설치 이미지를 mount한 후에 Package 디렉토리로 이동하여 패키지를 설치합니다.
D) 11g 설치를 위한 필수 패키지 추가 설치
rpm -ivh zlib-devel-*.el7.x86_64.rpm rpm -ivh elfutils-libelf-devel-*.el7.x86_64.rpm
[root@rac1 Packages]# rpm -ivh zlib-devel-1.2.7-17.el7.x86_64.rpm 경고: zlib-devel-1.2.7-17.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY 준비 중... ################################# [100%] Updating / installing... 1:zlib-devel-1.2.7-17.el7 ################################# [100%] [root@rac1 Packages]# rpm -ivh elfutils-libelf-devel-0.170-4.el7.x86_64.rpm 경고: elfutils-libelf-devel-0.170-4.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY 준비 중... ################################# [100%] Updating / installing... 1:elfutils-libelf-devel-0.170-4.el7################################# [100%]
리눅스 7에 오라클 11g R2를 설치하기 위해서는 추가로 elfutils-libelf-devel 패키지를 설치해야 하며, 이 패키지를 설치하기 위해서는 zlib-devel 패키지가 먼서 설치되어야 합니다.
E) OCFS2를 위한 패키지 추가 설치
rpm -ivh ocfs2-tools-*.el7.x86_64.rpm rpm -ivh libcom_err-devel-*.el7.x86_64.rpm rpm -ivh e2fsprogs-devel-*.el7.x86_64.rpm rpm -ivh pcre-devel-*.el7.x86_64.rpm rpm -ivh glib2-devel-*.el7.x86_64.rpm rpm -ivh ocfs2-tools-devel-*.x86_64.rpm cd eject
[root@rac1 Packages]# rpm -ivh ocfs2-tools-1.8.6-9.el7.x86_64.rpm 경고: ocfs2-tools-1.8.6-9.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY 준비 중... ################################# [100%] Updating / installing... 1:ocfs2-tools-1.8.6-9.el7 ################################# [100%] [root@rac1 Packages]# rpm -ivh libcom_err-devel-1.42.9-11.0.1.el7.x86_64.rpm 경고: libcom_err-devel-1.42.9-11.0.1.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY 준비 중... ################################# [100%] Updating / installing... 1:libcom_err-devel-1.42.9-11.0.1.el################################# [100%] [root@rac1 Packages]# rpm -ivh e2fsprogs-devel-1.42.9-11.0.1.el7.x86_64.rpm 경고: e2fsprogs-devel-1.42.9-11.0.1.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY 준비 중... ################################# [100%] Updating / installing... 1:e2fsprogs-devel-1.42.9-11.0.1.el7################################# [100%] [root@rac1 Packages]# rpm -ivh pcre-devel-8.32-17.el7.x86_64.rpm 경고: pcre-devel-8.32-17.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY 준비 중... ################################# [100%] Updating / installing... 1:pcre-devel-8.32-17.el7 ################################# [100%] [root@rac1 Packages]# rpm -ivh glib2-devel-2.54.2-2.el7.x86_64.rpm 경고: glib2-devel-2.54.2-2.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY 준비 중... ################################# [100%] Updating / installing... 1:glib2-devel-2.54.2-2.el7 ################################# [100%] [root@rac1 Packages]# rpm -ivh ocfs2-tools-devel-1.8.6-9.el7.x86_64.rpm 경고: ocfs2-tools-devel-1.8.6-9.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY 준비 중... ################################# [100%] Updating / installing... 1:ocfs2-tools-devel-1.8.6-9.el7 ################################# [100%] [root@rac1 Packages]# cd [root@rac1 ~]# eject
Raw Device에서 아카이브 로그 저장을 위한 공유 스토리즈를 사용하기 위해 OCFS2를 위한 패키지를 추가로 설치합니다.
설치가 완료되면 설치 이미지 밖의 경로로 이동한 후에 이미지를 eject 시켜줍니다.
그러지 않을 경우, 재부팅시 다시 리눅스 설치 화면으로 돌아오게 됩니다.
rpm -q binutils rpm -q compat-libcap1 rpm -q compat-libstdc++-33 rpm -q glibc rpm -q glibc-devel rpm -q kmod-20 rpm -q kmod-libs-20 rpm -q ksh rpm -q libaio rpm -q libaio-devel rpm -q libgcc rpm -q libstdc++ rpm -q libstdc++-devel rpm -q libX11 rpm -q libXau rpm -q libxcb rpm -q libXi rpm -q libXtst rpm -q make rpm -q net-tools rpm -q nfs-utils rpm -q smartmontools rpm -q sysstat
[root@rac1 ~]# rpm -q binutils binutils-2.27-27.base.el7.x86_64 [root@rac1 ~]# rpm -q compat-libcap1 compat-libcap1-1.10-7.el7.x86_64 [root@rac1 ~]# rpm -q compat-libstdc++-33 compat-libstdc++-33-3.2.3-72.el7.x86_64 [root@rac1 ~]# rpm -q glibc glibc-2.17-222.el7.x86_64 [root@rac1 ~]# rpm -q glibc-devel glibc-devel-2.17-222.el7.x86_64 [root@rac1 ~]# rpm -q kmod-20 kmod-20-21.0.1.el7.x86_64 [root@rac1 ~]# rpm -q kmod-libs-20 kmod-libs-20-21.0.1.el7.x86_64 [root@rac1 ~]# rpm -q ksh ksh-20120801-137.0.1.el7.x86_64 [root@rac1 ~]# rpm -q libaio libaio-0.3.109-13.el7.x86_64 [root@rac1 ~]# rpm -q libaio-devel libaio-devel-0.3.109-13.el7.x86_64 [root@rac1 ~]# rpm -q libgcc libgcc-4.8.5-28.0.1.el7.x86_64 [root@rac1 ~]# rpm -q libstdc++ libstdc++-4.8.5-28.0.1.el7.x86_64 [root@rac1 ~]# rpm -q libstdc++-devel libstdc++-devel-4.8.5-28.0.1.el7.x86_64 [root@rac1 ~]# rpm -q libX11 libX11-1.6.5-1.el7.x86_64 [root@rac1 ~]# rpm -q libXau libXau-1.0.8-2.1.el7.x86_64 [root@rac1 ~]# rpm -q libxcb libxcb-1.12-1.el7.x86_64 [root@rac1 ~]# rpm -q libXi libXi-1.7.9-1.el7.x86_64 [root@rac1 ~]# rpm -q libXtst libXtst-1.2.3-1.el7.x86_64 [root@rac1 ~]# rpm -q make make-3.82-23.el7.x86_64 [root@rac1 ~]# rpm -q net-tools net-tools-2.0-0.22.20131004git.el7.x86_64 [root@rac1 ~]# rpm -q nfs-utils nfs-utils-1.3.0-0.54.0.1.el7.x86_64 [root@rac1 ~]# rpm -q smartmontools smartmontools-6.5-1.el7.x86_64 [root@rac1 ~]# rpm -q sysstat sysstat-10.1.5-13.el7.x86_64
오라클 설치에 필요한 리눅스 패키지들이 모두 설치되어 있는지 검증합니다.
누락된 패키지가 있다면 반드시 설치해야 합니다.
패키지 파일은 yum을 이용하여 직접 설치하거나 Oracle Linux Repository에서 다운로드 할 수 있습니다.
대부분의 패키지는 설치 미디어에 함께 제공되고 있습니다.
F) hosts 파일 수정
### Public 10.0.1.101 rac1 rac1.localdomain 10.0.1.102 rac2 rac2.localdomain ### Private 10.0.5.101 rac1-priv rac1-priv.localdomain 10.0.5.102 rac2-priv rac2-priv.localdomain ### Virtual 10.0.1.201 rac1-vip rac1-vip.localdomain 10.0.1.202 rac2-vip rac2-vip.localdomain ### DNS 10.0.1.150 dns dns.localdomain ### SCAN 10.0.1.191 rac-scan rac-scan.localdomain 10.0.1.192 rac-scan rac-scan.localdomain 10.0.1.193 rac-scan rac-scan.localdomain
/etc/hosts 파일에 설치할 모든 서버의 IP와 호스트명을 추가합니다.
오라클 소프트웨어 설치를 정상적으로 진행하기 위해 로컬 노드와 원격 노드에 대한 정보를 정확히 입력해야 합니다.
SCAN IP는 1개만 할당해도 설치에 지장은 없습니다. 다만, 18c부터는 3개를 할당하지 않을 경우, 필요 조건 검사 과정에서 검증 실패 메시지가 출력됩니다.
G) 보안 설정 변경
SELINUX=permissive
setenforce permissive
Selinux 모드를 permissive로 변경합니다.
H) dnsmasq 활성화
local=/localdomain/
dnsmasq 서비스의 환경 설정 파일에 로컬 도메인에 대한 정보를 입력합니다.
cat /etc/resolv.conf systemctl start dnsmasq systemctl enable dnsmasq nslookup rac-scan.localdomain # 재기동 필요
[root@rac1 ~]# cat /etc/resolv.conf # Generated by NetworkManager search localdomain nameserver 127.0.0.1 [root@rac1 ~]# systemctl start dnsmasq [root@rac1 ~]# systemctl enable dnsmasq Created symlink from /etc/systemd/system/multi-user.target.wants/dnsmasq.service to /usr/lib/systemd/system/dnsmasq.service. [root@rac1 ~]# nslookup rac-scan.localdomain Server: 127.0.0.1 Address: 127.0.0.1#53 Name: rac-scan.localdomain Address: 10.0.1.191 Name: rac-scan.localdomain Address: 10.0.1.192 Name: rac-scan.localdomain Address: 10.0.1.193 [root@rac1 ~]# nslookup rac-scan.localdomain Server: 127.0.0.1 Address: 127.0.0.1#53 Name: rac-scan.localdomain Address: 10.0.1.192 Name: rac-scan.localdomain Address: 10.0.1.193 Name: rac-scan.localdomain Address: 10.0.1.191 [root@rac1 ~]# nslookup rac-scan.localdomain Server: 127.0.0.1 Address: 127.0.0.1#53 Name: rac-scan.localdomain Address: 10.0.1.193 Name: rac-scan.localdomain Address: 10.0.1.191 Name: rac-scan.localdomain Address: 10.0.1.192
별도의 DNS 서비스 없이 SCAN을 사용하기 위해 dnsmasq 서비스를 활성화합니다.
DNS 설정 파일(resolv.conf)에는 "nameserver 127.0.0.1"가 입력되어 있어야 합니다.
I) 가상 메모리 파일 시스템 할당
tmpfs /dev/shm tmpfs size=8g 0 0
mount -o remount /dev/shm
tmpfs /dev/shm tmpfs size=8g 0 0
[root@rac1 ~]# mount -o remount /dev/shm [root@rac1 ~]# df -h | grep shm tmpfs 8.0G 84K 8.0G 1% /dev/shm
가상 메모리 파일 시스템(tmpfs) 값을 설정하고 remount하여 적용시킵니다.
J) oracle 제공 추가 패키지 설치
rpm -ivh oracle-database-preinstall-19c-*.el7.x86_64.rpm rpm -ivh oracleasmlib-*.el7.x86_64.rpm
[root@rac1 tmp]# 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%] [root@rac1 tmp]# rpm -ivh oracleasmlib-2.0.12-1.el7.x86_64.rpm 경고: oracleasmlib-2.0.12-1.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY 준비 중... ################################# [100%] Updating / installing... 1:oracleasmlib-2.0.12-1.el7 ################################# [100%]
preinstall 패키지는 Oracle Linux Repository에서 받을 수 있고, ASMLib 패키지는 아래 경로에서 다운로드 합니다.
https://www.oracle.com/technetwork/server-storage/linux/asmlib/rhel7-2773795.html
K) 그룹 및 사용자 계정 작업
### 그룹 등록 (정책에 따라 생략) # groupadd oper # groupadd backupdba # groupadd dgdba # groupadd kmdba # groupadd racdba groupadd asmadmin groupadd asmdba groupadd asmoper ### 유저 그룹 설정 변경 (vboxsf는 VirtualBox의 Guest Additions 사용시 설정) usermod -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba,asmadmin,asmdba,asmoper,vboxsf oracle # usermod -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba,asmadmin,asmdba,asmoper oracle ### 계정 암호 변경 passwd oracle
[root@rac1 ~]# groupadd asmadmin [root@rac1 ~]# groupadd asmdba [root@rac1 ~]# groupadd asmoper [root@rac1 ~]# usermod -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba,asmadmin,asmdba,asmoper,vboxsf oracle [root@rac1 ~]# passwd oracle oracle 사용자의 비밀 번호 변경 중 새 암호: 잘못된 암호: 암호는 8 개의 문자 보다 짧습니다 새 암호 재입력: passwd: 모든 인증 토큰이 성공적으로 업데이트 되었습니다.
소프트웨어를 설치할 사용자 계정과 그룹을 생성 또는 추가합니다.
preinstall 패키지가 설치되었다면 oracle 유저와 oinstall, dba, oper, backupdba, dgdba, kmdba, racdba 그룹은 이미 생성되어 있습니다.
vboxsf 그룹은 VirtualBox의 Guest Addition을 사용하기 위한 그룹으로, 실제 운영 환경에서 Guest Addition을 사용하지 않는다면 추가하지 않습니다.
passwd 명령어로 각 계정의 암호를 지정해주면 됩니다.
L) 설치 경로 생성
mkdir -p /u01/app/oracle chown -R oracle:oinstall /u01 chmod -R 775 /u01
[root@rac1 ~]# mkdir -p /u01/app/oracle [root@rac1 ~]# chown -R oracle:oinstall /u01 [root@rac1 ~]# chmod -R 775 /u01
오라클 소프트웨어 설치를 위한 경로를 생성하고, 해당 경로에 대한 권한과 소유권을 수정합니다.
M) 사용자 환경 설정
export TMP=/tmp export TMPDIR=$TMP export EDITOR=vi export ORACLE_HOSTNAME=rac1 # 호스트명에 맞게 변경 export ORACLE_UNQNAME=racdb export ORACLE_BASE=/u01/app/oracle export GRID_HOME=/u01/app/11.2.0/grid export DB_HOME=$ORACLE_BASE/product/11.2.0/db_1 export ORACLE_HOME=$DB_HOME export ORACLE_SID=racdb1 # 2번 노드 racdb2 export ORACLE_TERM=xterm export BASE_PATH=/usr/sbin:$PATH export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$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 PS1='[$ORACLE_SID:$PWD]> '
oracle 유저의 .bash_profile을 수정합니다.
root계정에서 해당 파일을 직접 수정할 수 있습니다.
먼저 11g R2의 RAC를 구축할 것이므로 경로는 이에 맞게 설정합니다.
alias grid_env='export ORACLE_HOME=$GRID_HOME;export ORACLE_SID=+ASM1;export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$BASE_PATH' alias db_env='export ORACLE_HOME=$DB_HOME;export ORACLE_SID=racdb1;export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$BASE_PATH'
Grid와 DB 인스턴스 간의 변환을 쉽게 하기 위해 alias를 설정합니다.
export ORACLE_BASE=/u01/app/oracle export GRID_HOME=/u01/app/11.2.0/grid export DB_HOME=$ORACLE_BASE/product/11.2.0/db_1 export PATH=$PATH:$GRID_HOME/bin
작업의 편의를 위해 root 계정의 .bash_profile에도 경로 정보를 추가로 입력합니다.
{}
V. 공유 환경 및 2번 노드 구성
1. 공유 스토리지 생성
공유 스토리지 구성을 위해 고정 공간이 할당된 가상 디스크 6개를 추가로 생성합니다.
파일 이름 | 용량 | 타입 | 용도 | 비고 |
---|---|---|---|---|
CRS1.vdi | 1GB | Fixed / Shareable | CRS 저장 영역 | 공유(shareable) 디스크로 사용하기 위해서 Fixed Size로 생성합니다. |
CRS2.vdi | 1GB | Fixed / Shareable | ||
CRS3.vdi | 1GB | Fixed / Shareable | ||
DATA.vdi | 30GB | Fixed / Shareable | Data 저장 영역 | |
FRA.vdi | 20GB | Fixed / Shareable | Fast Recovery Area | |
RAW.vdi | 20GB | Fixed / Shareable | Raw Device 영역 |
A) 가상 스토리지 파일 생성
vboxmanage createmedium --filename CRS1.vdi --size 1024 --format VDI --variant Fixed vboxmanage createmedium --filename CRS2.vdi --size 1024 --format VDI --variant Fixed vboxmanage createmedium --filename CRS3.vdi --size 1024 --format VDI --variant Fixed vboxmanage createmedium --filename DATA.vdi --size 30720 --format VDI --variant Fixed vboxmanage createmedium --filename FRA.vdi --size 20480 --format VDI --variant Fixed vboxmanage createmedium --filename RAW.vdi --size 20480 --format VDI --variant Fixed
PS D:\VM> pwd Path ---- D:\VM PS D:\VM> vboxmanage createmedium --filename CRS1.vdi --size 1024 --format VDI --variant Fixed 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Medium created. UUID: 3a6327e8-0367-4edc-bb5b-591efe123e8d PS D:\VM> vboxmanage createmedium --filename CRS2.vdi --size 1024 --format VDI --variant Fixed 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Medium created. UUID: 9d4524a2-5a06-478a-b733-81cd9889e59e PS D:\VM> vboxmanage createmedium --filename CRS3.vdi --size 1024 --format VDI --variant Fixed 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Medium created. UUID: a9d5a021-b91a-4c43-b7d5-2136bf447e83 PS D:\VM> vboxmanage createmedium --filename DATA.vdi --size 30720 --format VDI --variant Fixed 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Medium created. UUID: 94a0fac2-2040-42ec-9b7e-2fecc49bcf05 PS D:\VM> vboxmanage createmedium --filename FRA.vdi --size 20480 --format VDI --variant Fixed 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Medium created. UUID: 8f120938-511d-42b1-b15b-dfd4e20218e9 PS D:\VM> vboxmanage createmedium --filename RAW.vdi --size 20480 --format VDI --variant Fixed 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Medium created. UUID: 4f20eb5e-79a3-42e3-8b35-c9c9983b9040
Host 컴퓨터에서 VM에 연결시킬 공유 디스크를 생성합니다.
디스크는 2개의 노드에서 공유할 것이므로, 반드시 Fixed 모드로 디스크 공간이 사전에 할당되도록 생성해야 합니다.
B) 스토리지 파일 공유 설정
vboxmanage modifymedium CRS1.vdi --type shareable vboxmanage modifymedium CRS2.vdi --type shareable vboxmanage modifymedium CRS3.vdi --type shareable vboxmanage modifymedium DATA.vdi --type shareable vboxmanage modifymedium FRA.vdi --type shareable vboxmanage modifymedium RAW.vdi --type shareable
PS D:\VM> vboxmanage modifymedium CRS1.vdi --type shareable PS D:\VM> vboxmanage modifymedium CRS2.vdi --type shareable PS D:\VM> vboxmanage modifymedium CRS3.vdi --type shareable PS D:\VM> vboxmanage modifymedium DATA.vdi --type shareable PS D:\VM> vboxmanage modifymedium FRA.vdi --type shareable PS D:\VM> vboxmanage modifymedium RAW.vdi --type shareable
생성된 디스크들은 모두 shareable 디스크로 속성 변경이 필요합니다.
VirtualBox의 GUI 툴을 사용하여 변경할 수도 있습니다.
C) VM에 스토리지 연결
정지된 1번 노드의 설정 모드로 들어가서 디스크 파일을 추가합니다.
SATA 콘트롤러의 오른쪽에 하드디스크 모양의 아이콘을 클릭합니다
vboxmanage 명령으로 이미 생성된 디스크 파일을 추가할 것이므로 <기존 디스크 선택하기>를 클릭합니다.
Not Attatched에 등록된 디스크 목록에서 "CRS1.vdi"를 선택한 후 <선택>을 클릭합니다.
만약 생성된 디스크 이미지가 목록에 없다면 <추가> 아이콘을 클릭한 후에 디스크 이미지를 찾아서 추가하면 됩니다.
정상적으로 스토리지가 추가된 것을 확인할 수 있습니다.
다른 공유 디스크들도 같은 방법으로 추가해줍니다.
나머지 디스크 파일 모두 순서에 맞게 SATA 컨트롤러에 등록시켜줍니다.
반드시 동일한 순서대로 다른 노드에도 등록시켜야 합니다.
2. 공유 스토리지 환경 구성
A) 디스크 파티셔닝
ls /dev/sd* fdisk /dev/sdb ### "n", "p", "1", "엔터", "엔터", "w" 입력 fdisk /dev/sdc ### "n", "p", "1", "엔터", "엔터", "w" 입력 fdisk /dev/sdd ### "n", "p", "1", "엔터", "엔터", "w" 입력 fdisk /dev/sde ### "n", "p", "1", "엔터", "엔터", "w" 입력 fdisk /dev/sdf ### "n", "p", "1", "엔터", "엔터", "w" 입력 fdisk /dev/sdg ### "n", "p", "1", "엔터", "+15G" 입력, "n", "p", "2", "엔터", "엔터", "w" 입력 ls /dev/sd*
[root@rac1 ~]# ls /dev/sd* /dev/sda /dev/sda2 /dev/sdc /dev/sde /dev/sdg /dev/sda1 /dev/sdb /dev/sdd /dev/sdf [root@rac1 ~]# fdisk /dev/sdb Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0xcc8fe296. Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-2097151, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151): Using default value 2097151 Partition 1 of type Linux and of size 1023 MiB is set Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. [root@rac1 ~]# fdisk /dev/sdc Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0x721e08dc. Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-2097151, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151): Using default value 2097151 Partition 1 of type Linux and of size 1023 MiB is set Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. [root@rac1 ~]# fdisk /dev/sdd Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0x4f1e2a87. Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-2097151, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151): Using default value 2097151 Partition 1 of type Linux and of size 1023 MiB is set Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. [root@rac1 ~]# fdisk /dev/sde Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0x02219e92. Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-62914559, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-62914559, default 62914559): Using default value 62914559 Partition 1 of type Linux and of size 30 GiB is set Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. [root@rac1 ~]# fdisk /dev/sdf Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0xecdb8b19. Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-41943039, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): Using default value 41943039 Partition 1 of type Linux and of size 20 GiB is set Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
[root@rac1 ~]# fdisk /dev/sdg Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0x6f157778. Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-41943039, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +15G Partition 1 of type Linux and of size 15 GiB is set Command (m for help): n Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select (default p): p Partition number (2-4, default 2): 2 First sector (31459328-41943039, default 31459328): Using default value 31459328 Last sector, +sectors or +size{K,M,G} (31459328-41943039, default 41943039): Using default value 41943039 Partition 2 of type Linux and of size 5 GiB is set Command (m for help): p Disk /dev/sdg: 21.5 GB, 21474836480 bytes, 41943040 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x6f157778 Device Boot Start End Blocks Id System /dev/sdg1 2048 31459327 15728640 83 Linux /dev/sdg2 31459328 41943039 5241856 83 Linux Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. [root@rac1 ~]# ls /dev/sd* /dev/sda /dev/sdb /dev/sdc1 /dev/sde /dev/sdf1 /dev/sdg2 /dev/sda1 /dev/sdb1 /dev/sdd /dev/sde1 /dev/sdg /dev/sda2 /dev/sdc /dev/sdd1 /dev/sdf /dev/sdg1
VM에 연결된 디스크에 fdisk 명령어로 파티션 분할 작업을 수행 합니다.
/dev/sdb에서부터 /dev/sdf까지는 하나의 파티션으로 분할하여 ASM 스토리지로 사용할 것입니다.
/dev/sdg 디스크는 15GB와 5GB의 파티셔으로 분할하여, 15GB는 raw device 영역으로 사용하고 나머지 5GB는 OCFS2으로 클러스터링하여 FRA 영역으로 사용합니다.
B) ASM 구성
oracleasm configure -i oracleasm init oracleasm status oracleasm configure
[root@rac1 ~]# oracleasm configure -i Configuring the Oracle ASM library driver. This will configure the on-boot properties of the Oracle ASM library driver. The following questions will determine whether the driver is loaded on boot and what permissions it will have. The current values will be shown in brackets ('[]'). Hitting <ENTER> without typing an answer will keep that current value. Ctrl-C will abort. Default user to own the driver interface []: oracle Default group to own the driver interface []: asmadmin Start Oracle ASM library driver on boot (y/n) [n]: y Scan for Oracle ASM disks on boot (y/n) [y]: Writing Oracle ASM library driver configuration: done [root@rac1 ~]# oracleasm init Creating /dev/oracleasm mount point: /dev/oracleasm Loading module "oracleasm": oracleasm Configuring "oracleasm" to use device physical block size Mounting ASMlib driver filesystem: /dev/oracleasm [root@rac1 ~]# oracleasm status Checking if ASM is loaded: yes Checking if /dev/oracleasm is mounted: yes [root@rac1 ~]# oracleasm configure ORACLEASM_ENABLED=true ORACLEASM_UID=oracle ORACLEASM_GID=asmadmin ORACLEASM_SCANBOOT=true ORACLEASM_SCANORDER="" ORACLEASM_SCANEXCLUDE="" ORACLEASM_SCAN_DIRECTORIES="" ORACLEASM_USE_LOGICAL_BLOCK_SIZE="false"
ASM library에 대한 추가적인 환경 설정(사용자, 그룹, 부팅시 활성화, 부팅시 스캔 여부)을 수행하고 적용 여부를 검증합니다.
oracleasm createdisk CRS1 /dev/sdb1 oracleasm createdisk CRS2 /dev/sdc1 oracleasm createdisk CRS3 /dev/sdd1 oracleasm createdisk DATA /dev/sde1 oracleasm createdisk FRA /dev/sdf1 oracleasm scandisks oracleasm listdisks
[root@rac1 ~]# oracleasm createdisk CRS1 /dev/sdb1 Writing disk header: done Instantiating disk: done [root@rac1 ~]# oracleasm createdisk CRS2 /dev/sdc1 Writing disk header: done Instantiating disk: done [root@rac1 ~]# oracleasm createdisk CRS3 /dev/sdd1 Writing disk header: done Instantiating disk: done [root@rac1 ~]# oracleasm createdisk DATA /dev/sde1 Writing disk header: done Instantiating disk: done [root@rac1 ~]# oracleasm createdisk FRA /dev/sdf1 Writing disk header: done Instantiating disk: done [root@rac1 ~]# oracleasm scandisks Reloading disk partitions: done Cleaning any stale ASM disks... Scanning system for ASM disks... [root@rac1 ~]# oracleasm listdisks CRS1 CRS2 CRS3 DATA FRA
VM에 마운트된 디스크를 각각 ASM Disk로 할당해줍니다.
순서대로 마운트가 되었다면, 디바이스 명의 알파벳 순으로 ASM 디스크를 생성하면 됩니다.
C) Raw Device 구성
pvcreate /dev/sdg1 pvdisplay /dev/sdg1 vgcreate rawvg /dev/sdg1 vgdisplay rawvg
[root@rac1 ~]# pvcreate /dev/sdg1 Physical volume "/dev/sdg1" successfully created. [root@rac1 ~]# pvdisplay /dev/sdg1 "/dev/sdg1" is a new physical volume of "15.00 GiB" --- NEW Physical volume --- PV Name /dev/sdg1 VG Name PV Size 15.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID 30eYro-iXra-PEwU-ncIe-oo0D-ijud-8RBXmu [root@rac1 ~]# vgcreate rawvg /dev/sdg1 Volume group "rawvg" successfully created [root@rac1 ~]# vgdisplay rawvg --- Volume group --- VG Name rawvg System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size <15.00 GiB PE Size 4.00 MiB Total PE 3839 Alloc PE / Size 0 / 0 Free PE / Size 3839 / <15.00 GiB VG UUID Eqt7EF-d4Qt-DuQP-ChuW-Lceo-uG9r-X1DZ6t
Raw Device로 사용할 디스크의 물리 볼륨과 볼륨 그룹을 생성합니다.
lvcreate -L 300M -n ocr01 rawvg lvcreate -L 300M -n ocr02 rawvg lvcreate -L 300M -n vote01 rawvg lvcreate -L 300M -n vote02 rawvg lvcreate -L 300M -n vote03 rawvg lvcreate -L 2048M -n system rawvg lvcreate -L 2048M -n sysaux rawvg lvcreate -L 1024M -n users rawvg lvcreate -L 700M -n temp rawvg lvcreate -L 2048M -n undotbs1 rawvg lvcreate -L 2048M -n undotbs2 rawvg lvcreate -L 100M -n control01 rawvg lvcreate -L 100M -n control02 rawvg lvcreate -L 200M -n redo01 rawvg lvcreate -L 200M -n redo02 rawvg lvcreate -L 200M -n redo03 rawvg lvcreate -L 200M -n redo04 rawvg lvcreate -L 200M -n redo05 rawvg lvcreate -L 200M -n redo06 rawvg lvcreate -L 200M -n spfile rawvg lvdisplay
[root@rac1 ~]# lvcreate -L 300M -n ocr01 rawvg Logical volume "ocr01" created. [root@rac1 ~]# lvcreate -L 300M -n ocr02 rawvg Logical volume "ocr02" created. [root@rac1 ~]# lvcreate -L 300M -n vote01 rawvg Logical volume "vote01" created. [root@rac1 ~]# lvcreate -L 300M -n vote02 rawvg Logical volume "vote02" created. [root@rac1 ~]# lvcreate -L 300M -n vote03 rawvg Logical volume "vote03" created. [root@rac1 ~]# lvcreate -L 2048M -n system rawvg Logical volume "system" created. [root@rac1 ~]# lvcreate -L 2048M -n sysaux rawvg Logical volume "sysaux" created. [root@rac1 ~]# lvcreate -L 1024M -n users rawvg Logical volume "users" created. [root@rac1 ~]# lvcreate -L 700M -n temp rawvg Logical volume "temp" created. [root@rac1 ~]# lvcreate -L 2048M -n undotbs1 rawvg Logical volume "undotbs1" created. [root@rac1 ~]# lvcreate -L 2048M -n undotbs2 rawvg Logical volume "undotbs2" created. [root@rac1 ~]# lvcreate -L 100M -n control01 rawvg Logical volume "control01" created. [root@rac1 ~]# lvcreate -L 100M -n control02 rawvg Logical volume "control02" created. [root@rac1 ~]# lvcreate -L 200M -n redo01 rawvg Logical volume "redo01" created. [root@rac1 ~]# lvcreate -L 200M -n redo02 rawvg Logical volume "redo02" created. [root@rac1 ~]# lvcreate -L 200M -n redo03 rawvg Logical volume "redo03" created. [root@rac1 ~]# lvcreate -L 200M -n redo04 rawvg Logical volume "redo04" created. [root@rac1 ~]# lvcreate -L 200M -n redo05 rawvg Logical volume "redo05" created. [root@rac1 ~]# lvcreate -L 200M -n redo06 rawvg Logical volume "redo06" created. [root@rac1 ~]# lvcreate -L 200M -n spfile rawvg Logical volume "spfile" created. [root@rac1 ~]# lvdisplay --- Logical volume --- LV Path /dev/rawvg/ocr01 LV Name ocr01 VG Name rawvg LV UUID VP12OH-WsGO-nuQc-3KGr-0sIl-q8Hj-QZ0zL1 LV Write Access read/write LV Creation host, time rac1, 2020-04-13 13:24:56 +0900 LV Status available # open 0 LV Size 300.00 MiB Current LE 75 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 249:2 --- Logical volume --- LV Path /dev/rawvg/ocr02 LV Name ocr02 VG Name rawvg LV UUID 2nMgYm-Et4K-ODEK-WXM9-c5u7-ZP3W-zxEjxN LV Write Access read/write LV Creation host, time rac1, 2020-04-13 13:24:56 +0900 LV Status available # open 0 LV Size 300.00 MiB Current LE 75 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 249:3 --- Logical volume --- LV Path /dev/rawvg/vote01 LV Name vote01 VG Name rawvg LV UUID OuYYAj-yANF-kSxa-X92S-6WHt-2s9Z-sihzqr LV Write Access read/write LV Creation host, time rac1, 2020-04-13 13:24:56 +0900 LV Status available # open 0 LV Size 300.00 MiB Current LE 75 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 249:4 --- Logical volume --- LV Path /dev/rawvg/vote02 LV Name vote02 VG Name rawvg LV UUID by0V2t-L14c-GTuC-6eeA-lm9g-Ikiv-YabeRA LV Write Access read/write LV Creation host, time rac1, 2020-04-13 13:24:56 +0900 LV Status available # open 0 LV Size 300.00 MiB Current LE 75 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 249:5 --- Logical volume --- LV Path /dev/rawvg/vote03 LV Name vote03 VG Name rawvg LV UUID kBx6Wo-h8a0-ETtq-FbIV-5dat-84rI-uTKv2L LV Write Access read/write LV Creation host, time rac1, 2020-04-13 13:24:56 +0900 LV Status available # open 0 LV Size 300.00 MiB Current LE 75 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 249:6 --- Logical volume --- LV Path /dev/rawvg/system LV Name system VG Name rawvg LV UUID m0x6bB-bEzR-qgDO-DgnQ-OMDO-y3Td-0sxnGh LV Write Access read/write LV Creation host, time rac1, 2020-04-13 13:24:56 +0900 LV Status available # open 0 LV Size 2.00 GiB Current LE 512 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 249:7 --- Logical volume --- LV Path /dev/rawvg/sysaux LV Name sysaux VG Name rawvg LV UUID KKgx8r-f1kl-su3S-K3GI-h2kr-dsnZ-nZPQqa LV Write Access read/write LV Creation host, time rac1, 2020-04-13 13:24:56 +0900 LV Status available # open 0 LV Size 2.00 GiB Current LE 512 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 249:8 --- Logical volume --- LV Path /dev/rawvg/users LV Name users VG Name rawvg LV UUID FSGR2q-0MZZ-rFdR-5VSD-KNCu-ujLb-zmha2D LV Write Access read/write LV Creation host, time rac1, 2020-04-13 13:24:56 +0900 LV Status available # open 0 LV Size 1.00 GiB Current LE 256 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 249:9 --- Logical volume --- LV Path /dev/rawvg/temp LV Name temp VG Name rawvg LV UUID qntMvR-9Dm0-dtRv-4azP-2f9R-hR7e-Dsw0g5 LV Write Access read/write LV Creation host, time rac1, 2020-04-13 13:24:56 +0900 LV Status available # open 0 LV Size 700.00 MiB Current LE 175 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 249:10 --- Logical volume --- LV Path /dev/rawvg/undotbs1 LV Name undotbs1 VG Name rawvg LV UUID srl0yr-gufu-Byf3-zgdG-Wwr6-oIsv-5hTK9u LV Write Access read/write LV Creation host, time rac1, 2020-04-13 13:24:57 +0900 LV Status available # open 0 LV Size 2.00 GiB Current LE 512 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 249:11 --- Logical volume --- LV Path /dev/rawvg/undotbs2 LV Name undotbs2 VG Name rawvg LV UUID TCK1xl-ZvXs-2bRT-PZWI-isqV-Ei73-AAv152 LV Write Access read/write LV Creation host, time rac1, 2020-04-13 13:24:57 +0900 LV Status available # open 0 LV Size 2.00 GiB Current LE 512 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 249:12 --- Logical volume --- LV Path /dev/rawvg/control01 LV Name control01 VG Name rawvg LV UUID 2uw94p-td32-23yd-li8G-y3xE-bnJg-dpuxJe LV Write Access read/write LV Creation host, time rac1, 2020-04-13 13:24:57 +0900 LV Status available # open 0 LV Size 100.00 MiB Current LE 25 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 249:13 --- Logical volume --- LV Path /dev/rawvg/control02 LV Name control02 VG Name rawvg LV UUID GbO1Iq-EdGK-gDXz-O2em-PSLV-s9rm-k2Gy3Y LV Write Access read/write LV Creation host, time rac1, 2020-04-13 13:24:57 +0900 LV Status available # open 0 LV Size 100.00 MiB Current LE 25 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 249:14 --- Logical volume --- LV Path /dev/rawvg/redo01 LV Name redo01 VG Name rawvg LV UUID lWipjE-Ted7-JF33-tDNe-BKUX-FnNc-5Garlr LV Write Access read/write LV Creation host, time rac1, 2020-04-13 13:24:57 +0900 LV Status available # open 0 LV Size 200.00 MiB Current LE 50 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 249:15 --- Logical volume --- LV Path /dev/rawvg/redo02 LV Name redo02 VG Name rawvg LV UUID iWGac1-yfbz-vWy4-jZ0C-7DFa-joq0-6OF03E LV Write Access read/write LV Creation host, time rac1, 2020-04-13 13:24:57 +0900 LV Status available # open 0 LV Size 200.00 MiB Current LE 50 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 249:16 --- Logical volume --- LV Path /dev/rawvg/redo03 LV Name redo03 VG Name rawvg LV UUID 4WVBxD-gXs6-kkQD-MK8j-ApUF-kJFc-NbOcWz LV Write Access read/write LV Creation host, time rac1, 2020-04-13 13:24:57 +0900 LV Status available # open 0 LV Size 200.00 MiB Current LE 50 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 249:17 --- Logical volume --- LV Path /dev/rawvg/redo04 LV Name redo04 VG Name rawvg LV UUID TP8pev-sQ7z-UwlH-Wte3-96H7-DHvB-c0DHgK LV Write Access read/write LV Creation host, time rac1, 2020-04-13 13:24:57 +0900 LV Status available # open 0 LV Size 200.00 MiB Current LE 50 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 249:18 --- Logical volume --- LV Path /dev/rawvg/redo05 LV Name redo05 VG Name rawvg LV UUID SxhN6y-KNHF-OiOF-ENfW-ud4Q-Bc0o-Jh2Fah LV Write Access read/write LV Creation host, time rac1, 2020-04-13 13:24:57 +0900 LV Status available # open 0 LV Size 200.00 MiB Current LE 50 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 249:19 --- Logical volume --- LV Path /dev/rawvg/redo06 LV Name redo06 VG Name rawvg LV UUID TXeS5L-qPEk-RlBf-VHo6-Ab5F-buiY-HvhDNi LV Write Access read/write LV Creation host, time rac1, 2020-04-13 13:24:57 +0900 LV Status available # open 0 LV Size 200.00 MiB Current LE 50 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 249:20 --- Logical volume --- LV Path /dev/rawvg/spfile LV Name spfile VG Name rawvg LV UUID O1d4Ck-b15L-ORZx-EI4Z-RhA4-hl1B-9f3uag LV Write Access read/write LV Creation host, time rac1, 2020-04-13 13:24:57 +0900 LV Status available # open 0 LV Size 200.00 MiB Current LE 50 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 249:21 --- Logical volume --- LV Path /dev/ol/swap LV Name swap VG Name ol LV UUID E6X06I-63Al-dbJo-i53I-Fk7V-uR90-uCLpBf LV Write Access read/write LV Creation host, time rac1, 2020-04-13 09:25:27 +0900 LV Status available # open 2 LV Size 10.00 GiB Current LE 2560 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 249:1 --- Logical volume --- LV Path /dev/ol/root LV Name root VG Name ol LV UUID d1uCT2-Z8h7-HVtm-3mQ8-OWpX-WewL-a8zJQr LV Write Access read/write LV Creation host, time rac1, 2020-04-13 09:25:27 +0900 LV Status available # open 1 LV Size <89.51 GiB Current LE 22914 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 249:0
데이터 파일이나 로그 파일, 컨트롤 파일 등에 사용할 크기별로 논리 볼륨을 할당합니다.
raw /dev/raw/raw1 /dev/rawvg/ocr01 raw /dev/raw/raw2 /dev/rawvg/ocr02 raw /dev/raw/raw3 /dev/rawvg/vote01 raw /dev/raw/raw4 /dev/rawvg/vote02 raw /dev/raw/raw5 /dev/rawvg/vote03 raw /dev/raw/raw6 /dev/rawvg/system raw /dev/raw/raw7 /dev/rawvg/sysaux raw /dev/raw/raw8 /dev/rawvg/users raw /dev/raw/raw9 /dev/rawvg/temp raw /dev/raw/raw10 /dev/rawvg/undotbs1 raw /dev/raw/raw11 /dev/rawvg/undotbs2 raw /dev/raw/raw12 /dev/rawvg/control01 raw /dev/raw/raw13 /dev/rawvg/control02 raw /dev/raw/raw14 /dev/rawvg/redo01 raw /dev/raw/raw15 /dev/rawvg/redo02 raw /dev/raw/raw16 /dev/rawvg/redo03 raw /dev/raw/raw17 /dev/rawvg/redo04 raw /dev/raw/raw18 /dev/rawvg/redo05 raw /dev/raw/raw19 /dev/rawvg/redo06 raw /dev/raw/raw20 /dev/rawvg/spfile raw -qa ls -l /dev/raw
[root@rac1 ~]# raw /dev/raw/raw1 /dev/rawvg/ocr01 /dev/raw/raw1: bound to major 249, minor 2 [root@rac1 ~]# raw /dev/raw/raw2 /dev/rawvg/ocr02 /dev/raw/raw2: bound to major 249, minor 3 [root@rac1 ~]# raw /dev/raw/raw3 /dev/rawvg/vote01 /dev/raw/raw3: bound to major 249, minor 4 [root@rac1 ~]# raw /dev/raw/raw4 /dev/rawvg/vote02 /dev/raw/raw4: bound to major 249, minor 5 [root@rac1 ~]# raw /dev/raw/raw5 /dev/rawvg/vote03 /dev/raw/raw5: bound to major 249, minor 6 [root@rac1 ~]# raw /dev/raw/raw6 /dev/rawvg/system /dev/raw/raw6: bound to major 249, minor 7 [root@rac1 ~]# raw /dev/raw/raw7 /dev/rawvg/sysaux /dev/raw/raw7: bound to major 249, minor 8 [root@rac1 ~]# raw /dev/raw/raw8 /dev/rawvg/users /dev/raw/raw8: bound to major 249, minor 9 [root@rac1 ~]# raw /dev/raw/raw9 /dev/rawvg/temp /dev/raw/raw9: bound to major 249, minor 10 [root@rac1 ~]# raw /dev/raw/raw10 /dev/rawvg/undotbs1 /dev/raw/raw10: bound to major 249, minor 11 [root@rac1 ~]# raw /dev/raw/raw11 /dev/rawvg/undotbs2 /dev/raw/raw11: bound to major 249, minor 12 [root@rac1 ~]# raw /dev/raw/raw12 /dev/rawvg/control01 /dev/raw/raw12: bound to major 249, minor 13 [root@rac1 ~]# raw /dev/raw/raw13 /dev/rawvg/control02 /dev/raw/raw13: bound to major 249, minor 14 [root@rac1 ~]# raw /dev/raw/raw14 /dev/rawvg/redo01 /dev/raw/raw14: bound to major 249, minor 15 [root@rac1 ~]# raw /dev/raw/raw15 /dev/rawvg/redo02 /dev/raw/raw15: bound to major 249, minor 16 [root@rac1 ~]# raw /dev/raw/raw16 /dev/rawvg/redo03 /dev/raw/raw16: bound to major 249, minor 17 [root@rac1 ~]# raw /dev/raw/raw17 /dev/rawvg/redo04 /dev/raw/raw17: bound to major 249, minor 18 [root@rac1 ~]# raw /dev/raw/raw18 /dev/rawvg/redo05 /dev/raw/raw18: bound to major 249, minor 19 [root@rac1 ~]# raw /dev/raw/raw19 /dev/rawvg/redo06 /dev/raw/raw19: bound to major 249, minor 20 [root@rac1 ~]# raw /dev/raw/raw20 /dev/rawvg/spfile /dev/raw/raw20: bound to major 249, minor 21 [root@rac1 ~]# raw -qa /dev/raw/raw1: bound to major 249, minor 2 /dev/raw/raw2: bound to major 249, minor 3 /dev/raw/raw3: bound to major 249, minor 4 /dev/raw/raw4: bound to major 249, minor 5 /dev/raw/raw5: bound to major 249, minor 6 /dev/raw/raw6: bound to major 249, minor 7 /dev/raw/raw7: bound to major 249, minor 8 /dev/raw/raw8: bound to major 249, minor 9 /dev/raw/raw9: bound to major 249, minor 10 /dev/raw/raw10: bound to major 249, minor 11 /dev/raw/raw11: bound to major 249, minor 12 /dev/raw/raw12: bound to major 249, minor 13 /dev/raw/raw13: bound to major 249, minor 14 /dev/raw/raw14: bound to major 249, minor 15 /dev/raw/raw15: bound to major 249, minor 16 /dev/raw/raw16: bound to major 249, minor 17 /dev/raw/raw17: bound to major 249, minor 18 /dev/raw/raw18: bound to major 249, minor 19 /dev/raw/raw19: bound to major 249, minor 20 [root@rac1 ~]# ls -l /dev/raw 합계 0 crw-rw----. 1 oracle dba 162, 0 4월 13 14:42 rawctl crw-rw----. 1 oracle dba 162, 1 4월 13 14:42 raw1 crw-rw----. 1 oracle dba 162, 2 4월 13 14:42 raw2 crw-rw----. 1 oracle dba 162, 3 4월 13 14:42 raw3 crw-rw----. 1 oracle dba 162, 4 4월 13 14:42 raw4 crw-rw----. 1 oracle dba 162, 5 4월 13 14:42 raw5 crw-rw----. 1 oracle dba 162, 6 4월 13 14:42 raw6 crw-rw----. 1 oracle dba 162, 7 4월 13 14:42 raw7 crw-rw----. 1 oracle dba 162, 8 4월 13 14:42 raw8 crw-rw----. 1 oracle dba 162, 9 4월 13 14:42 raw9 crw-rw----. 1 oracle dba 162, 10 4월 13 14:42 raw10 crw-rw----. 1 oracle dba 162, 11 4월 13 14:42 raw11 crw-rw----. 1 oracle dba 162, 12 4월 13 14:42 raw12 crw-rw----. 1 oracle dba 162, 13 4월 13 14:42 raw13 crw-rw----. 1 oracle dba 162, 14 4월 13 14:42 raw14 crw-rw----. 1 oracle dba 162, 15 4월 13 14:42 raw15 crw-rw----. 1 oracle dba 162, 16 4월 13 14:42 raw16 crw-rw----. 1 oracle dba 162, 17 4월 13 14:42 raw17 crw-rw----. 1 oracle dba 162, 18 4월 13 14:42 raw18 crw-rw----. 1 oracle dba 162, 19 4월 13 14:42 raw19 crw-rw----. 1 oracle dba 162, 20 4월 13 14:42 raw20
생성된 논리 볼륨을 Raw Device에 할당합니다.
ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="ocr01", RUN+="/bin/raw /dev/raw/raw1 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="ocr02", RUN+="/bin/raw /dev/raw/raw2 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="vote01", RUN+="/bin/raw /dev/raw/raw3 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="vote02", RUN+="/bin/raw /dev/raw/raw4 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="vote03", RUN+="/bin/raw /dev/raw/raw5 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="system", RUN+="/bin/raw /dev/raw/raw6 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="sysaux", RUN+="/bin/raw /dev/raw/raw7 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="users", RUN+="/bin/raw /dev/raw/raw8 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="temp", RUN+="/bin/raw /dev/raw/raw9 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="undotbs1", RUN+="/bin/raw /dev/raw/raw10 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="undotbs2", RUN+="/bin/raw /dev/raw/raw11 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="control01", RUN+="/bin/raw /dev/raw/raw12 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="control02", RUN+="/bin/raw /dev/raw/raw13 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="redo01", RUN+="/bin/raw /dev/raw/raw14 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="redo02", RUN+="/bin/raw /dev/raw/raw15 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="redo03", RUN+="/bin/raw /dev/raw/raw16 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="redo04", RUN+="/bin/raw /dev/raw/raw17 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="redo05", RUN+="/bin/raw /dev/raw/raw18 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="redo06", RUN+="/bin/raw /dev/raw/raw19 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="spfile", RUN+="/bin/raw /dev/raw/raw20 %N" ACTION=="add", KERNEL=="raw*", OWNER=="oracle", GROUP=="dba", MODE=="0660"
[root@rac1 ~]# cat > /etc/udev/rules.d/60-raw.rules ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="ocr01", RUN+="/bin/raw /dev/raw/raw1 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="ocr02", RUN+="/bin/raw /dev/raw/raw2 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="vote01", RUN+="/bin/raw /dev/raw/raw3 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="vote02", RUN+="/bin/raw /dev/raw/raw4 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="vote03", RUN+="/bin/raw /dev/raw/raw5 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="system", RUN+="/bin/raw /dev/raw/raw6 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="sysaux", RUN+="/bin/raw /dev/raw/raw7 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="users", RUN+="/bin/raw /dev/raw/raw8 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="temp", RUN+="/bin/raw /dev/raw/raw9 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="undotbs1", RUN+="/bin/raw /dev/raw/raw10 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="undotbs2", RUN+="/bin/raw /dev/raw/raw11 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="control01", RUN+="/bin/raw /dev/raw/raw12 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="control02", RUN+="/bin/raw /dev/raw/raw13 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="redo01", RUN+="/bin/raw /dev/raw/raw14 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="redo02", RUN+="/bin/raw /dev/raw/raw15 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="redo03", RUN+="/bin/raw /dev/raw/raw16 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="redo04", RUN+="/bin/raw /dev/raw/raw17 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="redo05", RUN+="/bin/raw /dev/raw/raw18 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="redo06", RUN+="/bin/raw /dev/raw/raw19 %N" ENV{DM_VG_NAME}=="rawvg", ENV{DM_LV_NAME}=="spfile", RUN+="/bin/raw /dev/raw/raw20 %N" ACTION=="add", KERNEL=="raw*", OWNER=="oracle", GROUP=="dba", MODE=="0660" ^C
서버를 재부팅 시에 논리 볼륨을 raw device에 할당할 수 있도록 rule 파일을 생성하고, 소유자와 그룹 설정을 추가합니다.
udevadm control --reload-rules udevadm trigger --type=devices --action=change
[root@rac1 ~]# udevadm control --reload-rules [root@rac1 ~]# udevadm trigger --type=devices --action=change
생성된 rule을 적용합니다.
D) OCFS2 구성
o2cb add-cluster <클러스터명> o2cb add-node <클러스터명> <node1명> --ip <node1 사설IP> o2cb add-node <클러스터명> <node2명> --ip <node2 사설IP> cat /etc/ocfs2/cluster.conf
[root@rac1 ~]# o2cb add-cluster raccluster [root@rac1 ~]# o2cb add-node raccluster rac1 --ip 10.0.5.101 [root@rac1 ~]# o2cb add-node raccluster rac2 --ip 10.0.5.102 [root@rac1 ~]# cat /etc/ocfs2/cluster.conf cluster: heartbeat_mode = local node_count = 2 name = raccluster node: number = 0 cluster = raccluster ip_port = 7777 ip_address = 10.0.5.101 name = rac1 node: number = 1 cluster = raccluster ip_port = 7777 ip_address = 10.0.5.102 name = rac2
Archive Log를 저장하기 위해서는 파일을 저장할 수 있는 공유 영역이 있어야 하며, 이를 위해서 OCFS2를 구성해야 합니다.
각각의 노드에 파일로 저장할 경우, 파일을 공유할 수 없어서 노드 장애로 인한 복구가 어려울 수 있습니다.
먼저 클러스터의 이름과 연결될 노드 정보를 저장합니다.
/sbin/o2cb.init configure # "y" 입력, "엔터" 입력, <클러스터명> 입력, "엔터" 입력, "엔터" 입력, "엔터" 입력, "엔터" 입력 /sbin/o2cb.init status systemctl enable o2cb systemctl enable ocfs2
[root@rac1 ~]# /sbin/o2cb.init configure Configuring the O2CB driver. This will configure the on-boot properties of the O2CB driver. The following questions will determine whether the driver is loaded on boot. The current values will be shown in brackets ('[]'). Hitting <ENTER> without typing an answer will keep that current value. Ctrl-C will abort. Load O2CB driver on boot (y/n) [n]: y Cluster stack backing O2CB [o2cb]: Cluster to start on boot (Enter "none" to clear) [ocfs2]: raccluster Specify heartbeat dead threshold (>=7) [31]: Specify network idle timeout in ms (>=5000) [30000]: Specify network keepalive delay in ms (>=1000) [2000]: Specify network reconnect delay in ms (>=2000) [2000]: Writing O2CB configuration: OK checking debugfs... Loading stack plugin "o2cb": OK Loading filesystem "ocfs2_dlmfs": OK Creating directory '/dlm': OK Mounting ocfs2_dlmfs filesystem at /dlm: OK Setting cluster stack "o2cb": OK Registering O2CB cluster "raccluster": OK Setting O2CB cluster timeouts : OK [root@rac1 ~]# /sbin/o2cb.init status Driver for "configfs": Loaded Filesystem "configfs": Mounted Stack glue driver: Loaded Stack plugin "o2cb": Loaded Driver for "ocfs2_dlmfs": Loaded Filesystem "ocfs2_dlmfs": Mounted Checking O2CB cluster "raccluster": Online Heartbeat dead threshold: 31 Network idle timeout: 30000 Network keepalive delay: 2000 Network reconnect delay: 2000 Heartbeat mode: Local Checking O2CB heartbeat: Not active Debug file system at /sys/kernel/debug: mounted [root@rac1 ~]# systemctl enable o2cb Created symlink from /etc/systemd/system/multi-user.target.wants/o2cb.service to /usr/lib/systemd/system/o2cb.service. [root@rac1 ~]# systemctl enable ocfs2 Created symlink from /etc/systemd/system/multi-user.target.wants/ocfs2.service to /usr/lib/systemd/system/ocfs2.service.
OCFS2를 사용하기 위한 환경 설정과 서비스 활성화를 수행합니다.
# Define panic and panic_on_oops for cluster operation kernel.panic = 30 kernel.panic_on_oops = 1
추가적으로 필요한 커널 파라미터를 /etc/sysctl.conf에 추가합니다.
mkdir /FRA mkfs.ocfs2 -L "fra" /dev/sdg2
[root@rac1 ~]# mkdir /FRA [root@rac1 ~]# mkfs.ocfs2 -L "fra" /dev/sdg2 mkfs.ocfs2 1.8.6 Cluster stack: classic o2cb Label: fra Features: sparse extended-slotmap backup-super unwritten inline-data strict-journal-super xattr indexed-dirs refcount discontig-bg Block size: 4096 (12 bits) Cluster size: 4096 (12 bits) Volume size: 5367660544 (1310464 clusters) (1310464 blocks) Cluster groups: 41 (tail covers 20224 clusters, rest cover 32256 clusters) Extent allocator size: 4194304 (1 groups) Journal size: 67108864 Node slots: 4 Creating bitmaps: done Initializing superblock: done Writing system files: done Writing superblock: done Writing backup superblock: 2 block(s) Formatting Journals: done Growing extent allocator: done Formatting slot map: done Formatting quota files: done Writing lost+found: done mkfs.ocfs2 successful
OCFS2 영역을 마운트할 경로를 생성하고, 공유할 디스크 영역에 대한 포맷을 수행합니다.
/dev/sdg2 /FRA ocfs2 _netdev,defaults 0 0
포맷한 영역이 공유 경로에 마운트될 수 있도록 /etc/fstab에 정보를 저장합니다.
chown -R oracle:dba /FRA chmod -R 770 /FRA
OCFS2 영역의 소유자와 권한 부여 작업을 /etc/rc.d/rc.local에 저장하여 재기동시에 설정이 유지될 수 있도록 합니다.
chmod +x /etc/rc.d/rc.local
[root@rac1 ~]# chmod +x /etc/rc.d/rc.local
/etc/rc.d/rc.local 파일에 실행 모드를 추가하여 재기동시 작업이 수행되도록 활성화시킵니다.
{}
3. 2번 노드 구성
A) 2번 노드 가상 머신 만들기
.
가상 머신 2번 노드를 만들기 위해 VirtualBox에서 ‘새로 만들기’를 클릭합니다.
가상 머신의 이름을 "rac2"로 정하고, 1번 노드와 동일한 경로를 머신 폴더로 지정합니다.
해당 디렉토리 아래에 rac2라는 디렉토리가 생성되고, 디렉토리 안에 가상 머신 관련 파일들이 저장됩니다.
OS의 종류는 'Linux'로 하고 설치될 버전은 'Oracle (64-bit)'를 선택한 후 <다음>을 클릭합니다.
메모리 크기는 1번 노드와 동일하게 10240MB로 선택한 후 <다음>을 클릭합니다.
B) 1번 노드 VM 복제
vboxmanage clonemedium disk .\rac1.vdi ..\rac2\rac2.vdi
PS D:\VM\rac1> vboxmanage clonemedium disk .\rac1.vdi ..\rac2\rac2.vdi 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Clone medium created in format 'VDI'. UUID: 28c8742c-e783-4dca-b95c-5919bfd1257e
1번 노드가 정지된 상태에서 1번 노드의 복제본을 rac2 디렉토리에 저장합니다.
1번 노드의 UUID값과 다른 이미지가 생성되도록 반드시 VirtualBox에서 제공하는 방식으로 복제합니다.
하드 디스크는 '기존의 가상 하드 디스크 파일 사용'을 선택합니다.
그리고 방금 복제한 가상 하드 디스크 파일을 선택하기 위해 폴더 모양의 아이콘을 클릭합니다.
vboxmanage 명령으로 디스크를 복제했다면, Not Attatched 항목에 rac2.vdi 파일이 존재합니다.
만약 목록에 없다면 <추가> 버튼을 클릭하여 복제한 이미지를 찾아 불러오면 됩니다.
rac2.vdi 파일을 선택한 후 <선택> 버튼을 클릭합니다.
<만들기>를 클릭하면, 지금까지 선택한 환경에 맞게 가상 머신이 생성됩니다.
C) 2번 노드 VM 환경 설정
기본적으로 생성된 가상 머신을 RAC 환경에 맞게 변경해야 하므로, 2번 노드를 선택하고 <설정>을 클릭합니다.
부팅 순서에서 플로피 디스크를 해제합니다.
1번 노드와 동일한 순서로 공유 디스크를 추가시켜 줍니다.
반드시 같은 순서대로 SATA 컨트롤러에 연결시켜야 합니다.
오디오는 사용하지 않을 것이므로 '오디오 사용하기'를 해제합니다.
어댑터 1의 네트워크 설정을 1번 노드와 동일하게 구성합니다.
본인이 사용할 네트워크 환경에 맞게 설정하면 됩니다.
RAC 노드간의 통신을 위해 어댑터 2를 활성화시킵니다.
어댑터 2번 항목에 가서 '네트워크 어댑터 사용하기'를 체크하고, 1번 노드와 동일하게 '호스트 전용 어댑터'로 구성합니다.
1번 노드와 동일하게 공유 폴더 기능을 설정합니다.
공유 폴더를 설정할 경우, 호스트 서버에 저장된 설치 파일을 업로드 없이 바로 사용할 수 있습니다.
모든 구성이 완료되었으면 <확인>을 클릭해서 변경한 설정 값을 저장하고, 가상머신을 기동합니다.
D) 네트워크 설정 변경
네트워크 설정을 변경하기 위해 root 계정으로 접속한 후에 '프로그램' > '시스템 도구' > '설정'을 클릭합니다.
네트워크 항목으로 이동한 후에 각 이더넷 항목에 톱니바퀴 모양의 아이콘을 클릭하여 설정을 변경합니다.
참고로 VirtualBox를 기준으로 했을 떄, 이더넷 enp0s3은 Public 네트워크이고 enp0s8은 Private 네트워크의 인터페이스입니다.
ip link set <old NIC alias> down ip link set <old NIC alias> name <new NIC alias> ip link set <new NIC alias> up mv /etc/sysconfig/network-scripts/ifcfg-<old NIC alias> /etc/sysconfig/network-scripts/ifcfg-<new NIC alias> sed -ire "s/NAME=\"<old NIC alias>\"/NAME=\"<new NIC alias>\"/" /etc/sysconfig/network-scripts/ifcfg-<new NIC alias> sed -ire "s/DEVICE=\"<old NIC alias>\"/NAME=\"<new NIC alias>\"/" /etc/sysconfig/network-scripts/ifcfg-<new NIC alias>
만약 2번 VM의 NIC(Network Interface Card)의 alias가 1번 노드의 alias와 일치하지 않을 경우, grid 검증 과정에서 오류가 발생합니다.
좌측의 명령어로 alias를 1번과 동일하게 변경하여 해결할 수 있습니다.
추가적으로 NIC별 UUID 확인이 필요할 경우 다음의 명령어를 사용합니다.
nmcli connection
이더넷 enp0s3의 IPv4 항목에서 주소를 "10.0.1.102"(2번 노드의 Public 네트워크 IP)로 변경한 후 <적용>을 클릭합니다.
리눅스 버전에 따라 네트워크 정보가 초기화되어 있을 수 있습니다.
그럴 때는 아래의 정보와 같이 입력합니다.
항목 | 입력값 | 비고 |
---|---|---|
주소 | 10.0.1.102 | 1번 노드 Public IP 주소 |
네트마스크 | 24 | 서브넷 마스크 값으로 255.255.255.0 사용 가능 |
게이트웨이 | 10.0.1.1 | Public 망의 게이트웨이 |
네임서버(DNS) | 127.0.0.1 | dnsmasq를 사용할 경우 loopback IP 사용 |
검색 도메인 | localdomain | 로컬 도메인 정보 입력 |
이더넷 enp0s8의 IPv4 항목에서 주소를 "10.0.5.102"(2번 노드의 Private 네트워크 IP)로 변경한 후 <적용>을 클릭합니다.
마찬가지로 네트워크 정보가 초기화 되었을 경우, 아래와 같이 입력합니다.
항목 | 입력값 | 비고 |
---|---|---|
주소 | 10.0.5.101 | 1번 노드 Private IP 주소 |
네트마스크 | 24 | 서브넷 마스크 값으로 255.255.255.0 사용 가능 |
각 이더넷 인터페이스를 껏다가 키면 변경된 설정이 적용됩니다.
또는 명령 프롬프트에서 아래 명령을 수행합니다.
systemctl restart network
ip addr show vi /etc/sysconfig/network-scripts/ifcfg-<public 인터페이스명> # IPADDR=XXX.XXX.XXX.XXX 부분 변경 vi /etc/sysconfig/network-scripts/ifcfg-<private 인터페이스명> # IPADDR=XXX.XXX.XXX.XXX 부분 변경 systemctl restart network ip addr show
[root@rac1 ~]# ip addr show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:72:b8:d8 brd ff:ff:ff:ff:ff:ff inet 10.0.1.101/24 brd 10.0.1.255 scope global noprefixroute enp0s3 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe72:b8d8/64 scope link valid_lft forever preferred_lft forever 3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:fd:6d:a9 brd ff:ff:ff:ff:ff:ff inet 10.0.5.101/24 brd 10.0.5.255 scope global noprefixroute enp0s8 valid_lft forever preferred_lft forever inet6 fe80::cd39:da9a:86ab:40a8/64 scope link noprefixroute valid_lft forever preferred_lft forever [root@rac1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 ... << 생략 >> ... IPADDR=10.0.1.102 ... << 생략 >> ... [root@rac1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s8 ... << 생략 >> ... IPADDR=10.0.5.102 ... << 생략 >> ... [root@rac1 ~]# systemctl restart network [root@rac1 ~]# ip addr show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:72:b8:d8 brd ff:ff:ff:ff:ff:ff inet 10.0.1.102/24 brd 10.0.1.255 scope global noprefixroute enp0s3 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe72:b8d8/64 scope link valid_lft forever preferred_lft forever 3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:fd:6d:a9 brd ff:ff:ff:ff:ff:ff inet 10.0.5.102/24 brd 10.0.5.255 scope global noprefixroute enp0s8 valid_lft forever preferred_lft forever inet6 fe80::cd39:da9a:86ab:40a8/64 scope link noprefixroute valid_lft forever preferred_lft forever
위의 GUI 방식보다 간단하게 CLI 모드에서 vi 편집기를 사용하여 IP를 수정할 수도 있습니다.
다만 Public과 Private 이더넷을 혼동하여 잘못 설정할 수 있으므로 주의가 필요합니다.
E) 호스트명 변경
hostnamectl status hostnamectl set-hostname rac2 hostnamectl status
[root@rac1 ~]# hostnamectl status Static hostname: rac1 Icon name: computer-vm Chassis: vm Machine ID: 5554cd8ab5124283be4afd144783a884 Boot ID: dc642dbe4f44426f82469fbda8e61f27 Virtualization: kvm Operating System: Oracle Linux Server 7.6 CPE OS Name: cpe:/o:oracle:linux:7:6:server Kernel: Linux 4.14.35-1818.3.3.el7uek.x86_64 Architecture: x86-64 [root@rac1 ~]# hostnamectl set-hostname rac2 [root@rac1 ~]# hostnamectl status Static hostname: rac2 Icon name: computer-vm Chassis: vm Machine ID: 5554cd8ab5124283be4afd144783a884 Boot ID: dc642dbe4f44426f82469fbda8e61f27 Virtualization: kvm Operating System: Oracle Linux Server 7.6 CPE OS Name: cpe:/o:oracle:linux:7:6:server Kernel: Linux 4.14.35-1818.3.3.el7uek.x86_64 Architecture: x86-64
2번 노드의 호스트 명은 CLI 모드에서 간단한 명령어로 변경할 수 있습니다.
systemctl set-default multi-user.target
[root@rac2 ~]# systemctl set-default multi-user.target Removed symlink /etc/systemd/system/default.target. Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.
설치 과정 중에 리소스를 절약하기 위해 2번 노드는 텍스트 모드로 실행되도록 수정합니다.
{}
F) 사용자 환경 변수 변경
export ORACLE_HOSTNAME=rac2 export ORACLE_SID=racdb2
[root@rac2 ~]# cat ~oracle/.bash_profile # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/.local/bin:$HOME/bin export PATH export TMP=/tmp export TMPDIR=$TMP export EDITOR=vi export ORACLE_HOSTNAME=rac2 # 호스트명에 맞게 변경 export ORACLE_UNQNAME=racdb export ORACLE_BASE=/u01/app/oracle export GRID_HOME=/u01/app/11.2.0/grid export DB_HOME=$ORACLE_BASE/product/11.2.0/db_1 export ORACLE_HOME=$DB_HOME export ORACLE_SID=racdb2 # 2번 노드 racdb2 export ORACLE_TERM=xterm export BASE_PATH=/usr/sbin:$PATH export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$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 PS1='[$ORACLE_SID:$PWD]> '
oracle 유저의 환경 설정을 2번 노드에 맞게 수정합니다.
alias grid_env='export ORACLE_HOME=$GRID_HOME;export ORACLE_SID=+ASM2;export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$BASE_PATH' alias db_env='export ORACLE_HOME=$DB_HOME;export ORACLE_SID=racdb2;export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$BASE_PATH'
aslias 설정의 ORACLE_SID 정보도 2번 노드에 맞게 수정합니다.
{}
VI. 11g Grid Infrastructure 설치
1. Grid Infrastructure 설치 및 클러스터 구성
2. Grid Infrastructure 설치 및 클러스터 구축
A) 사전 준비
cd <Grid 설치 파일 압축 해제 경로>/rpm rpm -ivh cvuqdisk-1.0.9-1.rpm scp cvuqdisk-1.0.9-1.rpm root@rac2:/tmp
[root@rac1 ~]# cd /media/sf_oracle/11.2/grid/rpm [root@rac1 rpm]# rpm -ivh cvuqdisk-1.0.9-1.rpm 준비 중... ################################# [100%] Using default group oinstall to install package Updating / installing... 1:cvuqdisk-1.0.9-1 ################################# [100%] [root@rac1 rpm]# scp cvuqdisk-1.0.9-1.rpm root@rac2:/tmp The authenticity of host 'rac2 (10.0.1.102)' can't be established. ECDSA key fingerprint is SHA256:OIsLbVfyE5WfHmGP9j2nnMA7DOOZ9OGF2vrFXKypYyQ. ECDSA key fingerprint is MD5:a0:76:58:38:02:f0:e1:06:48:ee:dc:cf:e4:1b:4e:58. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'rac2,10.0.1.102' (ECDSA) to the list of known hosts. root@rac2's password: cvuqdisk-1.0.9-1.rpm 100% 8288 5.4MB/s 00:00
root 계정으로 1번 노드에서 cvuqdisk 패키지를 설치한 후, 2번 노드로 파일을 전송합니다.
cd /tmp rpm -ivh cvuqdisk-1.0.9-1.rpm
[root@rac1 ~]# cd /tmp [root@rac2 tmp]# rpm -ivh cvuqdisk-1.0.9-1.rpm 준비 중... ################################# [100%] Using default group oinstall to install package Updating / installing... 1:cvuqdisk-1.0.9-1 ################################# [100%]
2번 노드에서도 root 계정으로 cvuqdisk 패키지를 설치합니다.
cd <Grid 설치 파일 압축 해제 경로>/sshsetup ./sshUserSetup.sh -user oracle -hosts "<노드 1번 호스트명> <노드 2번 호스트명>" -noPromptPassphrase -advanced
[racdb1:/home/oracle]> cd /media/sf_oracle/11.2/grid/sshsetup [racdb1:/media/sf_oracle/11.2/grid/sshsetup]> ./sshUserSetup.sh -user oracle -hosts "rac1 rac2" -noPromptPassphrase -advanced The output of this script is also logged into /tmp/sshUserSetup_2020-04-14-08-21-52.log Hosts are rac1 rac2 user is oracle Platform:- Linux Checking if the remote hosts are reachable PING rac1 (10.0.1.101) 56(84) bytes of data. 64 bytes from rac1 (10.0.1.101): icmp_seq=1 ttl=64 time=0.016 ms 64 bytes from rac1 (10.0.1.101): icmp_seq=2 ttl=64 time=0.053 ms 64 bytes from rac1 (10.0.1.101): icmp_seq=3 ttl=64 time=0.059 ms 64 bytes from rac1 (10.0.1.101): icmp_seq=4 ttl=64 time=0.043 ms 64 bytes from rac1 (10.0.1.101): icmp_seq=5 ttl=64 time=0.041 ms --- rac1 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 3999ms rtt min/avg/max/mdev = 0.016/0.042/0.059/0.015 ms PING rac2 (10.0.1.102) 56(84) bytes of data. 64 bytes from rac2 (10.0.1.102): icmp_seq=1 ttl=64 time=1.19 ms 64 bytes from rac2 (10.0.1.102): icmp_seq=2 ttl=64 time=0.910 ms 64 bytes from rac2 (10.0.1.102): icmp_seq=3 ttl=64 time=0.632 ms 64 bytes from rac2 (10.0.1.102): icmp_seq=4 ttl=64 time=0.472 ms 64 bytes from rac2 (10.0.1.102): icmp_seq=5 ttl=64 time=1.24 ms --- rac2 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4004ms rtt min/avg/max/mdev = 0.472/0.890/1.242/0.302 ms Remote host reachability check succeeded. The following hosts are reachable: rac1 rac2. The following hosts are not reachable: . All hosts are reachable. Proceeding further... firsthost rac1 numhosts 2 The script will setup SSH connectivity from the host rac1 to all the remote hosts. After the script is executed, the user can use SSH to run commands on the remote hosts or copy files between this host rac1 and the remote hosts without being prompted for passwords or confirmations. NOTE 1: As part of the setup procedure, this script will use ssh and scp to copy files between the local host and the remote hosts. Since the script does not store passwords, you may be prompted for the passwords during the execution of the script whenever ssh or scp is invoked. NOTE 2: AS PER SSH REQUIREMENTS, THIS SCRIPT WILL SECURE THE USER HOME DIRECTORY AND THE .ssh DIRECTORY BY REVOKING GROUP AND WORLD WRITE PRIVILEDGES TO THESE directories. Do you want to continue and let the script make the above mentioned changes (yes/no)? yes The user chose yes User chose to skip passphrase related questions. Creating .ssh directory on local host, if not present already Creating authorized_keys file on local host Changing permissions on authorized_keys to 644 on local host Creating known_hosts file on local host Changing permissions on known_hosts to 644 on local host Creating config file on local host If a config file exists already at /home/oracle/.ssh/config, it would be backed up to /home/oracle/.ssh/config.backup. Removing old private/public keys on local host Running SSH keygen on local host with empty passphrase Generating public/private rsa key pair. Your identification has been saved in /home/oracle/.ssh/id_rsa. Your public key has been saved in /home/oracle/.ssh/id_rsa.pub. The key fingerprint is: SHA256:oo5TWhOhim7CCvd0H5yuzJJDoYaE+mTpdy3sRa++qk4 oracle@rac1 The key's randomart image is: +---[RSA 1024]----+ | | | . | |. . . | |... o | |+o o o. S | |= * =. + o | |+*.=E+..= . | |o==*=+++.o | |= .+=**=*. | +----[SHA256]-----+ Creating .ssh directory and setting permissions on remote host rac1 THE SCRIPT WOULD ALSO BE REVOKING WRITE PERMISSIONS FOR group AND others ON THE HOME DIRECTORY FOR oracle. THIS IS AN SSH REQUIREMENT. The script would create ~oracle/.ssh/config file on remote host rac1. If a config file exists already at ~oracle/.ssh/config, it would be backed up to ~oracle/.ssh/config.backup. The user may be prompted for a password here since the script would be running SSH on host rac1. Warning: Permanently added 'rac1,10.0.1.101' (ECDSA) to the list of known hosts. oracle@rac1's password: Done with creating .ssh directory and setting permissions on remote host rac1. Creating .ssh directory and setting permissions on remote host rac2 THE SCRIPT WOULD ALSO BE REVOKING WRITE PERMISSIONS FOR group AND others ON THE HOME DIRECTORY FOR oracle. THIS IS AN SSH REQUIREMENT. The script would create ~oracle/.ssh/config file on remote host rac2. If a config file exists already at ~oracle/.ssh/config, it would be backed up to ~oracle/.ssh/config.backup. The user may be prompted for a password here since the script would be running SSH on host rac2. Warning: Permanently added 'rac2,10.0.1.102' (ECDSA) to the list of known hosts. oracle@rac2's password: Done with creating .ssh directory and setting permissions on remote host rac2. Copying local host public key to the remote host rac1 The user may be prompted for a password or passphrase here since the script would be using SCP for host rac1. oracle@rac1's password: Done copying local host public key to the remote host rac1 Copying local host public key to the remote host rac2 The user may be prompted for a password or passphrase here since the script would be using SCP for host rac2. oracle@rac2's password: Done copying local host public key to the remote host rac2 Creating keys on remote host rac1 if they do not exist already. This is required to setup SSH on host rac1. Creating keys on remote host rac2 if they do not exist already. This is required to setup SSH on host rac2. Generating public/private rsa key pair. Your identification has been saved in .ssh/id_rsa. Your public key has been saved in .ssh/id_rsa.pub. The key fingerprint is: SHA256:BdQ3lUzzNX+T2wmlpkuCJjoNPzAWLbS57eDCfa06cb4 oracle@rac2 The key's randomart image is: +---[RSA 1024]----+ | . .o. +++.| | . + .. o =o=| | = . .. = o+| | = .. o . *| | B o oS. o o.| |. +.X.+ o . | | o =+* . . | | ..o.o | | .oE. | +----[SHA256]-----+ Updating authorized_keys file on remote host rac1 Updating known_hosts file on remote host rac1 Updating authorized_keys file on remote host rac2 Updating known_hosts file on remote host rac2 cat: /home/oracle/.ssh/known_hosts.tmp: 그런 파일이나 디렉터리가 없습니다 cat: /home/oracle/.ssh/authorized_keys.tmp: 그런 파일이나 디렉터리가 없습니다 SSH setup is complete. ------------------------------------------------------------------------ Verifying SSH setup =================== The script will now run the date command on the remote nodes using ssh to verify if ssh is setup correctly. IF THE SETUP IS CORRECTLY SETUP, THERE SHOULD BE NO OUTPUT OTHER THAN THE DATE AND SSH SHOULD NOT ASK FOR PASSWORDS. If you see any output other than date or are prompted for the password, ssh is not setup correctly and you will need to resolve the issue and set up ssh again. The possible causes for failure could be: 1. The server settings in /etc/ssh/sshd_config file do not allow ssh for user oracle. 2. The server may have disabled public key based authentication. 3. The client public key on the server may be outdated. 4. ~oracle or ~oracle/.ssh on the remote host may not be owned by oracle. 5. User may not have passed -shared option for shared remote users or may be passing the -shared option for non-shared remote users. 6. If there is output in addition to the date, but no password is asked, it may be a security alert shown as part of company policy. Append the additional text to the <OMS HOME>/sysman/prov/resources/ignoreMessages.txt file. ------------------------------------------------------------------------ --rac1:-- Running /usr/bin/ssh -x -l oracle rac1 date to verify SSH connectivity has been setup from local host to rac1. IF YOU SEE ANY OTHER OUTPUT BESIDES THE OUTPUT OF THE DATE COMMAND OR IF YOU ARE PROMPTED FOR A PASSWORD HERE, IT MEANS SSH SETUP HAS NOT BEEN SUCCESSFUL. Please note that being prompted for a passphrase may be OK but being prompted for a password is ERROR. 2020. 04. 14. (화) 08:22:21 KST ------------------------------------------------------------------------ --rac2:-- Running /usr/bin/ssh -x -l oracle rac2 date to verify SSH connectivity has been setup from local host to rac2. IF YOU SEE ANY OTHER OUTPUT BESIDES THE OUTPUT OF THE DATE COMMAND OR IF YOU ARE PROMPTED FOR A PASSWORD HERE, IT MEANS SSH SETUP HAS NOT BEEN SUCCESSFUL. Please note that being prompted for a passphrase may be OK but being prompted for a password is ERROR. 2020. 04. 14. (화) 08:22:21 KST ------------------------------------------------------------------------ ------------------------------------------------------------------------ Verifying SSH connectivity has been setup from rac1 to rac1 IF YOU SEE ANY OTHER OUTPUT BESIDES THE OUTPUT OF THE DATE COMMAND OR IF YOU ARE PROMPTED FOR A PASSWORD HERE, IT MEANS SSH SETUP HAS NOT BEEN SUCCESSFUL. bash: -c: line 0: unexpected EOF while looking for matching `"' bash: -c: line 1: syntax error: unexpected end of file ------------------------------------------------------------------------ ------------------------------------------------------------------------ Verifying SSH connectivity has been setup from rac1 to rac2 IF YOU SEE ANY OTHER OUTPUT BESIDES THE OUTPUT OF THE DATE COMMAND OR IF YOU ARE PROMPTED FOR A PASSWORD HERE, IT MEANS SSH SETUP HAS NOT BEEN SUCCESSFUL. bash: -c: line 0: unexpected EOF while looking for matching `"' bash: -c: line 1: syntax error: unexpected end of file ------------------------------------------------------------------------ -Verification from complete- SSH verification complete.
모든 노드에 대해 암호없는 SSH 접속 환경을 설정합니다.
스크립트 수행 시 암호를 뭍는 단계마다 각 노드의 oracle 계정 OS 암호를 입력합니다.
ssh rac1 date ssh rac2 date ssh rac1-priv date ssh rac2-priv date
[racdb1:/home/oracle]> ssh rac1 date 2020. 04. 14. (화) 08:23:12 KST [racdb1:/home/oracle]> ssh rac2 date 2020. 04. 14. (화) 08:23:15 KST [racdb1:/home/oracle]> ssh rac1-priv date The authenticity of host 'rac1-priv (10.0.5.101)' can't be established. ECDSA key fingerprint is SHA256:OIsLbVfyE5WfHmGP9j2nnMA7DOOZ9OGF2vrFXKypYyQ. ECDSA key fingerprint is MD5:a0:76:58:38:02:f0:e1:06:48:ee:dc:cf:e4:1b:4e:58. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'rac1-priv,10.0.5.101' (ECDSA) to the list of known hosts. 2020. 04. 14. (화) 08:23:21 KST [racdb1:/home/oracle]> ssh rac2-priv date The authenticity of host 'rac2-priv (10.0.5.102)' can't be established. ECDSA key fingerprint is SHA256:OIsLbVfyE5WfHmGP9j2nnMA7DOOZ9OGF2vrFXKypYyQ. ECDSA key fingerprint is MD5:a0:76:58:38:02:f0:e1:06:48:ee:dc:cf:e4:1b:4e:58. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'rac2-priv,10.0.5.102' (ECDSA) to the list of known hosts. 2020. 04. 14. (화) 08:23:26 KST
[racdb2:/home/oracle]> ssh rac1 date 2020. 04. 14. (화) 08:23:30 KST [racdb2:/home/oracle]> ssh rac2 date 2020. 04. 14. (화) 08:23:32 KST [racdb2:/home/oracle]> ssh rac1-priv date The authenticity of host 'rac1-priv (10.0.5.101)' can't be established. ECDSA key fingerprint is SHA256:OIsLbVfyE5WfHmGP9j2nnMA7DOOZ9OGF2vrFXKypYyQ. ECDSA key fingerprint is MD5:a0:76:58:38:02:f0:e1:06:48:ee:dc:cf:e4:1b:4e:58. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'rac1-priv,10.0.5.101' (ECDSA) to the list of known hosts. 2020. 04. 14. (화) 08:23:40 KST [racdb2:/home/oracle]> ssh rac2-priv date The authenticity of host 'rac2-priv (10.0.5.102)' can't be established. ECDSA key fingerprint is SHA256:OIsLbVfyE5WfHmGP9j2nnMA7DOOZ9OGF2vrFXKypYyQ. ECDSA key fingerprint is MD5:a0:76:58:38:02:f0:e1:06:48:ee:dc:cf:e4:1b:4e:58. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'rac2-priv,10.0.5.102' (ECDSA) to the list of known hosts. 2020. 04. 14. (화) 08:23:45 KST
암호 없는 SSH 접속이 정상적으로 설정되었는지, 모든 노드에서 테스트합니다.
grid_env cd <Grid 설치 파일 압축 해제 경로> ./runcluvfy.sh stage -pre crsinst -n <노드 1번 호스트명>,<노드 2번 호스트명> -fixup -verbose
[+ASM1:/home/oracle]> cd /media/sf_oracle/11.2/grid [+ASM1:/media/sf_oracle/11.2/grid]> ./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -fixup -verbose 클러스터 서비스 설정에 대한 사전 확인 수행 노드 연결 가능성을 검사하는 중... 검사: "rac1" 노드에서의 노드 연결 가능성 대상 노드 연결 가능? ------------------------------------ ------------------------ rac2 예 rac1 예 결과: "rac1" 노드에서 노드 연결 가능성 검사를 성공했습니다. 사용자 equivalence를 검사하는 중... 검사: 사용자 "oracle"에 대한 사용자 equivalence 노드 이름 상태 ------------------------------------ ------------------------ rac2 성공 rac1 성공 결과: 사용자 "oracle"에 대한 사용자 equivalence 검사를 성공했습니다. 노드 연결을 검사하는 중... 호스트 구성 파일 확인 중... 노드 이름 상태 ------------------------------------ ------------------------ rac2 성공 rac1 성공 호스트 구성 파일 확인을 성공했습니다. "rac2" 노드에 대한 인터페이스 정보 이름 IP 주소 서브넷 게이트웨이 Def. 게이트웨이 HW 주소 MTU ------ --------------- --------------- --------------- --------------- ----------------- ------ enp0s3 10.0.1.102 10.0.1.0 0.0.0.0 10.0.1.1 08:00:27:6E:44:4D 1500 enp0s8 10.0.5.102 10.0.5.0 0.0.0.0 10.0.1.1 08:00:27:BE:10:55 1500 "rac1" 노드에 대한 인터페이스 정보 이름 IP 주소 서브넷 게이트웨이 Def. 게이트웨이 HW 주소 MTU ------ --------------- --------------- --------------- --------------- ----------------- ------ enp0s3 10.0.1.101 10.0.1.0 0.0.0.0 10.0.1.1 08:00:27:39:AE:EE 1500 enp0s8 10.0.5.101 10.0.5.0 0.0.0.0 10.0.1.1 08:00:27:D3:1A:94 1500 검사: "10.0.1.0" 서브넷에 대한 노드 연결 소스 대상 접속됨? ------------------------------ ------------------------------ ---------------- rac2[10.0.1.102] rac1[10.0.1.101] 예 결과: rac2,rac1개의 노드를 사용하는 "10.0.1.0" 서브넷에 대한 노드 연결을 성공했습니다. 검사: "10.0.1.0" 서브넷의 TCP 접속 소스 대상 접속됨? ------------------------------ ------------------------------ ---------------- rac1:10.0.1.101 rac2:10.0.1.102 성공 결과: "10.0.1.0" 서브넷에 대한 TCP 접속 검사를 성공했습니다. 검사: "10.0.5.0" 서브넷에 대한 노드 연결 소스 대상 접속됨? ------------------------------ ------------------------------ ---------------- rac2[10.0.5.102] rac1[10.0.5.101] 예 결과: rac2,rac1개의 노드를 사용하는 "10.0.5.0" 서브넷에 대한 노드 연결을 성공했습니다. 검사: "10.0.5.0" 서브넷의 TCP 접속 소스 대상 접속됨? ------------------------------ ------------------------------ ---------------- rac1:10.0.5.101 rac2:10.0.5.102 성공 결과: "10.0.5.0" 서브넷에 대한 TCP 접속 검사를 성공했습니다. "10.0.1.0" 서브넷에서 발견된 VIP 후보로 적합한 인터페이스: rac2 enp0s3:10.0.1.102 rac1 enp0s3:10.0.1.101 "10.0.5.0" 서브넷에서 발견된 전용 상호 접속 후보로 적합한 인터페이스: rac2 enp0s8:10.0.5.102 rac1 enp0s8:10.0.5.101 서브넷 마스크 일관성 확인 중... "10.0.1.0" 서브넷에 대한 서브넷 마스크 일관성 검사를 성공했습니다. "10.0.5.0" 서브넷에 대한 서브넷 마스크 일관성 검사를 성공했습니다. 서브넷 마스크 일관성 검사를 성공했습니다. 결과: 노드 연결 검사를 성공했습니다. 멀티캐스트 통신을 검사하는 중... 멀티캐스트 그룹 "230.0.1.0"과(와) 멀티캐스트 통신을 위해 "10.0.1.0" 서브넷을 검사하는 중... 멀티캐스트 그룹 "230.0.1.0"과(와) 멀티캐스트 통신을 위한 "10.0.1.0" 서브넷 검사를 성공했습니다. 멀티캐스트 그룹 "230.0.1.0"과(와) 멀티캐스트 통신을 위해 "10.0.5.0" 서브넷을 검사하는 중... 멀티캐스트 그룹 "230.0.1.0"과(와) 멀티캐스트 통신을 위한 "10.0.5.0" 서브넷 검사를 성공했습니다. 멀티캐스트 통신 검사를 성공했습니다. ASMLib 구성을 검사하는 중입니다. 노드 이름 상태 ------------------------------------ ------------------------ rac2 성공 rac1 성공 결과: ASMLib 구성 검사를 성공했습니다. 검사: 총 메모리 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 9.7635GB (1.0237792E7KB) 1.5GB (1572864.0KB) 성공 rac1 9.7635GB (1.0237792E7KB) 1.5GB (1572864.0KB) 성공 결과: 총 메모리 검사를 성공했습니다. 검사: 사용 가능한 메모리 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 9.5567GB (1.0020956E7KB) 50MB (51200.0KB) 성공 rac1 9.232GB (9680436.0KB) 50MB (51200.0KB) 성공 결과: 사용 가능한 메모리 검사를 성공했습니다. 검사: 교체 공간 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 10GB (1.0485756E7KB) 9.7635GB (1.0237792E7KB) 성공 rac1 10GB (1.0485756E7KB) 9.7635GB (1.0237792E7KB) 성공 결과: 교체 공간 검사를 성공했습니다. 검사: "rac2:/tmp"에 대한 여유 디스크 공간 경로 노드 이름 마운트 위치 사용 가능 필수 상태 ---------------- ------------ ------------ ------------ ------------ ------------ /tmp rac2 / 89.5264GB 1GB 성공 결과: "rac2:/tmp"에 대한 여유 디스크 공간 검사를 성공했습니다. 검사: "rac1:/tmp"에 대한 여유 디스크 공간 경로 노드 이름 마운트 위치 사용 가능 필수 상태 ---------------- ------------ ------------ ------------ ------------ ------------ /tmp rac1 / 89.4643GB 1GB 성공 결과: "rac1:/tmp"에 대한 여유 디스크 공간 검사를 성공했습니다. 검사: "oracle"에 대한 사용자 존재 여부 노드 이름 상태 설명 ------------ ------------------------ ------------------------ rac2 성공 존재함(54321) rac1 성공 존재함(54321) UID 값이 54321인 다중 사용자를 검사하는 중 결과: UID 값이 54321인 다중 사용자 검사를 성공했습니다. 결과: "oracle"에 대한 사용자 존재 여부 검사를 성공했습니다. 검사: "oinstall"에 대한 그룹 존재 여부 노드 이름 상태 설명 ------------ ------------------------ ------------------------ rac2 성공 존재함 rac1 성공 존재함 결과: "oinstall"에 대한 그룹 존재 여부 검사를 성공했습니다. 검사: "dba"에 대한 그룹 존재 여부 노드 이름 상태 설명 ------------ ------------------------ ------------------------ rac2 성공 존재함 rac1 성공 존재함 결과: "dba"에 대한 그룹 존재 여부 검사를 성공했습니다. 검사: "oinstall" 그룹[기본]의 사용자 "oracle"에 대한 멤버쉽 노드 이름 사용자가 존재함 그룹이 존재함 그룹의 사용자 기본 상태 ---------------- ------------ ------------ ------------ ------------ ------------ rac2 예 예 예 예 성공 rac1 예 예 예 예 성공 결과: "oinstall" 그룹[기본]의 사용자 "oracle"에 대한 멤버쉽 검사를 성공했습니다. 검사: "dba" 그룹의 사용자 "oracle"에 대한 멤버쉽 노드 이름 사용자가 존재함 그룹이 존재함 그룹의 사용자 상태 ---------------- ------------ ------------ ------------ ---------------- rac2 예 예 예 성공 rac1 예 예 예 성공 결과: "dba" 그룹의 사용자 "oracle"에 대한 멤버쉽 검사를 성공했습니다. 검사: 실행 레벨 노드 이름 실행 레벨 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 3 3,5 성공 rac1 5 3,5 성공 결과: 실행 레벨 검사를 성공했습니다. 검사: "최대 열린 파일 기술자"에 대한 완전 제한 노드 이름 유형 사용 가능 필수 상태 ---------------- ------------ ------------ ------------ ---------------- rac2 완전 65536 65536 성공 rac1 완전 65536 65536 성공 결과: "최대 열린 파일 기술자"에 대한 완전 제한 검사를 성공했습니다. 검사: "최대 열린 파일 기술자"에 대한 부분 제한 노드 이름 유형 사용 가능 필수 상태 ---------------- ------------ ------------ ------------ ---------------- rac2 부분 1024 1024 성공 rac1 부분 65536 1024 성공 결과: "최대 열린 파일 기술자"에 대한 부분 제한 검사를 성공했습니다. 검사: "최대 사용자 프로세스"에 대한 완전 제한 노드 이름 유형 사용 가능 필수 상태 ---------------- ------------ ------------ ------------ ---------------- rac2 완전 16384 16384 성공 rac1 완전 16384 16384 성공 결과: "최대 사용자 프로세스"에 대한 완전 제한 검사를 성공했습니다. 검사: "최대 사용자 프로세스"에 대한 부분 제한 노드 이름 유형 사용 가능 필수 상태 ---------------- ------------ ------------ ------------ ---------------- rac2 부분 16384 2047 성공 rac1 부분 16384 2047 성공 결과: "최대 사용자 프로세스"에 대한 부분 제한 검사를 성공했습니다. 검사: 시스템 구조 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 x86_64 x86_64 성공 rac1 x86_64 x86_64 성공 결과: 시스템 구조 검사를 성공했습니다. 검사: 커널 버전 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 4.1.12-112.16.4.el7uek.x86_64 2.6.9 성공 rac1 4.1.12-112.16.4.el7uek.x86_64 2.6.9 성공 결과: 커널 버전 검사를 성공했습니다. 검사: "semmsl"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac2 250 250 250 성공 rac1 250 250 250 성공 결과: "semmsl"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "semmns"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac2 32000 32000 32000 성공 rac1 32000 32000 32000 성공 결과: "semmns"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "semopm"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac2 100 100 100 성공 rac1 100 100 100 성공 결과: "semopm"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "semmni"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac2 128 128 128 성공 rac1 128 128 128 성공 결과: "semmni"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "shmmax"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac2 4398046511104 4398046511104 4294967295 성공 rac1 4398046511104 4398046511104 4294967295 성공 결과: "shmmax"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "shmmni"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac2 4096 4096 4096 성공 rac1 4096 4096 4096 성공 결과: "shmmni"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "shmall"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac2 1073741824 1073741824 2097152 성공 rac1 1073741824 1073741824 2097152 성공 결과: "shmall"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "file-max"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac2 6815744 6815744 6815744 성공 rac1 6815744 6815744 6815744 성공 결과: "file-max"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "ip_local_port_range"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac2 between 9000.0 & 65500.0 between 9000.0 & 65500.0 between 9000.0 & 65500.0 성공 rac1 between 9000.0 & 65500.0 between 9000.0 & 65500.0 between 9000.0 & 65500.0 성공 결과: "ip_local_port_range"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "rmem_default"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac2 262144 262144 262144 성공 rac1 262144 262144 262144 성공 결과: "rmem_default"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "rmem_max"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac2 4194304 4194304 4194304 성공 rac1 4194304 4194304 4194304 성공 결과: "rmem_max"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "wmem_default"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac2 262144 262144 262144 성공 rac1 262144 262144 262144 성공 결과: "wmem_default"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "wmem_max"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac2 1048576 1048576 1048576 성공 rac1 1048576 1048576 1048576 성공 결과: "wmem_max"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "aio-max-nr"에 대한 커널 매개변수 노드 이름 현재 구성됨 필수 상태 설명 ---------------- ------------ ------------ ------------ ------------ ------------ rac2 1048576 1048576 1048576 성공 rac1 1048576 1048576 1048576 성공 결과: "aio-max-nr"에 대한 커널 매개변수 검사를 성공했습니다. 검사: "ocfs2-tools"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 ocfs2-tools-1.8.6-9.el7 ocfs2-tools-1.2.7 성공 rac1 ocfs2-tools-1.8.6-9.el7 ocfs2-tools-1.2.7 성공 결과: "ocfs2-tools"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "make"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 make-3.82-23.el7 make-3.80 성공 rac1 make-3.82-23.el7 make-3.80 성공 결과: "make"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "binutils"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 binutils-2.27-27.base.el7 binutils-2.15.92.0.2 성공 rac1 binutils-2.27-27.base.el7 binutils-2.15.92.0.2 성공 결과: "binutils"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "gcc(x86_64)"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 gcc(x86_64)-4.8.5-28.0.1.el7 gcc(x86_64)-3.4.6 성공 rac1 gcc(x86_64)-4.8.5-28.0.1.el7 gcc(x86_64)-3.4.6 성공 결과: "gcc(x86_64)"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "libaio(x86_64)"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 libaio(x86_64)-0.3.109-13.el7 libaio(x86_64)-0.3.105 성공 rac1 libaio(x86_64)-0.3.109-13.el7 libaio(x86_64)-0.3.105 성공 결과: "libaio(x86_64)"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "glibc(x86_64)"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 glibc(x86_64)-2.17-222.el7 glibc(x86_64)-2.3.4-2.41 성공 rac1 glibc(x86_64)-2.17-222.el7 glibc(x86_64)-2.3.4-2.41 성공 결과: "glibc(x86_64)"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "compat-libstdc++-33(x86_64)"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 compat-libstdc++-33(x86_64)-3.2.3-72.el7 compat-libstdc++-33(x86_64)-3.2.3 성공 rac1 compat-libstdc++-33(x86_64)-3.2.3-72.el7 compat-libstdc++-33(x86_64)-3.2.3 성공 결과: "compat-libstdc++-33(x86_64)"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "elfutils-libelf(x86_64)"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 elfutils-libelf(x86_64)-0.170-4.el7 elfutils-libelf(x86_64)-0.97 성공 rac1 elfutils-libelf(x86_64)-0.170-4.el7 elfutils-libelf(x86_64)-0.97 성공 결과: "elfutils-libelf(x86_64)"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "elfutils-libelf-devel"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 elfutils-libelf-devel-0.170-4.el7 elfutils-libelf-devel-0.97 성공 rac1 elfutils-libelf-devel-0.170-4.el7 elfutils-libelf-devel-0.97 성공 결과: "elfutils-libelf-devel"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "glibc-common"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 glibc-common-2.17-222.el7 glibc-common-2.3.4 성공 rac1 glibc-common-2.17-222.el7 glibc-common-2.3.4 성공 결과: "glibc-common"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "glibc-devel(x86_64)"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 glibc-devel(x86_64)-2.17-222.el7 glibc-devel(x86_64)-2.3.4 성공 rac1 glibc-devel(x86_64)-2.17-222.el7 glibc-devel(x86_64)-2.3.4 성공 결과: "glibc-devel(x86_64)"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "glibc-headers"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 glibc-headers-2.17-222.el7 glibc-headers-2.3.4 성공 rac1 glibc-headers-2.17-222.el7 glibc-headers-2.3.4 성공 결과: "glibc-headers"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "gcc-c++(x86_64)"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 gcc-c++(x86_64)-4.8.5-28.0.1.el7 gcc-c++(x86_64)-3.4.6 성공 rac1 gcc-c++(x86_64)-4.8.5-28.0.1.el7 gcc-c++(x86_64)-3.4.6 성공 결과: "gcc-c++(x86_64)"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "libaio-devel(x86_64)"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 libaio-devel(x86_64)-0.3.109-13.el7 libaio-devel(x86_64)-0.3.105 성공 rac1 libaio-devel(x86_64)-0.3.109-13.el7 libaio-devel(x86_64)-0.3.105 성공 결과: "libaio-devel(x86_64)"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "libgcc(x86_64)"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 libgcc(x86_64)-4.8.5-28.0.1.el7 libgcc(x86_64)-3.4.6 성공 rac1 libgcc(x86_64)-4.8.5-28.0.1.el7 libgcc(x86_64)-3.4.6 성공 결과: "libgcc(x86_64)"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "libstdc++(x86_64)"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 libstdc++(x86_64)-4.8.5-28.0.1.el7 libstdc++(x86_64)-3.4.6 성공 rac1 libstdc++(x86_64)-4.8.5-28.0.1.el7 libstdc++(x86_64)-3.4.6 성공 결과: "libstdc++(x86_64)"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "libstdc++-devel(x86_64)"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 libstdc++-devel(x86_64)-4.8.5-28.0.1.el7 libstdc++-devel(x86_64)-3.4.6 성공 rac1 libstdc++-devel(x86_64)-4.8.5-28.0.1.el7 libstdc++-devel(x86_64)-3.4.6 성공 결과: "libstdc++-devel(x86_64)"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "sysstat"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 sysstat-10.1.5-13.el7 sysstat-5.0.5 성공 rac1 sysstat-10.1.5-13.el7 sysstat-5.0.5 성공 결과: "sysstat"에 대한 패키지 존재 여부 검사를 성공했습니다. 검사: "pdksh"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 누락됨 pdksh-5.2.14 실패 rac1 누락됨 pdksh-5.2.14 실패 결과: "pdksh"에 대한 패키지 존재 여부 검사를 실패했습니다. 검사: "expat(x86_64)"에 대한 패키지 존재 여부 노드 이름 사용 가능 필수 상태 ------------ ------------------------ ------------------------ ---------- rac2 expat(x86_64)-2.1.0-10.el7_3 expat(x86_64)-1.95.7 성공 rac1 expat(x86_64)-2.1.0-10.el7_3 expat(x86_64)-1.95.7 성공 결과: "expat(x86_64)"에 대한 패키지 존재 여부 검사를 성공했습니다. UID 값이 0인 다중 사용자를 검사하는 중 결과: UID 값이 0인 다중 사용자 검사를 성공했습니다. 검사: 현재 그룹 ID 결과: 현재 그룹 ID 검사를 성공했습니다. 루트 사용자의 기본 그룹 일관성 검사를 시작하는 중입니다. 노드 이름 상태 ------------------------------------ ------------------------ rac2 성공 rac1 성공 루트 사용자의 기본 그룹에 대한 일관성 검사를 성공했습니다. NTP(Network Time Protocol)를 사용하여 시계 동기화 검사를 시작하는 중... NTP 구성 파일 검사가 시작되었습니다. 노드에서 NTP(Network Time Protocol) 구성 파일을 찾을 수 없습니다. 클러스터 노드에 대한 시간 동기화에 NTP 대신 Oracle CTSS(Cluster Time Synchronization Service)를 사용할 수 있습니다. 실행 중인 NTP 데몬 또는 서비스가 없는 것으로 확인되었습니다. 결과: NTP(Network Time Protocol)를 사용한 시계 동기화 검사를 성공했습니다. 코어 파일 이름 패턴 일관성을 검사하는 중... 코어 파일 이름 패턴 일관성 검사를 성공했습니다. 사용자 "oracle"이(가) "root" 그룹에 속해 있지 않은지 확인하는 중입니다. 노드 이름 상태 설명 ------------ ------------------------ ------------------------ rac2 성공 존재하지 않음 rac1 성공 존재하지 않음 결과: 사용자 "oracle"이(가) "root" 그룹에 속해 있지 않습니다. 검사를 성공했습니다. 기본 사용자 파일 생성 마스크 검사 노드 이름 사용 가능 필수 설명 ------------ ------------------------ ------------------------ ---------- rac2 0022 0022 성공 rac1 0022 0022 성공 결과: 기본 사용자 파일 생성 마스크 검사를 성공했습니다. 노드에서 "/etc/resolv.conf" 파일의 일관성을 검사하는 중 "/etc/resolv.conf" 파일에서 'domain' 및 'search' 항목이 하나씩만 정의되어 있는지 검사하는 중 "/etc/resolv.conf" 파일에 'domain' 항목과 'search' 항목이 모두 정의되지 않았습니다. "/etc/resolv.conf" 파일의 'domain' 항목이 노드에서 일치하는지 여부를 검사하는 중... "/etc/resolv.conf" 파일의 'domain' 항목이 노드에서 일치합니다. "/etc/resolv.conf" 파일의 'search' 항목이 노드에서 일치하는지 여부를 검사하는 중... "/etc/resolv.conf" 파일의 'search' 항목이 노드에서 일치합니다. "/etc/resolv.conf" 파일에서 'search' 항목이 하나만 정의되었는지 검사하는 중 모든 노드의 "/etc/resolv.conf" 파일에 'search' 항목이 하나만 정의되었습니다. 모든 노드에서 'search' 항목이 "rac2" 노드에서 발견된 것과 동일한 "localdomain"인지 검사하는 중 클러스터의 모든 노드에서 'search' 값이 동일합니다. 연결할 수 없는 노드에 대한 DNS 응답 시간을 검사하는 중 노드 이름 상태 ------------------------------------ ------------------------ rac2 성공 rac1 성공 모든 노드에서 연결할 수 없는 노드에 대한 DNS 응답 시간이 허용되는 제한 범위에 속합니다. "/etc/resolv.conf" 파일이 노드에서 일치합니다. 검사: 시간대 일관성 결과: 시간대 일관성 검사를 성공했습니다. 모든 노드에서 클러스터 서비스 설정에 대한 사전 확인을 실패했습니다.
{}
B) response 파일 생성
oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v11_2_0 ORACLE_HOSTNAME=rac1 INVENTORY_LOCATION=/u01/app/oraInventory SELECTED_LANGUAGES=en,ko oracle.install.option=CRS_CONFIG ORACLE_BASE=/u01/app/oracle ORACLE_HOME=/u01/app/11.2.0/grid oracle.install.asm.OSDBA=asmdba oracle.install.asm.OSOPER=asmoper oracle.install.asm.OSASM=asmadmin oracle.install.crs.config.gpnp.scanName=rac-scan oracle.install.crs.config.gpnp.scanPort=1521 oracle.install.crs.config.clusterName=rac oracle.install.crs.config.gpnp.configureGNS=false oracle.install.crs.config.autoConfigureClusterNodeVIP=false oracle.install.crs.config.clusterNodes=rac1:rac1-vip,rac2:rac2-vip oracle.install.crs.config.networkInterfaceList=enp0s3:10.0.1.0:1,enp0s8:10.0.5.0:2 oracle.install.crs.config.storageOption=ASM_STORAGE oracle.install.crs.config.sharedFileSystemStorage.votingDiskRedundancy=EXTERNAL oracle.install.crs.config.sharedFileSystemStorage.ocrRedundancy=EXTERNAL oracle.install.crs.config.useIPMI=false oracle.install.asm.SYSASMPassword=oracle_4U oracle.install.asm.diskGroup.name=DATA oracle.install.asm.diskGroup.redundancy=EXTERNAL oracle.install.asm.diskGroup.AUSize=1 oracle.install.asm.diskGroup.disks=/dev/raw/raw6 oracle.install.asm.diskGroup.diskDiscoveryString=/dev/raw/raw* oracle.install.asm.monitorPassword=oracle_4U oracle.install.asm.upgradeASM=false oracle.installer.autoupdates.option=SKIP_UPDATES
[+ASM1:/home/oracle]> cat > ~/grid_install.rsp ############################################################################### ## Copyright(c) Oracle Corporation 1998,2013. All rights reserved. ## ## ## ## Specify values for the variables listed below to customize ## ## your installation. ## ## ## ## Each variable is associated with a comment. The comment ## ## can help to populate the variables with the appropriate ## ## values. ## ## ## ## IMPORTANT NOTE: This file contains plain text passwords and ## ## should be secured to have read permission only by oracle user ## ## or db administrator who owns this installation. ## ## ## ############################################################################### ############################################################################### ## ## ## Instructions to fill this response file ## ## To install and configure 'Grid Infrastructure for Cluster' ## ## - Fill out sections A,B,C,D,E,F and G ## ## - Fill out section G if OCR and voting disk should be placed on ASM ## ## ## ## To install and configure 'Grid Infrastructure for Standalone server' ## ## - Fill out sections A,B and G ## ## ## ## To install software for 'Grid Infrastructure' ## ## - Fill out sections A,B and C ## ## ## ## To upgrade clusterware and/or Automatic storage management of earlier ## ## releases ## ## - Fill out sections A,B,C,D and H ## ## ## ############################################################################### #------------------------------------------------------------------------------ # Do not change the following system generated value. #------------------------------------------------------------------------------ oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v11_2_0 ############################################################################### # # # SECTION A - BASIC # # # ############################################################################### #------------------------------------------------------------------------------- # Specify the hostname of the system as set during the install. It can be used # to force the installation to use an alternative hostname rather than using the # first hostname found on the system. (e.g., for systems with multiple hostnames # and network interfaces) #------------------------------------------------------------------------------- ORACLE_HOSTNAME=rac1 #------------------------------------------------------------------------------- # Specify the location which holds the inventory files. # This is an optional parameter if installing on # Windows based Operating System. #------------------------------------------------------------------------------- INVENTORY_LOCATION=/u01/app/oraInventory #------------------------------------------------------------------------------- # Specify the languages in which the components will be installed. # # en : English ja : Japanese # fr : French ko : Korean # ar : Arabic es : Latin American Spanish # bn : Bengali lv : Latvian # pt_BR: Brazilian Portuguese lt : Lithuanian # bg : Bulgarian ms : Malay # fr_CA: Canadian French es_MX: Mexican Spanish # ca : Catalan no : Norwegian # hr : Croatian pl : Polish # cs : Czech pt : Portuguese # da : Danish ro : Romanian # nl : Dutch ru : Russian # ar_EG: Egyptian zh_CN: Simplified Chinese # en_GB: English (Great Britain) sk : Slovak # et : Estonian sl : Slovenian # fi : Finnish es_ES: Spanish # de : German sv : Swedish # el : Greek th : Thai # iw : Hebrew zh_TW: Traditional Chinese # hu : Hungarian tr : Turkish # is : Icelandic uk : Ukrainian # in : Indonesian vi : Vietnamese # it : Italian # # all_langs : All languages # # Specify value as the following to select any of the languages. # Example : SELECTED_LANGUAGES=en,fr,ja # # Specify value as the following to select all the languages. # Example : SELECTED_LANGUAGES=all_langs #------------------------------------------------------------------------------- SELECTED_LANGUAGES=en,ko #------------------------------------------------------------------------------- # Specify the installation option. # Allowed values: CRS_CONFIG or HA_CONFIG or UPGRADE or CRS_SWONLY # - CRS_CONFIG : To configure Grid Infrastructure for cluster # - HA_CONFIG : To configure Grid Infrastructure for stand alone server # - UPGRADE : To upgrade clusterware software of earlier release # - CRS_SWONLY : To install clusterware files only (can be configured for cluster # or stand alone server later) #------------------------------------------------------------------------------- oracle.install.option=CRS_CONFIG #------------------------------------------------------------------------------- # Specify the complete path of the Oracle Base. #------------------------------------------------------------------------------- ORACLE_BASE=/u01/app/oracle #------------------------------------------------------------------------------- # Specify the complete path of the Oracle Home. #------------------------------------------------------------------------------- ORACLE_HOME=/u01/app/11.2.0/grid ################################################################################ # # # SECTION B - GROUPS # # # # The following three groups need to be assigned for all GI installations. # # OSDBA and OSOPER can be the same or different. OSASM must be different # # than the other two. # # The value to be specified for OSDBA, OSOPER and OSASM group is only for # # Unix based Operating System. # # # ################################################################################ #------------------------------------------------------------------------------- # The DBA_GROUP is the OS group which is to be granted OSDBA privileges. #------------------------------------------------------------------------------- oracle.install.asm.OSDBA=asmdba #------------------------------------------------------------------------------- # The OPER_GROUP is the OS group which is to be granted OSOPER privileges. # The value to be specified for OSOPER group is optional. #------------------------------------------------------------------------------- oracle.install.asm.OSOPER=asmoper #------------------------------------------------------------------------------- # The OSASM_GROUP is the OS group which is to be granted OSASM privileges. This # must be different than the previous two. #------------------------------------------------------------------------------- oracle.install.asm.OSASM=asmadmin ################################################################################ # # # SECTION C - SCAN # # # ################################################################################ #------------------------------------------------------------------------------- # Specify a name for SCAN #------------------------------------------------------------------------------- oracle.install.crs.config.gpnp.scanName=rac-scan #------------------------------------------------------------------------------- # Specify a unused port number for SCAN service #------------------------------------------------------------------------------- oracle.install.crs.config.gpnp.scanPort=1521 ################################################################################ # # # SECTION D - CLUSTER & GNS # # # ################################################################################ #------------------------------------------------------------------------------- # Specify a name for the Cluster you are creating. # # The maximum length allowed for clustername is 15 characters. The name can be # any combination of lower and uppercase alphabets (A - Z), (0 - 9), hyphen(-) # and underscore(_). #------------------------------------------------------------------------------- oracle.install.crs.config.clusterName=rac #------------------------------------------------------------------------------- # Specify 'true' if you would like to configure Grid Naming Service(GNS), else # specify 'false' #------------------------------------------------------------------------------- oracle.install.crs.config.gpnp.configureGNS=false #------------------------------------------------------------------------------- # Applicable only if you choose to configure GNS # Specify the GNS subdomain and an unused virtual hostname for GNS service # Additionally you may also specify if VIPs have to be autoconfigured # # Value for oracle.install.crs.config.autoConfigureClusterNodeVIP should be true # if GNS is being configured(oracle.install.crs.config.gpnp.configureGNS), false # otherwise. #------------------------------------------------------------------------------- oracle.install.crs.config.gpnp.gnsSubDomain= oracle.install.crs.config.gpnp.gnsVIPAddress= oracle.install.crs.config.autoConfigureClusterNodeVIP=false #------------------------------------------------------------------------------- # Specify a list of public node names, and virtual hostnames that have to be # part of the cluster. # # The list should a comma-separated list of nodes. Each entry in the list # should be a colon-separated string that contains 2 fields. # # The fields should be ordered as follows: # 1. The first field is for public node name. # 2. The second field is for virtual host name # (specify as AUTO if you have chosen 'auto configure for VIP' # i.e. autoConfigureClusterNodeVIP=true) # # Example: oracle.install.crs.config.clusterNodes=node1:node1-vip,node2:node2-vip #------------------------------------------------------------------------------- oracle.install.crs.config.clusterNodes=rac1:rac1-vip,rac2:rac2-vip #------------------------------------------------------------------------------- # The value should be a comma separated strings where each string is as shown below # InterfaceName:SubnetAddress:InterfaceType # where InterfaceType can be either "1", "2", or "3" # (1 indicates public, 2 indicates private, and 3 indicates the interface is not used) # # For example: eth0:140.87.24.0:1,eth1:10.2.1.0:2,eth2:140.87.52.0:3 # #------------------------------------------------------------------------------- oracle.install.crs.config.networkInterfaceList=enp0s3:10.0.1.0:1,enp0s8:10.0.5.0:2 ################################################################################ # # # SECTION E - STORAGE # # # ################################################################################ #------------------------------------------------------------------------------- # Specify the type of storage to use for Oracle Cluster Registry(OCR) and Voting # Disks files # - ASM_STORAGE # - FILE_SYSTEM_STORAGE #------------------------------------------------------------------------------- oracle.install.crs.config.storageOption=ASM_STORAGE #------------------------------------------------------------------------------- # THIS PROPERTY NEEDS TO BE FILLED ONLY IN CASE OF WINDOWS INSTALL. # Specify a comma separated list of strings where each string is as shown below: # Disk Number:Partition Number:Drive Letter:Format Option # The Disk Number and Partition Number should refer to the location which has to # be formatted. The Drive Letter should refer to the drive letter that has to be # assigned. "Format Option" can be either of the following - # - SOFTWARE : Format to place software binaries. # - DATA : Format to place the OCR/VDSK files. # # For example: 1:2:P:DATA,1:3:Q:SOFTWARE,1:4:R:DATA,1:5:S:DATA # #------------------------------------------------------------------------------- oracle.install.crs.config.sharedFileSystemStorage.diskDriveMapping= #------------------------------------------------------------------------------- # These properties are applicable only if FILE_SYSTEM_STORAGE is chosen for # storing OCR and voting disk # Specify the location(s) and redundancy for OCR and voting disks # In case of windows, mention the drive location that is specified to be # formatted for DATA in the above property. # Multiple locations can be specified, separated by commas # Redundancy can be one of these: # EXTERNAL - one(1) location should be specified for OCR and voting disk # NORMAL - three(3) locations should be specified for OCR and voting disk # Example: # For Unix based Operating System: # oracle.install.crs.config.sharedFileSystemStorage.votingDiskLocations=/oradbocfs/storage/vdsk1,/oradbocfs/storage/vdsk2,/oradbocfs/storage/vdsk3 # oracle.install.crs.config.sharedFileSystemStorage.ocrLocations=/oradbocfs/storage/ocr1,/oradbocfs/storage/ocr2,/oradbocfs/storage/ocr3 # For Windows based Operating System: # oracle.install.crs.config.sharedFileSystemStorage.votingDiskLocations=P:\vdsk1,R:\vdsk2,S:\vdsk3 # oracle.install.crs.config.sharedFileSystemStorage.ocrLocations=P:\ocr1,R:\ocr2,S:\ocr3 #------------------------------------------------------------------------------- oracle.install.crs.config.sharedFileSystemStorage.votingDiskLocations= oracle.install.crs.config.sharedFileSystemStorage.votingDiskRedundancy=EXTERNAL oracle.install.crs.config.sharedFileSystemStorage.ocrLocations= oracle.install.crs.config.sharedFileSystemStorage.ocrRedundancy=EXTERNAL ################################################################################ # # # SECTION F - IPMI # # # ################################################################################ #------------------------------------------------------------------------------- # Specify 'true' if you would like to configure Intelligent Power Management interface # (IPMI), else specify 'false' #------------------------------------------------------------------------------- oracle.install.crs.config.useIPMI=false #------------------------------------------------------------------------------- # Applicable only if you choose to configure IPMI # i.e. oracle.install.crs.config.useIPMI=true # Specify the username and password for using IPMI service #------------------------------------------------------------------------------- oracle.install.crs.config.ipmi.bmcUsername= oracle.install.crs.config.ipmi.bmcPassword= ################################################################################ # # # SECTION G - ASM # # # ################################################################################ #------------------------------------------------------------------------------- # Specify a password for SYSASM user of the ASM instance #------------------------------------------------------------------------------- oracle.install.asm.SYSASMPassword=oracle_4U #------------------------------------------------------------------------------- # The ASM DiskGroup # # Example: oracle.install.asm.diskGroup.name=data # #------------------------------------------------------------------------------- oracle.install.asm.diskGroup.name=DATA #------------------------------------------------------------------------------- # Redundancy level to be used by ASM. # It can be one of the following # - NORMAL # - HIGH # - EXTERNAL # Example: oracle.install.asm.diskGroup.redundancy=NORMAL # #------------------------------------------------------------------------------- oracle.install.asm.diskGroup.redundancy=EXTERNAL #------------------------------------------------------------------------------- # Allocation unit size to be used by ASM. # It can be one of the following values # - 1 # - 2 # - 4 # - 8 # - 16 # - 32 # - 64 # Example: oracle.install.asm.diskGroup.AUSize=4 # size unit is MB # #------------------------------------------------------------------------------- oracle.install.asm.diskGroup.AUSize=1 #------------------------------------------------------------------------------- # List of disks to create a ASM DiskGroup # # Example: # For Unix based Operating System: # oracle.install.asm.diskGroup.disks=/oracle/asm/disk1,/oracle/asm/disk2 # For Windows based Operating System: # oracle.install.asm.diskGroup.disks=\\.\ORCLDISKDATA0,\\.\ORCLDISKDATA1 # #------------------------------------------------------------------------------- oracle.install.asm.diskGroup.disks=/dev/raw/raw6 #------------------------------------------------------------------------------- # The disk discovery string to be used to discover the disks used create a ASM DiskGroup # # Example: # For Unix based Operating System: # oracle.install.asm.diskGroup.diskDiscoveryString=/oracle/asm/* # For Windows based Operating System: # oracle.install.asm.diskGroup.diskDiscoveryString=\\.\ORCLDISK* # #------------------------------------------------------------------------------- oracle.install.asm.diskGroup.diskDiscoveryString=/dev/raw/raw* #------------------------------------------------------------------------------- # oracle.install.asm.monitorPassword=password #------------------------------------------------------------------------------- oracle.install.asm.monitorPassword=oracle_4U ################################################################################ # # # SECTION H - UPGRADE # # # ################################################################################ #------------------------------------------------------------------------------- # Specify nodes for Upgrade. # For upgrade on Windows, installer overrides the value of this parameter to include # all the nodes of the cluster. However, the stack is upgraded one node at a time. # Hence, this parameter may be left blank for Windows. # Example: oracle.install.crs.upgrade.clusterNodes=node1,node2 #------------------------------------------------------------------------------- oracle.install.crs.upgrade.clusterNodes= #------------------------------------------------------------------------------- # For RAC-ASM only. oracle.install.asm.upgradeASM=true/false # Value should be 'true' while upgrading Cluster ASM of version 11gR2(11.2.0.1.0) and above #------------------------------------------------------------------------------- oracle.install.asm.upgradeASM=false #------------------------------------------------------------------------------ # Specify the auto-updates option. It can be one of the following: # - MYORACLESUPPORT_DOWNLOAD # - OFFLINE_UPDATES # - SKIP_UPDATES #------------------------------------------------------------------------------ oracle.installer.autoupdates.option=SKIP_UPDATES #------------------------------------------------------------------------------ # In case MYORACLESUPPORT_DOWNLOAD option is chosen, specify the location where # the updates are to be downloaded. # In case OFFLINE_UPDATES option is chosen, specify the location where the updates # are present. #------------------------------------------------------------------------------ oracle.installer.autoupdates.downloadUpdatesLoc= #------------------------------------------------------------------------------ # Specify the My Oracle Support Account Username which has the patches download privileges # to be used for software updates. # # Example : AUTOUPDATES_MYORACLESUPPORT_USERNAME=abc@oracle.com #------------------------------------------------------------------------------ AUTOUPDATES_MYORACLESUPPORT_USERNAME= #------------------------------------------------------------------------------ # Specify the My Oracle Support Account Username password which has the patches download privileges # to be used for software updates. # # Example : AUTOUPDATES_MYORACLESUPPORT_PASSWORD=password #------------------------------------------------------------------------------ AUTOUPDATES_MYORACLESUPPORT_PASSWORD= #------------------------------------------------------------------------------ # Specify the Proxy server name. Length should be greater than zero. # # Example : PROXY_HOST=proxy.domain.com #------------------------------------------------------------------------------ PROXY_HOST= #------------------------------------------------------------------------------ # Specify the proxy port number. Should be Numeric and at least 2 chars. # # Example : PROXY_PORT=25 #------------------------------------------------------------------------------ PROXY_PORT= #------------------------------------------------------------------------------ # Specify the proxy user name. Leave PROXY_USER and PROXY_PWD # blank if your proxy server requires no authentication. # # Example : PROXY_USER=username #------------------------------------------------------------------------------ PROXY_USER= #------------------------------------------------------------------------------ # Specify the proxy password. Leave PROXY_USER and PROXY_PWD # blank if your proxy server requires no authentication. # # Example : PROXY_PWD=password #------------------------------------------------------------------------------ PROXY_PWD= #------------------------------------------------------------------------------ # Specify the proxy realm. # # Example : PROXY_REALM=metalink #------------------------------------------------------------------------------ PROXY_REALM= ^C
C) 설치
grid_env cd <Grid 설치 파일 압축 해제 경로> ./runInstaller -ignorePrereq -silent -force -responseFile ~/grid_install.rsp
[racdb1:/home/oracle]> grid_env [+ASM1:/home/oracle]> cd /media/sf_oracle/11.2/grid [+ASM1:/media/sf_oracle/11.2/grid]> ./runInstaller -ignorePrereq -silent -force -responseFile ~/grid_install.rsp Oracle Universal Installer 시작 중... 임시 공간 확인 중: 120MB 이상이어야 합니다.. 실제 87429MB 성공 스왑 공간 확인 중: 150MB 이상이어야 합니다.. 실제 10239MB 성공 다음에서 Oracle Universal Installer의 시작을 준비하는 중 /tmp/OraInstall2020-04-14_08-37-43AM. 기다리십시오.[+ASM1:/media/sf_oracle/11.2/grid]> 다음 위치에서 이 설치 세션의 로그를 찾을 수 있습니다. /u01/app/oraInventory/logs/installActions2020-04-14_08-37-43AM.log Oracle Grid Infrastructure 11g의 설치을(를) 성공했습니다. 자세한 내용은 '/u01/app/oraInventory/logs/silentInstall2020-04-14_08-37-43AM.log'을(를) 확인하십시오. 루트 사용자로 다음 스크립트를 실행합니다. 1. /u01/app/oraInventory/orainstRoot.sh 2. /u01/app/11.2.0/grid/root.sh 다음 노드에서 /u01/app/oraInventory/orainstRoot.sh을(를) 실행하십시오. [rac1, rac2] 다음 노드에서 /u01/app/11.2.0/grid/root.sh을(를) 실행하십시오. [rac1, rac2] 설치 사용자로 다음 스크립트를 실행하여 구성을 완료하십시오. 1. /u01/app/11.2.0/grid/cfgtoollogs/configToolAllCommands RESPONSE_FILE=<response_file> 참고: 1. 이 스크립트는 설치 프로그램이 실행된 동일한 호스트에서 실행해야 합니다. 2. 이 스크립트에는 비밀번호가 필요한 Configuration Assistant에 대한 작은 비밀번호 속성 파일이 필요합니다(설치 설명서 참조). Successfully Setup Software.
D) 18370031 패치
$GRID_HOME/OPatch/opatch version mv $GRID_HOME/OPatch $GRID_HOME/OPatch.old unzip <OPatch 파일 다운로드 경로>/p6880880_112000_Linux-x86-64.zip -d $GRID_HOME chown -R oracle:oinstall $GRID_HOME/OPatch $GRID_HOME/OPatch/opatch version
[root@rac1 ~]# $GRID_HOME/OPatch/opatch version OPatch Version: 11.2.0.3.4 OPatch succeeded. [root@rac1 ~]# mv $GRID_HOME/OPatch $GRID_HOME/OPatch.old [root@rac1 ~]# unzip /media/sf_oracle/11.2/p6880880_112000_Linux-x86-64.zip -d $GRID_HOME Archive: /media/sf_oracle/11.2/p6880880_112000_Linux-x86-64.zip creating: /u01/app/11.2.0/grid/OPatch/ ... << 중략 >> ... inflating: /u01/app/11.2.0/grid/OPatch/operr [root@rac1 ~]# chown -R oracle:oinstall $GRID_HOME/OPatch [root@rac1 ~]# $GRID_HOME/OPatch/opatch version OPatch Version: 11.2.0.3.23 OPatch succeeded.
[root@rac2 ~]# $GRID_HOME/OPatch/opatch version OPatch Version: 11.2.0.3.4 OPatch succeeded. [root@rac2 ~]# mv $GRID_HOME/OPatch $GRID_HOME/OPatch.old [root@rac2 ~]# unzip /media/sf_oracle/11.2/p6880880_112000_Linux-x86-64.zip -d $GRID_HOME Archive: /media/sf_oracle/11.2/p6880880_112000_Linux-x86-64.zip creating: /u01/app/11.2.0/grid/OPatch/ ... << 중략 >> ... inflating: /u01/app/11.2.0/grid/OPatch/operr [root@rac2 ~]# chown -R oracle:oinstall $GRID_HOME/OPatch [root@rac2 ~]# $GRID_HOME/OPatch/opatch version OPatch Version: 11.2.0.3.23 OPatch succeeded.
리눅스 7에 Grid Infrastructure 11.2.0.4를 구성하려면 18370031 패치를 적용한 후에 root 스크립트를 수행해야 정상적으로 구축할 수 있습니다.
먼저 Grid와 함께 설치된 OPatch를 최신 버전으로 올려줘야 합니다.
grid_env $GRID_HOME/OPatch/opatch napply -local <패치 파일 압축 해제 경로>/18370031 $GRID_HOME/OPatch/opatch lspatches
[racdb1:/home/oracle]> grid_env [+ASM1:/home/oracle]> $GRID_HOME/OPatch/opatch napply -local /media/sf_oracle/11.2/18370031 Oracle Interim 패치 설치 프로그램 버전 11.2.0.3.23 Copyright (c) 2020, Oracle Corporation. All rights reserved. Oracle 홈: /u01/app/11.2.0/grid 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/11.2.0/grid/oraInst.loc OPatch 버전: 11.2.0.3.23 OUI 버전: 11.2.0.4.0 로그 파일 위치: /u01/app/11.2.0/grid/cfgtoollogs/opatch/opatch2020-04-14_08-46-21오전_1.log Verifying environment and performing prerequisite checks... OPatch continues with these patches: 18370031 계속하겠습니까? [y|n] y User Responded with: Y All checks passed. 로컬 시스템의 이 ORACLE_HOME에서 실행 중인 Oracle 인스턴스를 종료하십시오. (Oracle 홈 = '/u01/app/11.2.0/grid') 로컬 시스템이 패치할 준비가 되었습니까? [y|n] y User Responded with: Y Backing up files... OH '/u01/app/11.2.0/grid'에 Interim 패치 '18370031'을(를) 적용하는 중 oracle.crs, 11.2.0.4.0 구성요소를 패치하는 중... Patch 18370031 successfully applied. Log file location: /u01/app/11.2.0/grid/cfgtoollogs/opatch/opatch2020-04-14_08-46-21오전_1.log OPatch succeeded. [+ASM1:/home/oracle]> $GRID_HOME/OPatch/opatch lspatches 18370031;Grid Infrastructure Patch Set Update : 11.2.0.4.x (gibugno) OPatch succeeded.
[racdb2:/home/oracle]> grid_env [+ASM2:/home/oracle]> $GRID_HOME/OPatch/opatch napply -local /media/sf_oracle/11.2/18370031 Oracle Interim 패치 설치 프로그램 버전 11.2.0.3.23 Copyright (c) 2020, Oracle Corporation. All rights reserved. Oracle 홈: /u01/app/11.2.0/grid 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/11.2.0/grid/oraInst.loc OPatch 버전: 11.2.0.3.23 OUI 버전: 11.2.0.4.0 로그 파일 위치: /u01/app/11.2.0/grid/cfgtoollogs/opatch/opatch2020-04-14_08-47-46오전_1.log Verifying environment and performing prerequisite checks... OPatch continues with these patches: 18370031 계속하겠습니까? [y|n] y User Responded with: Y All checks passed. 로컬 시스템의 이 ORACLE_HOME에서 실행 중인 Oracle 인스턴스를 종료하십시오. (Oracle 홈 = '/u01/app/11.2.0/grid') 로컬 시스템이 패치할 준비가 되었습니까? [y|n] y User Responded with: Y Backing up files... OH '/u01/app/11.2.0/grid'에 Interim 패치 '18370031'을(를) 적용하는 중 oracle.crs, 11.2.0.4.0 구성요소를 패치하는 중... Patch 18370031 successfully applied. Log file location: /u01/app/11.2.0/grid/cfgtoollogs/opatch/opatch2020-04-14_08-47-46오전_1.log OPatch succeeded. [+ASM2:/home/oracle]> $GRID_HOME/OPatch/opatch lspatches 18370031;Grid Infrastructure Patch Set Update : 11.2.0.4.x (gibugno) OPatch succeeded.
E) orainstRoot.sh 수행
/u01/app/oraInventory/orainstRoot.sh
[root@rac1 ~]# /u01/app/oraInventory/orainstRoot.sh 다음 권한 변경 중/u01/app/oraInventory. 그룹에 대한 읽기, 쓰기 권한을 추가하는 중입니다. 월드에 대한 읽기, 쓰기, 실행 권한을 제거하는 중입니다. 그룹 이름 변경 중 /u01/app/oraInventory 대상 oinstall. 스크립트 실행이 완료되었습니다.
[root@rac2 ~]# /u01/app/oraInventory/orainstRoot.sh 다음 권한 변경 중/u01/app/oraInventory. 그룹에 대한 읽기, 쓰기 권한을 추가하는 중입니다. 월드에 대한 읽기, 쓰기, 실행 권한을 제거하는 중입니다. 그룹 이름 변경 중 /u01/app/oraInventory 대상 oinstall. 스크립트 실행이 완료되었습니다.
F) root.sh 수행
/u01/app/11.2.0/grid/root.sh
[root@rac1 ~]# /u01/app/11.2.0/grid/root.sh Check /u01/app/11.2.0/grid/install/root_rac1_2020-04-14_08-50-22.log for the output of root script
[root@rac1 ~]# cat /u01/app/11.2.0/grid/install/root_rac1_2020-04-14_08-50-22.log Performing root user operation for Oracle 11g The following environment variables are set as: ORACLE_OWNER= oracle ORACLE_HOME= /u01/app/11.2.0/grid Copying dbhome to /usr/local/bin ... Copying oraenv to /usr/local/bin ... Copying coraenv to /usr/local/bin ... Creating /etc/oratab file... Entries will be added to the /etc/oratab file as needed by Database Configuration Assistant when a database is created Finished running generic part of root script. Now product-specific root actions will be performed. Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params Creating trace directory User ignored Prerequisites during installation Installing Trace File Analyzer OLR initialization - successful root wallet root wallet cert root cert export peer wallet profile reader wallet pa wallet peer wallet keys pa wallet keys peer cert request pa cert request peer cert pa cert peer root cert TP profile reader root cert TP pa root cert TP peer pa cert TP pa peer cert TP profile reader pa cert TP profile reader peer cert TP peer user cert pa user cert Adding Clusterware entries to oracle-ohasd.service CRS-2672: Attempting to start 'ora.mdnsd' on 'rac1' CRS-2676: Start of 'ora.mdnsd' on 'rac1' succeeded CRS-2672: Attempting to start 'ora.gpnpd' on 'rac1' CRS-2676: Start of 'ora.gpnpd' on 'rac1' succeeded CRS-2672: Attempting to start 'ora.cssdmonitor' on 'rac1' CRS-2672: Attempting to start 'ora.gipcd' on 'rac1' CRS-2676: Start of 'ora.cssdmonitor' on 'rac1' succeeded CRS-2676: Start of 'ora.gipcd' on 'rac1' succeeded CRS-2672: Attempting to start 'ora.cssd' on 'rac1' CRS-2672: Attempting to start 'ora.diskmon' on 'rac1' CRS-2676: Start of 'ora.diskmon' on 'rac1' succeeded CRS-2676: Start of 'ora.cssd' on 'rac1' succeeded ASM이 성공적으로 생성되고 시작되었습니다. 디스크 그룹 DATA이(가) 성공적으로 생성되었습니다. clscfg: -install mode specified Successfully accumulated necessary OCR keys. Creating OCR keys for user 'root', privgrp 'root'.. Operation successful. CRS-4256: Updating the profile Successful addition of voting disk 3b8bcee73b224f67bfbd573f9b6d644d. Successfully replaced voting disk group with +DATA. CRS-4256: Updating the profile CRS-4266: Voting file(s) successfully replaced ## STATE File Universal Id File Name Disk group -- ----- ----------------- --------- --------- 1. ONLINE 3b8bcee73b224f67bfbd573f9b6d644d (/dev/raw/raw6) [DATA] Located 1 voting disk(s). CRS-2672: Attempting to start 'ora.asm' on 'rac1' CRS-2676: Start of 'ora.asm' on 'rac1' succeeded CRS-2672: Attempting to start 'ora.DATA.dg' on 'rac1' CRS-2676: Start of 'ora.DATA.dg' on 'rac1' succeeded Configure Oracle Grid Infrastructure for a Cluster ... succeeded
[root@rac2 ~]# /u01/app/11.2.0/grid/root.sh Check /u01/app/11.2.0/grid/install/root_rac2_2020-04-14_08-59-24.log for the output of root script
[root@rac2 ~]# cat /u01/app/11.2.0/grid/install/root_rac2_2020-04-14_08-59-24.log Performing root user operation for Oracle 11g The following environment variables are set as: ORACLE_OWNER= oracle ORACLE_HOME= /u01/app/11.2.0/grid Copying dbhome to /usr/local/bin ... Copying oraenv to /usr/local/bin ... Copying coraenv to /usr/local/bin ... Creating /etc/oratab file... Entries will be added to the /etc/oratab file as needed by Database Configuration Assistant when a database is created Finished running generic part of root script. Now product-specific root actions will be performed. Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params Creating trace directory User ignored Prerequisites during installation Installing Trace File Analyzer OLR initialization - successful Adding Clusterware entries to oracle-ohasd.service CRS-4402: CSS 데몬이 배타 모드에서 시작되었지만 활성 CSS 데몬이 노드 rac1, 번호 1에서 발견되어 종료 중입니다. An active cluster was found during exclusive startup, restarting to join the cluster Configure Oracle Grid Infrastructure for a Cluster ... succeeded
G) configToolAllCommands 수행
oracle.assistants.asm|S_ASMPASSWORD=oracle_4U oracle.assistants.asm|S_ASMMONITORPASSWORD=oracle_4U
[+ASM1:/home/oracle]> cat $GRID_HOME/cfgtoollogs/cfgrsp.properties oracle.assistants.asm|S_ASMPASSWORD=oracle_4U oracle.assistants.asm|S_ASMMONITORPASSWORD=oracle_4U ^C
cd $GRID_HOME/cfgtoollogs chmod 600 cfgrsp.properties ./configToolAllCommands RESPONSE_FILE=./cfgrsp.properties
[+ASM1:/home/oracle]> cd $GRID_HOME/cfgtoollogs [+ASM1:/u01/app/11g/grid/cfgtoollogs]> chmod 600 cfgrsp.properties [+ASM1:/u01/app/11.2.0/grid/cfgtoollogs]> ./configToolAllCommands RESPONSE_FILE=./cfgrsp.properties Setting the invPtrLoc to /u01/app/11.2.0/grid/oraInst.loc perform - 작업 시작 중인 모드: configure 2020. 4. 14 오전 9:08:55 oracle.install.driver.oui.config.GenericInternalPlugIn invoke 정보: Executing ASMCA 2020. 4. 14 오전 9:08:55 oracle.install.driver.oui.config.GenericInternalPlugIn invoke 정보: Command /u01/app/11.2.0/grid/bin/asmca -silent -postConfigureASM -oui_internal 2020. 4. 14 오전 9:08:55 oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess 정보: ... GenericInternalPlugIn.handleProcess() entered. 2020. 4. 14 오전 9:08:55 oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess 정보: ... GenericInternalPlugIn: getting configAssistantParmas. 2020. 4. 14 오전 9:08:55 oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess 정보: ... GenericInternalPlugIn: checking secretArguments. 2020. 4. 14 오전 9:08:55 oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess 정보: ... GenericInternalPlugIn: starting read loop. 2020. 4. 14 오전 9:09:02 oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess 정보: Read: SYS_PASSWORD_PROMPT 2020. 4. 14 오전 9:09:02 oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess 정보: Processing: SYS_PASSWORD_PROMPT for argument tag -sysAsmPassword 2020. 4. 14 오전 9:09:02 oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess 정보: Read: ASMSNMP_PASSWORD_PROMPT 2020. 4. 14 오전 9:09:02 oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess 정보: Processing: ASMSNMP_PASSWORD_PROMPT for argument tag -asmMonitorPassword 2020. 4. 14 오전 9:09:02 oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess 정보: End of argument passing to stdin 2020. 4. 14 오전 9:09:03 oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess 정보: Read: 2020. 4. 14 오전 9:09:03 oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess 정보: Read: PostConfiguration이 성공적으로 완료되었습니다. 2020. 4. 14 오전 9:09:03 oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess 정보: Read: perform - 작업이 완료된 모드: configure 로그 파일을 확인할 수 있습니다./u01/app/11.2.0/grid/cfgtoollogs/oui/configActions2020-04-14_09-07-49-AM.log
crsctl stat res -t
[root@rac1 ~]# crsctl stat res -t -------------------------------------------------------------------------------- NAME TARGET STATE SERVER STATE_DETAILS -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.DATA.dg ONLINE ONLINE rac1 ONLINE ONLINE rac2 ora.LISTENER.lsnr ONLINE ONLINE rac1 ONLINE ONLINE rac2 ora.asm ONLINE ONLINE rac1 Started ONLINE ONLINE rac2 Started ora.gsd OFFLINE OFFLINE rac1 OFFLINE OFFLINE rac2 ora.net1.network ONLINE ONLINE rac1 ONLINE ONLINE rac2 ora.ons ONLINE ONLINE rac1 ONLINE ONLINE rac2 -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.LISTENER_SCAN1.lsnr 1 ONLINE ONLINE rac2 ora.LISTENER_SCAN2.lsnr 1 ONLINE ONLINE rac1 ora.LISTENER_SCAN3.lsnr 1 ONLINE ONLINE rac1 ora.cvu 1 ONLINE ONLINE rac1 ora.oc4j 1 ONLINE ONLINE rac1 ora.rac1.vip 1 ONLINE ONLINE rac1 ora.rac2.vip 1 ONLINE ONLINE rac2 ora.scan1.vip 1 ONLINE ONLINE rac2 ora.scan2.vip 1 ONLINE ONLINE rac1 ora.scan3.vip 1 ONLINE ONLINE rac1
3. Raw Device 적용
ocrconfig -add /dev/raw/raw1 ocrconfig -add /dev/raw/raw2 ocrconfig -delete +DATA ocrcheck
[root@rac1 ~]# ocrcheck Status of Oracle Cluster Registry is as follows : Version : 3 Total space (kbytes) : 262120 Used space (kbytes) : 2664 Available space (kbytes) : 259456 ID : 934357259 Device/File Name : +DATA Device/File integrity check succeeded Device/File not configured Device/File not configured Device/File not configured Device/File not configured Cluster registry integrity check succeeded Logical corruption check succeeded [root@rac1 ~]# ocrconfig -add /dev/raw/raw1 [root@rac1 ~]# ocrconfig -add /dev/raw/raw2 [root@rac1 ~]# ocrconfig -delete +DATA [root@rac1 ~]# ocrcheck Status of Oracle Cluster Registry is as follows : Version : 3 Total space (kbytes) : 262120 Used space (kbytes) : 2664 Available space (kbytes) : 259456 ID : 934357259 Device/File Name : /dev/raw/raw1 Device/File integrity check succeeded Device/File Name : /dev/raw/raw2 Device/File integrity check succeeded Device/File not configured Device/File not configured Device/File not configured Cluster registry integrity check succeeded Logical corruption check succeeded
crsctl replace votedisk /dev/raw/raw3 crsctl add css votedisk /dev/raw/raw4 crsctl add css votedisk /dev/raw/raw5 crsctl query css votedisk
[root@rac1 ~]# crsctl query css votedisk ## STATE File Universal Id File Name Disk group -- ----- ----------------- --------- --------- 1. ONLINE 3b8bcee73b224f67bfbd573f9b6d644d (/dev/raw/raw6) [DATA] Located 1 voting disk(s). [root@rac1 ~]# crsctl replace votedisk /dev/raw/raw3 Now formatting voting disk: /dev/raw/raw3. CRS-4256: Updating the profile Successful addition of voting disk a4c3ccb126b64f4dbf3d89ae84d163a2. Successful deletion of voting disk 3b8bcee73b224f67bfbd573f9b6d644d. CRS-4256: Updating the profile CRS-4266: Voting file(s) successfully replaced [root@rac1 ~]# crsctl add css votedisk /dev/raw/raw4 Now formatting voting disk: /dev/raw/raw4. CRS-4603: Successful addition of voting disk /dev/raw/raw4. [root@rac1 ~]# crsctl add css votedisk /dev/raw/raw5 Now formatting voting disk: /dev/raw/raw5. CRS-4603: Successful addition of voting disk /dev/raw/raw5. [root@rac1 ~]# crsctl query css votedisk ## STATE File Universal Id File Name Disk group -- ----- ----------------- --------- --------- 1. ONLINE a4c3ccb126b64f4dbf3d89ae84d163a2 (/dev/raw/raw3) [] 2. ONLINE 31693ea2d7774f83bfd26b71d8173078 (/dev/raw/raw4) [] 3. ONLINE 7527b0194b634f7abfbc3c3501a8a6f4 (/dev/raw/raw5) [] Located 3 voting disk(s).
srvctl stop diskgroup -g data srvctl stop asm srvctl remove diskgroup -g data srvctl disable asm srvctl remove asm
[root@rac1 ~]# srvctl stop diskgroup -g data [root@rac1 ~]# srvctl stop asm [root@rac1 ~]# srvctl remove diskgroup -g data [root@rac1 ~]# srvctl disable asm [root@rac1 ~]# srvctl remove asm
dd if=/dev/zero of=/dev/raw/raw6 bs=1024k count=1024
[root@rac1 ~]# dd if=/dev/zero of=/dev/raw/raw6 bs=1024k count=1024 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB) copied, 3.98851 s, 269 MB/s
crsctl stat res -t
[root@rac1 ~]# crsctl stat res -t -------------------------------------------------------------------------------- NAME TARGET STATE SERVER STATE_DETAILS -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.LISTENER.lsnr ONLINE ONLINE rac1 ONLINE ONLINE rac2 ora.gsd OFFLINE OFFLINE rac1 OFFLINE OFFLINE rac2 ora.net1.network ONLINE ONLINE rac1 ONLINE ONLINE rac2 ora.ons ONLINE ONLINE rac1 ONLINE ONLINE rac2 -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.LISTENER_SCAN1.lsnr 1 ONLINE ONLINE rac2 ora.LISTENER_SCAN2.lsnr 1 ONLINE ONLINE rac1 ora.LISTENER_SCAN3.lsnr 1 ONLINE ONLINE rac1 ora.cvu 1 ONLINE ONLINE rac1 ora.oc4j 1 ONLINE ONLINE rac1 ora.rac1.vip 1 ONLINE ONLINE rac1 ora.rac2.vip 1 ONLINE ONLINE rac2 ora.scan1.vip 1 ONLINE ONLINE rac2 ora.scan2.vip 1 ONLINE ONLINE rac1 ora.scan3.vip 1 ONLINE ONLINE rac1
{}
VII. 11g Database 설치
1. Database 소프트웨어 설치
2. Database 소프트웨어 설치
A) Response 파일 생성
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0 oracle.install.option=INSTALL_DB_SWONLY ORACLE_HOSTNAME=rac1 UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/u01/app/oraInventory SELECTED_LANGUAGES=en,ko ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 ORACLE_BASE=/u01/app/oracle oracle.install.db.InstallEdition=EE oracle.install.db.EEOptionsSelection=false oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0 oracle.install.db.DBA_GROUP=dba oracle.install.db.OPER_GROUP=oper oracle.install.db.CLUSTER_NODES=rac1,rac2 oracle.install.db.isRACOneInstall=false SECURITY_UPDATES_VIA_MYORACLESUPPORT=false DECLINE_SECURITY_UPDATES=true
[racdb1:/home/oracle]> cat > ~oracle/db_install.rsp #################################################################### ## Copyright(c) Oracle Corporation 1998,2013. All rights reserved.## ## ## ## Specify values for the variables listed below to customize ## ## your installation. ## ## ## ## Each variable is associated with a comment. The comment ## ## can help to populate the variables with the appropriate ## ## values. ## ## ## ## IMPORTANT NOTE: This file contains plain text passwords and ## ## should be secured to have read permission only by oracle user ## ## or db administrator who owns this installation. ## ## ## #################################################################### #------------------------------------------------------------------------------ # Do not change the following system generated value. #------------------------------------------------------------------------------ oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0 #------------------------------------------------------------------------------ # Specify the installation option. # It can be one of the following: # - INSTALL_DB_SWONLY # - INSTALL_DB_AND_CONFIG # - UPGRADE_DB #------------------------------------------------------------------------------- oracle.install.option=INSTALL_DB_SWONLY #------------------------------------------------------------------------------- # Specify the hostname of the system as set during the install. It can be used # to force the installation to use an alternative hostname rather than using the # first hostname found on the system. (e.g., for systems with multiple hostnames # and network interfaces) #------------------------------------------------------------------------------- ORACLE_HOSTNAME=rac1 #------------------------------------------------------------------------------- # Specify the Unix group to be set for the inventory directory. #------------------------------------------------------------------------------- UNIX_GROUP_NAME=oinstall #------------------------------------------------------------------------------- # Specify the location which holds the inventory files. # This is an optional parameter if installing on # Windows based Operating System. #------------------------------------------------------------------------------- INVENTORY_LOCATION=/u01/app/oraInventory #------------------------------------------------------------------------------- # Specify the languages in which the components will be installed. # # en : English ja : Japanese # fr : French ko : Korean # ar : Arabic es : Latin American Spanish # bn : Bengali lv : Latvian # pt_BR: Brazilian Portuguese lt : Lithuanian # bg : Bulgarian ms : Malay # fr_CA: Canadian French es_MX: Mexican Spanish # ca : Catalan no : Norwegian # hr : Croatian pl : Polish # cs : Czech pt : Portuguese # da : Danish ro : Romanian # nl : Dutch ru : Russian # ar_EG: Egyptian zh_CN: Simplified Chinese # en_GB: English (Great Britain) sk : Slovak # et : Estonian sl : Slovenian # fi : Finnish es_ES: Spanish # de : German sv : Swedish # el : Greek th : Thai # iw : Hebrew zh_TW: Traditional Chinese # hu : Hungarian tr : Turkish # is : Icelandic uk : Ukrainian # in : Indonesian vi : Vietnamese # it : Italian # # all_langs : All languages # # Specify value as the following to select any of the languages. # Example : SELECTED_LANGUAGES=en,fr,ja # # Specify value as the following to select all the languages. # Example : SELECTED_LANGUAGES=all_langs #------------------------------------------------------------------------------ SELECTED_LANGUAGES=en,ko #------------------------------------------------------------------------------ # Specify the complete path of the Oracle Home. #------------------------------------------------------------------------------ ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 #------------------------------------------------------------------------------ # Specify the complete path of the Oracle Base. #------------------------------------------------------------------------------ ORACLE_BASE=/u01/app/oracle #------------------------------------------------------------------------------ # Specify the installation edition of the component. # # The value should contain only one of these choices. # - EE : Enterprise Edition # - SE : Standard Edition # - SEONE : Standard Edition One # - PE : Personal Edition (WINDOWS ONLY) #------------------------------------------------------------------------------ oracle.install.db.InstallEdition=EE #------------------------------------------------------------------------------ # This variable is used to enable or disable custom install and is considered # only if InstallEdition is EE. # # true : Components mentioned as part of 'optionalComponents' property # are considered for install. # false : Value for 'optionalComponents' is not considered. #------------------------------------------------------------------------------ oracle.install.db.EEOptionsSelection=false #------------------------------------------------------------------------------ # This variable is considered only if 'EEOptionsSelection' is set to true. # # Description: List of Enterprise Edition Options you would like to enable. # # The following choices are available. You may specify any # combination of these choices. The components you choose should # be specified in the form "internal-component-name:version" # Below is a list of components you may specify to enable. # # oracle.oraolap:11.2.0.4.0 - Oracle OLAP # oracle.rdbms.dm:11.2.0.4.0 - Oracle Data Mining # oracle.rdbms.dv:11.2.0.4.0 - Oracle Database Vault # oracle.rdbms.lbac:11.2.0.4.0 - Oracle Label Security # oracle.rdbms.partitioning:11.2.0.4.0 - Oracle Partitioning # oracle.rdbms.rat:11.2.0.4.0 - Oracle Real Application Testing #------------------------------------------------------------------------------ oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0 ############################################################################### # # # PRIVILEGED OPERATING SYSTEM GROUPS # # ------------------------------------------ # # Provide values for the OS groups to which OSDBA and OSOPER privileges # # needs to be granted. If the install is being performed as a member of the # # group "dba", then that will be used unless specified otherwise below. # # # # The value to be specified for OSDBA and OSOPER group is only for UNIX based # # Operating System. # # # ############################################################################### #------------------------------------------------------------------------------ # The DBA_GROUP is the OS group which is to be granted OSDBA privileges. #------------------------------------------------------------------------------ oracle.install.db.DBA_GROUP=dba #------------------------------------------------------------------------------ # The OPER_GROUP is the OS group which is to be granted OSOPER privileges. # The value to be specified for OSOPER group is optional. #------------------------------------------------------------------------------ oracle.install.db.OPER_GROUP=oper #------------------------------------------------------------------------------ # Specify the cluster node names selected during the installation. # Example : oracle.install.db.CLUSTER_NODES=node1,node2 #------------------------------------------------------------------------------ oracle.install.db.CLUSTER_NODES=rac1,rac2 #------------------------------------------------------------------------------ # This variable is used to enable or disable RAC One Node install. # # - true : Value of RAC One Node service name is used. # - false : Value of RAC One Node service name is not used. # # If left blank, it will be assumed to be false #------------------------------------------------------------------------------ oracle.install.db.isRACOneInstall=false #------------------------------------------------------------------------------ # Specify the name for RAC One Node Service. #------------------------------------------------------------------------------ oracle.install.db.racOneServiceName= #------------------------------------------------------------------------------ # Specify the type of database to create. # It can be one of the following: # - GENERAL_PURPOSE/TRANSACTION_PROCESSING # - DATA_WAREHOUSE #------------------------------------------------------------------------------ oracle.install.db.config.starterdb.type= #------------------------------------------------------------------------------ # Specify the Starter Database Global Database Name. #------------------------------------------------------------------------------ oracle.install.db.config.starterdb.globalDBName= #------------------------------------------------------------------------------ # Specify the Starter Database SID. #------------------------------------------------------------------------------ oracle.install.db.config.starterdb.SID= #------------------------------------------------------------------------------ # Specify the Starter Database character set. # # It can be one of the following: # AL32UTF8, WE8ISO8859P15, WE8MSWIN1252, EE8ISO8859P2, # EE8MSWIN1250, NE8ISO8859P10, NEE8ISO8859P4, BLT8MSWIN1257, # BLT8ISO8859P13, CL8ISO8859P5, CL8MSWIN1251, AR8ISO8859P6, # AR8MSWIN1256, EL8ISO8859P7, EL8MSWIN1253, IW8ISO8859P8, # IW8MSWIN1255, JA16EUC, JA16EUCTILDE, JA16SJIS, JA16SJISTILDE, # KO16MSWIN949, ZHS16GBK, TH8TISASCII, ZHT32EUC, ZHT16MSWIN950, # ZHT16HKSCS, WE8ISO8859P9, TR8MSWIN1254, VN8MSWIN1258 #------------------------------------------------------------------------------ oracle.install.db.config.starterdb.characterSet= #------------------------------------------------------------------------------ # This variable should be set to true if Automatic Memory Management # in Database is desired. # If Automatic Memory Management is not desired, and memory allocation # is to be done manually, then set it to false. #------------------------------------------------------------------------------ oracle.install.db.config.starterdb.memoryOption= #------------------------------------------------------------------------------ # Specify the total memory allocation for the database. Value(in MB) should be # at least 256 MB, and should not exceed the total physical memory available # on the system. # Example: oracle.install.db.config.starterdb.memoryLimit=512 #------------------------------------------------------------------------------ oracle.install.db.config.starterdb.memoryLimit= #------------------------------------------------------------------------------ # This variable controls whether to load Example Schemas onto # the starter database or not. #------------------------------------------------------------------------------ oracle.install.db.config.starterdb.installExampleSchemas= #------------------------------------------------------------------------------ # This variable includes enabling audit settings, configuring password profiles # and revoking some grants to public. These settings are provided by default. # These settings may also be disabled. #------------------------------------------------------------------------------ oracle.install.db.config.starterdb.enableSecuritySettings= ############################################################################### # # # Passwords can be supplied for the following four schemas in the # # starter database: # # SYS # # SYSTEM # # SYSMAN (used by Enterprise Manager) # # DBSNMP (used by Enterprise Manager) # # # # Same password can be used for all accounts (not recommended) # # or different passwords for each account can be provided (recommended) # # # ############################################################################### #------------------------------------------------------------------------------ # This variable holds the password that is to be used for all schemas in the # starter database. #------------------------------------------------------------------------------- oracle.install.db.config.starterdb.password.ALL= #------------------------------------------------------------------------------- # Specify the SYS password for the starter database. #------------------------------------------------------------------------------- oracle.install.db.config.starterdb.password.SYS= #------------------------------------------------------------------------------- # Specify the SYSTEM password for the starter database. #------------------------------------------------------------------------------- oracle.install.db.config.starterdb.password.SYSTEM= #------------------------------------------------------------------------------- # Specify the SYSMAN password for the starter database. #------------------------------------------------------------------------------- oracle.install.db.config.starterdb.password.SYSMAN= #------------------------------------------------------------------------------- # Specify the DBSNMP password for the starter database. #------------------------------------------------------------------------------- oracle.install.db.config.starterdb.password.DBSNMP= #------------------------------------------------------------------------------- # Specify the management option to be selected for the starter database. # It can be one of the following: # - GRID_CONTROL # - DB_CONTROL #------------------------------------------------------------------------------- oracle.install.db.config.starterdb.control= #------------------------------------------------------------------------------- # Specify the Management Service to use if Grid Control is selected to manage # the database. #------------------------------------------------------------------------------- oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL= ############################################################################### # # # SPECIFY BACKUP AND RECOVERY OPTIONS # # ------------------------------------ # # Out-of-box backup and recovery options for the database can be mentioned # # using the entries below. # # # ############################################################################### #------------------------------------------------------------------------------ # This variable is to be set to false if automated backup is not required. Else # this can be set to true. #------------------------------------------------------------------------------ oracle.install.db.config.starterdb.automatedBackup.enable= #------------------------------------------------------------------------------ # Regardless of the type of storage that is chosen for backup and recovery, if # automated backups are enabled, a job will be scheduled to run daily to backup # the database. This job will run as the operating system user that is # specified in this variable. #------------------------------------------------------------------------------ oracle.install.db.config.starterdb.automatedBackup.osuid= #------------------------------------------------------------------------------- # Regardless of the type of storage that is chosen for backup and recovery, if # automated backups are enabled, a job will be scheduled to run daily to backup # the database. This job will run as the operating system user specified by the # above entry. The following entry stores the password for the above operating # system user. #------------------------------------------------------------------------------- oracle.install.db.config.starterdb.automatedBackup.ospwd= #------------------------------------------------------------------------------- # Specify the type of storage to use for the database. # It can be one of the following: # - FILE_SYSTEM_STORAGE # - ASM_STORAGE #------------------------------------------------------------------------------ oracle.install.db.config.starterdb.storageType= #------------------------------------------------------------------------------- # Specify the database file location which is a directory for datafiles, control # files, redo logs. # # Applicable only when oracle.install.db.config.starterdb.storage=FILE_SYSTEM_STORAGE #------------------------------------------------------------------------------- oracle.install.db.config.starterdb.fileSystemStorage.dataLocation= #------------------------------------------------------------------------------- # Specify the backup and recovery location. # # Applicable only when oracle.install.db.config.starterdb.storage=FILE_SYSTEM_STORAGE #------------------------------------------------------------------------------- oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation= #------------------------------------------------------------------------------- # Specify the existing ASM disk groups to be used for storage. # # Applicable only when oracle.install.db.config.starterdb.storage=ASM_STORAGE #------------------------------------------------------------------------------- oracle.install.db.config.asm.diskGroup= #------------------------------------------------------------------------------- # Specify the password for ASMSNMP user of the ASM instance. # # Applicable only when oracle.install.db.config.starterdb.storage=ASM_STORAGE #------------------------------------------------------------------------------- oracle.install.db.config.asm.ASMSNMPPassword= #------------------------------------------------------------------------------ # Specify the My Oracle Support Account Username. # # Example : MYORACLESUPPORT_USERNAME=abc@oracle.com #------------------------------------------------------------------------------ MYORACLESUPPORT_USERNAME= #------------------------------------------------------------------------------ # Specify the My Oracle Support Account Username password. # # Example : MYORACLESUPPORT_PASSWORD=password #------------------------------------------------------------------------------ MYORACLESUPPORT_PASSWORD= #------------------------------------------------------------------------------ # Specify whether to enable the user to set the password for # My Oracle Support credentials. The value can be either true or false. # If left blank it will be assumed to be false. # # Example : SECURITY_UPDATES_VIA_MYORACLESUPPORT=true #------------------------------------------------------------------------------ SECURITY_UPDATES_VIA_MYORACLESUPPORT=false #------------------------------------------------------------------------------ # Specify whether user doesn't want to configure Security Updates. # The value for this variable should be true if you don't want to configure # Security Updates, false otherwise. # # The value can be either true or false. If left blank it will be assumed # to be false. #` # Example : DECLINE_SECURITY_UPDATES=false #------------------------------------------------------------------------------ DECLINE_SECURITY_UPDATES=true #------------------------------------------------------------------------------ # Specify the Proxy server name. Length should be greater than zero. # # Example : PROXY_HOST=proxy.domain.com #------------------------------------------------------------------------------ PROXY_HOST= #------------------------------------------------------------------------------ # Specify the proxy port number. Should be Numeric and at least 2 chars. # # Example : PROXY_PORT=25 #------------------------------------------------------------------------------ PROXY_PORT= #------------------------------------------------------------------------------ # Specify the proxy user name. Leave PROXY_USER and PROXY_PWD # blank if your proxy server requires no authentication. # # Example : PROXY_USER=username #------------------------------------------------------------------------------ PROXY_USER= #------------------------------------------------------------------------------ # Specify the proxy password. Leave PROXY_USER and PROXY_PWD # blank if your proxy server requires no authentication. # # Example : PROXY_PWD=password #------------------------------------------------------------------------------ PROXY_PWD= #------------------------------------------------------------------------------ # Specify the proxy realm. This value is used if auto-updates option is selected. # # Example : PROXY_REALM=metalink #------------------------------------------------------------------------------ PROXY_REALM= #------------------------------------------------------------------------------ # Specify the Oracle Support Hub URL. # # Example : COLLECTOR_SUPPORTHUB_URL=https://orasupporthub.company.com:8080/ #------------------------------------------------------------------------------ COLLECTOR_SUPPORTHUB_URL= #------------------------------------------------------------------------------ # Specify the auto-updates option. It can be one of the following: # - MYORACLESUPPORT_DOWNLOAD # - OFFLINE_UPDATES # - SKIP_UPDATES #------------------------------------------------------------------------------ oracle.installer.autoupdates.option= #------------------------------------------------------------------------------ # In case MYORACLESUPPORT_DOWNLOAD option is chosen, specify the location where # the updates are to be downloaded. # In case OFFLINE_UPDATES option is chosen, specify the location where the updates # are present. #------------------------------------------------------------------------------ oracle.installer.autoupdates.downloadUpdatesLoc= #------------------------------------------------------------------------------ # Specify the My Oracle Support Account Username which has the patches download privileges # to be used for software updates. # Example : AUTOUPDATES_MYORACLESUPPORT_USERNAME=abc@oracle.com #------------------------------------------------------------------------------ AUTOUPDATES_MYORACLESUPPORT_USERNAME= #------------------------------------------------------------------------------ # Specify the My Oracle Support Account Username password which has the patches download privileges # to be used for software updates. # # Example : AUTOUPDATES_MYORACLESUPPORT_PASSWORD=password #------------------------------------------------------------------------------ AUTOUPDATES_MYORACLESUPPORT_PASSWORD= ^C
B) 설치 전 검증
cd <Database 설치 파일 압축 해제 경로>/database ./runInstaller -silent -executePrereqs -responseFile ~/db_install.rsp
[racdb1:/home/oracle]> cd /media/sf_oracle/11.2/database [racdb1:/media/sf_oracle/11.2/database]> ./runInstaller -silent -executePrereqs -responseFile ~/db_install.rsp Oracle Universal Installer 시작 중... 임시 공간 확인 중: 120MB 이상이어야 합니다.. 실제 82685MB 성공 스왑 공간 확인 중: 150MB 이상이어야 합니다.. 실제 10239MB 성공 다음에서 Oracle Universal Installer의 시작을 준비하는 중 /tmp/OraInstall2020-04-14_09-32-44AM. 기다리십시오.[racdb1:/media/sf_oracle/11.2/database]> [WARNING] [INS-13014] 대상 환경이 일부 선택적 요구 사항을 충족하지 않습니다. 원인: 일부 선택적 필요 조건이 충족되지 않았습니다. 자세한 내용은 로그를 참조하십시오. /u01/app/oraInventory/logs/installActions2020-04-14_09-32-44AM.log 작업: /u01/app/oraInventory/logs/installActions2020-04-14_09-32-44AM.log 로그에서 실패한 필요 조건 검사 목록을 확인하십시오. 로그 파일 또는 설치 설명서에서 필요 조건을 충족하는 적합한 구성을 찾아 수동으로 오류를 수정하십시오.
[racdb1:/home/oracle]> cat /u01/app/oraInventory/logs/installActions2020-04-14_09-32-44AM.log Using paramFile: /media/sf_oracle/11.2/database/install/oraparam.ini Checking Temp space: must be greater than 120 MB. Actual 82685 MB Passed Checking swap space: must be greater than 150 MB. Actual 10239 MB Passed The commandline for unzip: /media/sf_oracle/11.2/database/install/unzip -qqqo ../stage/Components/oracle.jdk/1.5.0.51.10/1/DataFiles/\*.jar -d /tmp/OraInstall2020-04-14_09-32-44AM oraparam.ini에서 사용할 수 있는 umask 값 '022'을(를) 사용합니다. ... << 중략 >> ... INFO: ********************************************* INFO: 패키지: pdksh-5.2.14: 시스템에서 "pdksh-5.2.14" 패키지를 사용할 수 있는지 여부를 테스트하는 필요 조건입니다. INFO: Severity:IGNORABLE INFO: OverallStatus:VERIFICATION_FAILED INFO: -----------------End of failed Tasks List---------------- WARNING: [WARNING] [INS-13014] 대상 환경이 일부 선택적 요구 사항을 충족하지 않습니다. 원인: 일부 선택적 필요 조건이 충족되지 않았습니다. 자세한 내용은 로그를 참조하십시오. /u01/app/oraInventory/logs/installActions2020-04-14_09-32-44AM.log 작업: /u01/app/oraInventory/logs/installActions2020-04-14_09-32-44AM.log 로그에서 실패한 필요 조건 검사 목록을 확인하십시오. 로그 파일 또는 설치 설명서에서 필요 조건을 충족하는 적합한 구성을 찾아 수동으로 오류를 수정하십시오. INFO: Advice is CONTINUE INFO: Adding ExitStatus SUCCESS_WITH_WARNINGS to the exit status set INFO: Finding the most appropriate exit status for the current application INFO: Exit Status is 6 INFO: List of warnings encountered in this Application: INFO: PREREQS_FAILED_WITH_WARNING INFO: Shutdown Oracle Database 11g 릴리스 2 설치 프로그램
사전 검증 과정에서 리눅스 7에 포함되어 있지 않은 pdksh 패키지 관련 내용은 무시합니다.
하지만, 다른 실패한 사항은 확인하고 반드시 해결하는게 좋습니다.
C) 설치
cd <Database 설치 파일 압축 해제 경로>/database ./runInstaller -silent -ignorePrereq -ignoreSysPreReqs -responseFile ~/db_install.rsp
[racdb1:/home/oracle]> cd /media/sf_oracle/11.2/database [racdb1:/media/sf_oracle/11.2/database]> ./runInstaller -silent -ignorePrereq -ignoreSysPreReqs -responseFile ~/db_install.rsp Oracle Universal Installer 시작 중... 임시 공간 확인 중: 120MB 이상이어야 합니다.. 실제 82673MB 성공 스왑 공간 확인 중: 150MB 이상이어야 합니다.. 실제 10239MB 성공 다음에서 Oracle Universal Installer의 시작을 준비하는 중 /tmp/OraInstall2020-04-14_09-44-07AM. 기다리십시오.[racdb1:/media/sf_oracle/11.2/database]> 다음 위치에서 이 설치 세션의 로그를 찾을 수 있습니다. /u01/app/oraInventory/logs/installActions2020-04-14_09-44-07AM.log Oracle Database 11g의 설치을(를) 성공했습니다. 자세한 내용은 '/u01/app/oraInventory/logs/silentInstall2020-04-14_09-44-07AM.log'을(를) 확인하십시오. 루트 사용자로 다음 스크립트를 실행합니다. 1. /u01/app/oracle/product/11.2.0/db_1/root.sh 다음 노드에서 /u01/app/oracle/product/11.2.0/db_1/root.sh을(를) 실행하십시오. [rac1, rac2] Successfully Setup Software.
[racdb1:/home/oracle]> cat /u01/app/oraInventory/logs/silentInstall2020-04-14_09-44-07AM.log silentInstall2020-04-14_09-44-07AM.log sNativeVolName:/u01/app/oracle/product/11.2.0/db_1/ m_asNodeArray:rac1,rac2 m_sLocalNode:rac1 sNativeVolName:/tmp/ m_asNodeArray:rac1,rac2 m_sLocalNode:rac1 make 파일 ''/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk''의 ''agent nmhs'' 대상을 호출하는 중 오류가 발생했습니다. 자세한 내용은 ''/u01/app/oraInventory/logs/installActions2020-04-14_09-44-07AM.log''을(를) 참조하십시오 sNativeVolName:/u01/app/oracle/ m_asNodeArray:rac1,rac2 m_sLocalNode:rac1 sNativeVolName:/u01/app/oraInventory/ m_asNodeArray:rac1,rac2 m_sLocalNode:rac1 Oracle Database 11g의 설치을(를) 성공했습니다.
[racdb1:/home/oracle]> vi /u01/app/oraInventory/logs/installActions2020-04-14_09-44-07AM.log ... << 생략 >> ... 정보: 생성된 프로세스에서 출력 마침. 정보: ---------------------------------- 정보: 작업에서 발생한 예외 사항: make 예외 사항 이름: MakefileException 예외 사항 문자열: make 파일 ''/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk''의 ''agent nmhs'' 대상을 호출하는 중 오류가 발생했습니다. 자세한 내용은 ''/u01/app/oraInventory/logs/installActions2020-04-14_09-44-07AM.log''을(를) >참조하십시오 예외 사항 심각도: 1 정보: Retry Handler not registered, using Super class functionality make 파일 ''/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk''의 ''agent nmhs'' 대상을 호출하는 중 오류가 발생했습니다. 자세한 내용은 ''/u01/app/oraInventory/logs/installActions2020-04-14_09-44-07AM.log''을(를) 참조하십시오 정보: 호출 중 작업 unixActions10.2.0.3.0 make registerOnly = false installMakePath = /usr/bin/make installMakeFileName = /u01/app/oracle/product/11.2.0/db_1/rdbms/lib/ins_rdbms.mk installTarget = all_no_orcl undoMakeFileName = installArguments = ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 logFile = /u01/app/oracle/product/11.2.0/db_1/install/make.log undoTarget = progMsg = RDBMS 실행 파일 링크 중 정보: RDBMS 실행 파일 링크 중 정보: RDBMS 실행 파일 링크 중 정보: 이 make 작업의 출력은 ''/u01/app/oracle/product/11.2.0/db_1/install/make.log''에서도 사용할 수 있습니다. ... << 생략 >> ...
설치는 성공하였으나 ins_emagent.mk 오류가 발생한 것을 확인할 수 있습니다.
이는 리눅스 7에서 발생하는 오류이며, 해결이 가능한 문제입니다.
D) ins_emagent.mk 수정 및 make 재수행
$(MK_EMAGENT_NMECTL) -lnnz11
[racdb1:/u01/app/oracle/product/11.2.0/db_1/sysman/lib]> cat ins_emagent.mk | grep MK_EMAGENT_NMECTL $(MK_EMAGENT_NMECTL) -lnnz11
cd $ORACLE_HOME/sysman/lib make -f ins_emagent.mk agent
[racdb1:/home/oracle]> cd $ORACLE_HOME/sysman/lib [racdb1:/u01/app/oracle/product/11.2.0/db_1/sysman/lib]> make -f ins_emagent.mk agent ins_emagent.mk:113: warning: overriding recipe for target `nmosudo' ins_emagent.mk:52: warning: ignoring old recipe for target `nmosudo' make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk relink_sharedobj SHAREDOBJ=libnmemso make[1]: Entering directory `/u01/app/oracle/product/11.2.0/db_1/sysman/lib' /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk:113: warning: overriding recipe for target `nmosudo' /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk:52: warning: ignoring old recipe for target `nmosudo' ... << 중략 >> ... /bin/ld: warning: -z lazyload ignored. /bin/ld: warning: -z nolazyload ignored. make[1]: Leaving directory `/u01/app/oracle/product/11.2.0/db_1/sysman/lib' rm -f /u01/app/oracle/product/11.2.0/db_1/bin/emtgtctl2 mv emtgtctl2 /u01/app/oracle/product/11.2.0/db_1/bin/emtgtctl2 /bin/chmod 6751 /u01/app/oracle/product/11.2.0/db_1/bin/emtgtctl2 Enterprise Manager native components relinked IMPORTANT NOTE: To complete this Install/upgrade, please login as root and execute the root.sh script.
[racdb2:/home/oracle]> cd $ORACLE_HOME/sysman/lib [racdb2:/u01/app/oracle/product/11.2.0/db_1/sysman/lib]> make -f ins_emagent.mk agent ins_emagent.mk:113: warning: overriding recipe for target `nmosudo' ins_emagent.mk:52: warning: ignoring old recipe for target `nmosudo' make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk relink_sharedobj SHAREDOBJ=libnmemso make[1]: Entering directory `/u01/app/oracle/product/11.2.0/db_1/sysman/lib' /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk:113: warning: overriding recipe for target `nmosudo' /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk:52: warning: ignoring old recipe for target `nmosudo' ... << 중략 >> ... /bin/ld: warning: -z lazyload ignored. /bin/ld: warning: -z nolazyload ignored. make[1]: Leaving directory `/u01/app/oracle/product/11.2.0/db_1/sysman/lib' rm -f /u01/app/oracle/product/11.2.0/db_1/bin/emtgtctl2 mv emtgtctl2 /u01/app/oracle/product/11.2.0/db_1/bin/emtgtctl2 /bin/chmod 6751 /u01/app/oracle/product/11.2.0/db_1/bin/emtgtctl2 Enterprise Manager native components relinked IMPORTANT NOTE: To complete this Install/upgrade, please login as root and execute the root.sh script.
파일이 저장된 경로로 이동한 후 make 명령을 수동으로 수행합니다.
Database가 설치된 모든 노드에서 작업을 수행해야 합니다.
E) root.sh 수행
/u01/app/oracle/product/11.2.0/db_1/root.sh
[root@rac1 ~]# /u01/app/oracle/product/11.2.0/db_1/root.sh Check /u01/app/oracle/product/11.2.0/db_1/install/root_rac1_2020-04-14_10-02-36.log for the output of root script
[root@rac1 ~]# cat /u01/app/oracle/product/11.2.0/db_1/install/root_rac1_2020-04-14_10-02-36.log Performing root user operation for Oracle 11g The following environment variables are set as: ORACLE_OWNER= oracle ORACLE_HOME= /u01/app/oracle/product/11.2.0/db_1 Copying dbhome to /usr/local/bin ... Copying oraenv to /usr/local/bin ... Copying coraenv to /usr/local/bin ... Entries will be added to the /etc/oratab file as needed by Database Configuration Assistant when a database is created Finished running generic part of root script. Now product-specific root actions will be performed. Finished product-specific root actions. Finished product-specific root actions.
[root@rac2 ~]# /u01/app/oracle/product/11.2.0/db_1/root.sh Check /u01/app/oracle/product/11.2.0/db_1/install/root_rac2_2020-04-14_10-02-39.log for the output of root script
[root@rac2 ~]# cat /u01/app/oracle/product/11.2.0/db_1/install/root_rac2_2020-04-14_10-02-39.log Performing root user operation for Oracle 11g The following environment variables are set as: ORACLE_OWNER= oracle ORACLE_HOME= /u01/app/oracle/product/11.2.0/db_1 Copying dbhome to /usr/local/bin ... Copying oraenv to /usr/local/bin ... Copying coraenv to /usr/local/bin ... Entries will be added to the /etc/oratab file as needed by Database Configuration Assistant when a database is created Finished running generic part of root script. Now product-specific root actions will be performed. Finished product-specific root actions. Finished product-specific root actions.
{}
3. Database 생성
4. Database 생성
A) 작업 스크립트 준비
mkdir -p $ORACLE_BASE/admin/[DB_NAME]/scripts cd $ORACLE_BASE/admin/[DB_NAME]/scripts
[oracle@racdb1 ~]$ mkdir -p $ORACLE_BASE/admin/racdb/scripts [oracle@racdb1 ~]$ cd $ORACLE_BASE/admin/racdb/scripts
스크립트 생성 디렉토리를 $ORACLE_BASE 경로 아래에 생성합니다.
작업할 스크립트를 모두 이곳에 저장합니다.
#!/bin/sh OLD_UMASK=`umask` umask 0027 mkdir -p [ORACLE_BASE]/admin/[DB_NAME]/adump mkdir -p [ORACLE_BASE]/admin/[DB_NAME]/dpdump mkdir -p [ORACLE_BASE]/admin/[DB_NAME]/hdump mkdir -p [ORACLE_BASE]/admin/[DB_NAME]/pfile mkdir -p [ORACLE_BASE]/cfgtoollogs/dbca/[DB_NAME] ssh oracle@[HOST_NAME2] "mkdir -p [ORACLE_BASE]/admin/[DB_NAME]/adump" ssh oracle@[HOST_NAME2] "mkdir -p [ORACLE_BASE]/admin/[DB_NAME]/dpdump" ssh oracle@[HOST_NAME2] "mkdir -p [ORACLE_BASE]/admin/[DB_NAME]/hdump" ssh oracle@[HOST_NAME2] "mkdir -p [ORACLE_BASE]/admin/[DB_NAME]/pfile" ssh oracle@[HOST_NAME2] "mkdir -p [ORACLE_BASE]/cfgtoollogs/dbca/[DB_NAME]" umask ${OLD_UMASK} ORACLE_SID=[ORACLE_SID1]; export ORACLE_SID PATH=$ORACLE_HOME/bin:$PATH; export PATH echo You should Add this entry in the /etc/oratab: [ORACLE_SID]:[DB_HOME]:N [DB_HOME]/bin/sqlplus /nolog @[ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateRACDB.sql
#!/bin/sh OLD_UMASK=`umask` umask 0027 mkdir -p /u01/app/oracle/admin/racdb/adump mkdir -p /u01/app/oracle/admin/racdb/dpdump mkdir -p /u01/app/oracle/admin/racdb/hdump mkdir -p /u01/app/oracle/admin/racdb/pfile mkdir -p /u01/app/oracle/cfgtoollogs/dbca/racdb ssh oracle@rac2 "mkdir -p /u01/app/oracle/admin/racdb/adump" ssh oracle@rac2 "mkdir -p /u01/app/oracle/admin/racdb/dpdump" ssh oracle@rac2 "mkdir -p /u01/app/oracle/admin/racdb/hdump" ssh oracle@rac2 "mkdir -p /u01/app/oracle/admin/racdb/pfile" ssh oracle@rac2 "mkdir -p /u01/app/oracle/cfgtoollogs/dbca/racdb": umask ${OLD_UMASK} ORACLE_SID=racdb1; export ORACLE_SID PATH=$ORACLE_HOME/bin:$PATH; export PATH echo You should Add this entry in the /etc/oratab: racdb:/u01/app/oracle/product/11.2.0/db_1:N /u01/app/oracle/product/11.2.0/db_1/bin/sqlplus /nolog @/u01/app/oracle/admin/racdb/scripts/CreateRACDB.sql
데이터베이스 생성을 위해 필요한 디렉토리를 만들고 전체 작업을 수행할 메인 스크립트를 생성합니다.
괄호 [] 안에 표시된 변수 부분은 실제 설치할 환경에 해당되는 내용으로 수정하여 저장하도록 합니다.
[ORACLE_BASE] : 오라클 소프트웨어 설치 베이스 경로
[DB_NAME] : 데이터베이스 명
[HOST_NAME2] : 2번 노드의 서버 명
[ORACLE_SID1] : 1번 인스턴스 명
[ORACLE_SID] : 각 노드의 인스턴스 명
[DB_HOME] : 데이터베이스 소프트웨어 설치 경로
set verify off ACCEPT sysPassword CHAR PROMPT 'Enter new password for SYS: ' HIDE ACCEPT systemPassword CHAR PROMPT 'Enter new password for SYSTEM: ' HIDE host [DB_HOME]/bin/orapwd file=[DB_HOME]/dbs/orapw[ORACLE_SID1] force=y host ssh oracle@[HOST_NAME2] "[DB_HOME]/bin/orapwd file=[DB_HOME]/dbs/orapw[ORACLE_SID2] force=y" host [GRID_HOME]/bin/setasmgidwrap o=[DB_HOME]/bin/oracle host [DB_HOME]/bin/srvctl add database -d [DB_NAME] -o [DB_HOME] -p /dev/raw/raw20 -n [DB_NAME] host [DB_HOME]/bin/srvctl add instance -d [DB_NAME] -i [ORACLE_SID1] -n [HOST_NAME1] host [DB_HOME]/bin/srvctl add instance -d [DB_NAME] -i [ORACLE_SID2] -n [HOST_NAME2] host [DB_HOME]/bin/srvctl disable database -d [DB_NAME] @[ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateDB.sql @[ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateDBFiles.sql @[ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateDBCatalog.sql @[ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateJVM.sql @[ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateClustDBViews.sql @[ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateOracleText.sql @[ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateXDB.sql @[ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateORDSchema.sql @[ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateMultiMedia.sql @[ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateOLAP.sql @[ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateSpatial.sql @[ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateEMRepos.sql @[ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateAPEX.sql @[ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateOWB.sql host echo "SPFILE='/dev/raw/raw20'" > [DB_HOME]/dbs/init[ORACLE_SID1].ora @[ORACLE_BASE]/admin/[DB_NAME]/scripts/lockAccount.sql @[ORACLE_BASE]/admin/[DB_NAME]/scripts/postDBCreation.sql
set verify off ACCEPT sysPassword CHAR PROMPT 'Enter new password for SYS: ' HIDE ACCEPT systemPassword CHAR PROMPT 'Enter new password for SYSTEM: ' HIDE host /u01/app/oracle/product/11.2.0/db_1/bin/orapwd file=/u01/app/oracle/product/11.2.0/db_1/dbs/orapwracdb1 force=y host ssh oracle@rac2 "/u01/app/oracle/product/11.2.0/db_1/bin/orapwd file=/u01/app/oracle/product/11.2.0/db_1/dbs/orapwracdb2 force=y" host /u01/app/11.2.0/grid/bin/setasmgidwrap o=/u01/app/oracle/product/11.2.0/db_1/bin/oracle host /u01/app/oracle/product/11.2.0/db_1/bin/srvctl add database -d racdb -o /u01/app/oracle/product/11.2.0/db_1 -p /dev/raw/raw20 -n racdb host /u01/app/oracle/product/11.2.0/db_1/bin/srvctl add instance -d racdb -i racdb1 -n rac1 host /u01/app/oracle/product/11.2.0/db_1/bin/srvctl add instance -d racdb -i racdb2 -n rac2 host /u01/app/oracle/product/11.2.0/db_1/bin/srvctl disable database -d racdb @/u01/app/oracle/admin/racdb/scripts/CreateDB.sql @/u01/app/oracle/admin/racdb/scripts/CreateDBFiles.sql @/u01/app/oracle/admin/racdb/scripts/CreateDBCatalog.sql @/u01/app/oracle/admin/racdb/scripts/CreateJVM.sql @/u01/app/oracle/admin/racdb/scripts/CreateClustDBViews.sql @/u01/app/oracle/admin/racdb/scripts/CreateOracleText.sql @/u01/app/oracle/admin/racdb/scripts/CreateXDB.sql --@/u01/app/oracle/admin/racdb/scripts/CreateORDSchema.sql --@/u01/app/oracle/admin/racdb/scripts/CreateMultiMedia.sql --@/u01/app/oracle/admin/racdb/scripts/CreateOLAP.sql --@/u01/app/oracle/admin/racdb/scripts/CreateSpatial.sql --@/u01/app/oracle/admin/racdb/scripts/CreateEMRepos.sql --@/u01/app/oracle/admin/racdb/scripts/CreateAPEX.sql --@/u01/app/oracle/admin/racdb/scripts/CreateOWB.sql host echo "SPFILE='/dev/raw/raw20'" > /u01/app/oracle/product/11.2.0/db_1/dbs/initracdb1.ora @/u01/app/oracle/admin/racdb/scripts/lockAccount.sql @/u01/app/oracle/admin/racdb/scripts/postDBCreation.sql
서비스에 등록하고 각각의 SQL 스크립트를 수행할 스크립트를 생성합니다.
괄호 [] 안에 표시된 변수 부분은 실제 설치할 환경에 해당되는 내용으로 수정하여 저장하도록 합니다.
[DB_HOME]
[ORACLE_SID1]
[GRID_HOME]
[DB_NAME]
[ORACLE_SID1]
[HOST_NAME1]
[ORACLE_SID2]
[HOST_NAME2]
[ORACLE_BASE]
SET VERIFY OFF connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool [ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateDB.log append startup nomount pfile="[ORACLE_BASE]/admin/[DB_NAME]/scripts/init.ora"; CREATE DATABASE "[DB_NAME]" MAXINSTANCES 32 MAXLOGHISTORY 1 MAXLOGFILES 192 MAXLOGMEMBERS 3 MAXDATAFILES 1024 DATAFILE '/dev/raw/raw6' SIZE 699M AUTOEXTEND OFF EXTENT MANAGEMENT LOCAL SYSAUX DATAFILE '/dev/raw/raw7' SIZE 699M AUTOEXTEND OFF SMALLFILE DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/dev/raw/raw9' SIZE 699M AUTOEXTEND OFF SMALLFILE UNDO TABLESPACE "UNDOTBS1" DATAFILE '/dev/raw/raw10' SIZE 699M AUTOEXTEND OFF CHARACTER SET KO16MSWIN949 NATIONAL CHARACTER SET AL16UTF16 LOGFILE GROUP 1 ('/dev/raw/raw14') SIZE 199M, GROUP 2 ('/dev/raw/raw15') SIZE 199M, GROUP 3 ('/dev/raw/raw16') SIZE 199M USER SYS IDENTIFIED BY "&&sysPassword" USER SYSTEM IDENTIFIED BY "&&systemPassword"; spool off
SET VERIFY OFF connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool /u01/app/oracle/admin/racdb/scripts/CreateDB.log append startup nomount pfile="/u01/app/oracle/admin/racdb/scripts/init.ora"; CREATE DATABASE "racdb" MAXINSTANCES 32 MAXLOGHISTORY 1 MAXLOGFILES 192 MAXLOGMEMBERS 3 MAXDATAFILES 1024 DATAFILE '/dev/raw/raw6' SIZE 699M AUTOEXTEND OFF EXTENT MANAGEMENT LOCAL SYSAUX DATAFILE '/dev/raw/raw7' SIZE 699M AUTOEXTEND OFF SMALLFILE DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/dev/raw/raw9' SIZE 699M AUTOEXTEND OFF SMALLFILE UNDO TABLESPACE "UNDOTBS1" DATAFILE '/dev/raw/raw10' SIZE 699M AUTOEXTEND OFF CHARACTER SET KO16MSWIN949 NATIONAL CHARACTER SET AL16UTF16 LOGFILE GROUP 1 ('/dev/raw/raw14') SIZE 199M, GROUP 2 ('/dev/raw/raw15') SIZE 199M, GROUP 3 ('/dev/raw/raw16') SIZE 199M USER SYS IDENTIFIED BY "&&sysPassword" USER SYSTEM IDENTIFIED BY "&&systemPassword"; spool off
SET VERIFY OFF connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool [ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateDBFiles.log append CREATE SMALLFILE UNDO TABLESPACE "UNDOTBS2" DATAFILE '/dev/raw/raw11' SIZE 699M AUTOEXTEND OFF; CREATE SMALLFILE TABLESPACE "USERS" LOGGING DATAFILE '/dev/raw/raw8' SIZE 699M AUTOEXTEND OFF EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; ALTER DATABASE DEFAULT TABLESPACE "USERS"; spool off
SET VERIFY OFF connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool /u01/app/oracle/admin/racdb/scripts/CreateDBFiles.log append CREATE SMALLFILE UNDO TABLESPACE "UNDOTBS2" DATAFILE '/dev/raw/raw11' SIZE 699M AUTOEXTEND OFF; CREATE SMALLFILE TABLESPACE "USERS" LOGGING DATAFILE '/dev/raw/raw8' SIZE 699M AUTOEXTEND OFF EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; ALTER DATABASE DEFAULT TABLESPACE "USERS"; spool off
SET VERIFY OFF connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool [ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateDBCatalog.log append @[DB_HOME]/rdbms/admin/catalog.sql; @[DB_HOME]/rdbms/admin/catblock.sql; @[DB_HOME]/rdbms/admin/catproc.sql; @[DB_HOME]/rdbms/admin/catoctk.sql; @[DB_HOME]/rdbms/admin/owminst.plb; connect "SYSTEM"/"&&systemPassword" set echo on @[DB_HOME]/sqlplus/admin/pupbld.sql; @[DB_HOME]/sqlplus/admin/help/hlpbld.sql helpus.sql; spool off
SET VERIFY OFF connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool /u01/app/oracle/admin/racdb/scripts/CreateDBCatalog.log append @/u01/app/oracle/product/11.2.0/db_1/rdbms/admin/catalog.sql; @/u01/app/oracle/product/11.2.0/db_1/rdbms/admin/catblock.sql; @/u01/app/oracle/product/11.2.0/db_1/rdbms/admin/catproc.sql; @/u01/app/oracle/product/11.2.0/db_1/rdbms/admin/catoctk.sql; @/u01/app/oracle/product/11.2.0/db_1/rdbms/admin/owminst.plb; connect "SYSTEM"/"&&systemPassword" set echo on @/u01/app/oracle/product/11.2.0/db_1/sqlplus/admin/pupbld.sql; @/u01/app/oracle/product/11.2.0/db_1/sqlplus/admin/help/hlpbld.sql helpus.sql; spool off
SET VERIFY OFF connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool [ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateJVM.log append @[DB_HOME]/javavm/install/initjvm.sql; @[DB_HOME]/xdk/admin/initxml.sql; @[DB_HOME]/xdk/admin/xmlja.sql; @[DB_HOME]/rdbms/admin/catjava.sql; @[DB_HOME]/rdbms/admin/catxdbj.sql; spool off
SET VERIFY OFF connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool /u01/app/oracle/admin/racdb/scripts/CreateJVM.log append @/u01/app/oracle/product/11.2.0/db_1/javavm/install/initjvm.sql; @/u01/app/oracle/product/11.2.0/db_1/xdk/admin/initxml.sql; @/u01/app/oracle/product/11.2.0/db_1/xdk/admin/xmlja.sql; @/u01/app/oracle/product/11.2.0/db_1/rdbms/admin/catjava.sql; @/u01/app/oracle/product/11.2.0/db_1/rdbms/admin/catxdbj.sql; spool off
SET VERIFY OFF connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool [ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateClustDBViews.log append @[DB_HOME]/rdbms/admin/catclust.sql; spool off
SET VERIFY OFF connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool /u01/app/oracle/admin/racdb/scripts/CreateClustDBViews.log append @/u01/app/oracle/product/11.2.0/db_1/rdbms/admin/catclust.sql; spool off
SET VERIFY OFF connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool [ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateOracleText.log append @[DB_HOME]/ctx/admin/catctx [PASSWORD] SYSAUX TEMP NOLOCK; connect "CTXSYS"/"[PASSWORD]" @[DB_HOME]/ctx/admin/defaults/dr0defin.sql "KOREAN"; spool off
SET VERIFY OFF connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool /u01/app/oracle/admin/racdb/scripts/CreateOracleText.log append @/u01/app/oracle/product/11.2.0/db_1/ctx/admin/catctx change_on_install SYSAUX TEMP NOLOCK; connect "CTXSYS"/"change_on_install" @/u01/app/oracle/product/11.2.0/db_1/ctx/admin/defaults/dr0defin.sql "KOREAN"; spool off
SET VERIFY OFF connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool [ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateXDB.log append @[DB_HOME]/rdbms/admin/catqm.sql [PASSWORD] SYSAUX TEMP YES; connect "SYS"/"&&sysPassword" as SYSDBA @[DB_HOME]/rdbms/admin/catxdbj.sql; @[DB_HOME]/rdbms/admin/catrul.sql; spool off
SET VERIFY OFF connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool /u01/app/oracle/admin/racdb/scripts/CreateXDB.log append @/u01/app/oracle/product/11.2.0/db_1/rdbms/admin/catqm.sql change_on_install SYSAUX TEMP YES; connect "SYS"/"&&sysPassword" as SYSDBA @/u01/app/oracle/product/11.2.0/db_1/rdbms/admin/catxdbj.sql; @/u01/app/oracle/product/11.2.0/db_1/rdbms/admin/catrul.sql; spool off
SET VERIFY OFF connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool [ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateORDSchema.log append @[DB_HOME]/ord/admin/ordinst.sql SYSAUX SYSAUX; spool off
SET VERIFY OFF connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool /u01/app/oracle/admin/racdb/scripts/CreateORDSchema.log append @/u01/app/oracle/product/11.2.0/db_1/ord/admin/ordinst.sql SYSAUX SYSAUX; spool off
SET VERIFY OFF connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool [ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateMultiMedia.log append @[DB_HOME]/ord/im/admin/iminst.sql; spool off
SET VERIFY OFF connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool /u01/app/oracle/admin/racdb/scripts/CreateMultiMedia.log append @/u01/app/oracle/product/11.2.0/db_1/ord/im/admin/iminst.sql; spool off
SET VERIFY OFF set echo on spool [ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateOLAP.log append connect "SYS"/"&&sysPassword" as SYSDBA @[DB_HOME]/olap/admin/olap.sql SYSAUX TEMP; spool off
SET VERIFY OFF set echo on spool /u01/app/oracle/admin/racdb/scripts/CreateOLAP.log append connect "SYS"/"&&sysPassword" as SYSDBA @/u01/app/oracle/product/11.2.0/db_1/olap/admin/olap.sql SYSAUX TEMP; spool off
SET VERIFY OFF connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool [ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateSpatial.log append @[DB_HOME]/md/admin/mdinst.sql; spool off
SET VERIFY OFF connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool /u01/app/oracle/admin/racdb/scripts/CreateSpatial.log append @/u01/app/oracle/product/11.2.0/db_1/md/admin/mdinst.sql; spool off
SET VERIFY OFF connect "SYS"/"&&sysPassword" as SYSDBA set echo off spool [ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateEMRepos.log append @[DB_HOME]/sysman/admin/emdrep/sql/emreposcre [DB_HOME] SYSMAN &&sysPassword TEMP ON; WHENEVER SQLERROR CONTINUE; spool off
SET VERIFY OFF connect "SYS"/"&&sysPassword" as SYSDBA set echo off spool /u01/app/oracle/admin/racdb/scripts/CreateEMRepos.log append @/u01/app/oracle/product/11.2.0/db_1/sysman/admin/emdrep/sql/emreposcre /u01/app/oracle/product/11.2.0/db_1 SYSMAN &&sysPassword TEMP ON; WHENEVER SQLERROR CONTINUE; spool off
SET VERIFY OFF connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool [ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateAPEX.log append @[DB_HOME]/apex/catapx.sql [PASSWORD] SYSAUX SYSAUX TEMP /i/ NONE; spool off
SET VERIFY OFF connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool /u01/app/oracle/admin/racdb/scripts/CreateAPEX.log append @/u01/app/oracle/product/11.2.0/db_1/apex/catapx.sql change_on_install SYSAUX SYSAUX TEMP /i/ NONE; spool off
SET VERIFY OFF connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool [ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateOWB.log append @[DB_HOME]/owb/UnifiedRepos/cat_owb.sql SYSAUX TEMP; spool off
SET VERIFY OFF connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool /u01/app/oracle/admin/racdb/scripts/CreateOWB.log append @/u01/app/oracle/product/11.2.0/db_1/owb/UnifiedRepos/cat_owb.sql SYSAUX TEMP; spool off
SET VERIFY OFF set echo on spool [ORACLE_BASE]/admin/[DB_NAME]/scripts/lockAccount.log append BEGIN FOR item IN ( SELECT USERNAME FROM DBA_USERS WHERE ACCOUNT_STATUS IN ('OPEN', 'LOCKED', 'EXPIRED') AND USERNAME NOT IN ('SYS','SYSTEM') ) LOOP dbms_output.put_line('Locking and Expiring: ' || item.USERNAME); execute immediate 'alter user ' || sys.dbms_assert.enquote_name( sys.dbms_assert.schema_name( item.USERNAME),false) || ' password expire account lock' ; END LOOP; END; / spool off
SET VERIFY OFF set echo on spool /u01/app/oracle/admin/racdb/scripts/lockAccount.log append BEGIN FOR item IN ( SELECT USERNAME FROM DBA_USERS WHERE ACCOUNT_STATUS IN ('OPEN', 'LOCKED', 'EXPIRED') AND USERNAME NOT IN ('SYS','SYSTEM') ) LOOP dbms_output.put_line('Locking and Expiring: ' || item.USERNAME); execute immediate 'alter user ' || sys.dbms_assert.enquote_name( sys.dbms_assert.schema_name( item.USERNAME),false) || ' password expire account lock' ; END LOOP; END; / spool off
SET VERIFY OFF connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool [ORACLE_BASE]/admin/[DB_NAME]/scripts/postDBCreation.log append execute DBMS_AUTO_TASK_ADMIN.disable(); @[DB_HOME]/rdbms/admin/catbundle.sql psu apply; select 'utl_recomp_begin: ' || to_char(sysdate, 'HH:MI:SS') from dual; execute utl_recomp.recomp_serial(); select 'utl_recomp_end: ' || to_char(sysdate, 'HH:MI:SS') from dual; select group# from v$log where group# =3; select group# from v$log where group# =4; ALTER DATABASE ADD LOGFILE THREAD 2 GROUP 4 ('/dev/raw/raw17') SIZE 199M, GROUP 5 ('/dev/raw/raw18') SIZE 199M, GROUP 6 ('/dev/raw/raw19') SIZE 199M; ALTER DATABASE ENABLE PUBLIC THREAD 2; host echo cluster_database=true >>[ORACLE_BASE]/admin/[DB_NAME]/scripts/init.ora; host echo remote_listener=[SCAN_NAME]:[LISTENER_PORT]>>[ORACLE_BASE]/admin/[DB_NAME]/scripts/init.ora; connect "SYS"/"&&sysPassword" as SYSDBA set echo on create spfile='/dev/raw/raw20' FROM pfile='[ORACLE_BASE]/admin/[DB_NAME]/scripts/init.ora'; shutdown immediate; host [DB_HOME]/bin/srvctl enable database -d [DB_NAME]; host [DB_HOME]/bin/srvctl start database -d [DB_NAME]; connect "SYS"/"&&sysPassword" as SYSDBA set echo on @[DB_HOME]/rdbms/admin/utlrp.sql; spool off exit;
SET VERIFY OFF connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool /u01/app/oracle/admin/racdb/scripts/postDBCreation.log append execute DBMS_AUTO_TASK_ADMIN.disable(); @/u01/app/oracle/product/11.2.0/db_1/rdbms/admin/catbundle.sql psu apply; select 'utl_recomp_begin: ' || to_char(sysdate, 'HH:MI:SS') from dual; execute utl_recomp.recomp_serial(); select 'utl_recomp_end: ' || to_char(sysdate, 'HH:MI:SS') from dual; select group# from v$log where group# =3; select group# from v$log where group# =4; ALTER DATABASE ADD LOGFILE THREAD 2 GROUP 4 ('/dev/raw/raw17') SIZE 199M, GROUP 5 ('/dev/raw/raw18') SIZE 199M, GROUP 6 ('/dev/raw/raw19') SIZE 199M; ALTER DATABASE ENABLE PUBLIC THREAD 2; host echo cluster_database=true >>/u01/app/oracle/admin/racdb/scripts/init.ora; host echo remote_listener=rac-scan:1521>>/u01/app/oracle/admin/racdb/scripts/init.ora; connect "SYS"/"&&sysPassword" as SYSDBA set echo on create spfile='/dev/raw/raw20' FROM pfile='/u01/app/oracle/admin/racdb/scripts/init.ora'; shutdown immediate; host /u01/app/oracle/product/11.2.0/db_1/bin/srvctl enable database -d racdb; host /u01/app/oracle/product/11.2.0/db_1/bin/srvctl start database -d racdb; connect "SYS"/"&&sysPassword" as SYSDBA set echo on @/u01/app/oracle/product/11.2.0/db_1/rdbms/admin/utlrp.sql; spool off exit;
db_block_size=8192 #cluster_database=true #remote_listener=[SCAN_NAME]:[LISTENER_PORT] open_cursors=300 db_domain="" db_name="[DB_NAME]" control_files=('/dev/raw/raw12','/dev/raw/raw13') compatible=11.2.0.0.0 diagnostic_dest=[ORACLE_BASE] memory_target=834666496 processes=150 audit_file_dest="[ORACLE_BASE]/admin/[DB_NAME]/adump" audit_trail=db remote_login_passwordfile=exclusive [ORACLE_SID1].instance_number=1 [ORACLE_SID2].instance_number=2 [ORACLE_SID1].thread=1 [ORACLE_SID2].thread=2 [ORACLE_SID1].undo_tablespace=UNDOTBS1 [ORACLE_SID2].undo_tablespace=UNDOTBS2 db_recovery_file_dest_size=3G db_recovery_file_dest='/FRA'
############################################################################## # Copyright (c) 1991, 2001, 2002 by Oracle Corporation ############################################################################## ########################################### # Cache and I/O ########################################### db_block_size=8192 ########################################### # Cluster Database ########################################### #cluster_database=true #remote_listener=rac-scan:1521 ########################################### # Cursors and Library Cache ########################################### open_cursors=300 ########################################### # Database Identification ########################################### db_domain="" db_name="racdb" ########################################### # File Configuration ########################################### control_files=('/dev/raw/raw12','/dev/raw/raw13') ########################################### # Miscellaneous ########################################### compatible=11.2.0.0.0 diagnostic_dest=/u01/app/oracle sga_target=3g pga_aggregate_target=1g ########################################### # Processes and Sessions ########################################### processes=150 ########################################### # Security and Auditing ########################################### audit_file_dest="/u01/app/oracle/admin/racdb/adump" audit_trail=db remote_login_passwordfile=exclusive racdb1.instance_number=1 racdb2.instance_number=2 racdb1.thread=1 racdb2.thread=2 racdb1.undo_tablespace=UNDOTBS1 racdb2.undo_tablespace=UNDOTBS2
chmod 774 racDB.sh ls -ltra | grep racDB.sh
[racdb1:/u01/app/oracle/admin/racdb/scripts]> ls -ltra | grep racDB.sh -rwxr-x---. 1 oracle oinstall 891 4월 14 10:39 racDB.sh [racdb1:/u01/app/oracle/admin/racdb/scripts]> chmod 774 racDB.sh [racdb1:/u01/app/oracle/admin/racdb/scripts]> ls -ltra | grep racDB.sh -rwxrwxr--. 1 oracle oinstall 891 4월 14 10:39 racDB.sh
chmod 770 [ORACLE_BASE]/cfgtoollogs
[root@rac1 oracle]# chmod 770 /u01/app/oracle/cfgtoollogs
B) 데이터베이스 생성
cd $ORACLE_BASE/admin/[DB_NAME]/scripts sh racDB.sh
[oracle@racdb1 ~]$ cd $ORACLE_BASE/admin/racdb/scripts [racdb1:/u01/app/oracle/admin/racdb/scripts]> sh racDB.sh You should Add this entry in the /etc/oratab: racdb:/u01/app/oracle/product/11.2.0/db_1:N SQL*Plus: Release 11.2.0.4.0 Production on Tue Apr 14 15:26:19 2020 Copyright (c) 1982, 2013, Oracle. All rights reserved. Enter new password for SYS: Enter new password for SYSTEM: Enter password for SYS: Enter password for SYS: oracle Unable to find error file. Connected to an idle instance. SQL> spool /u01/app/oracle/admin/racdb/scripts/CreateDB.log append SQL> startup nomount pfile="/u01/app/oracle/admin/racdb/scripts/init.ora"; ORACLE instance started. Total System Global Area 3206836224 bytes Fixed Size 2257520 bytes Variable Size 654314896 bytes Database Buffers 2533359616 bytes Redo Buffers 16904192 bytes SQL> CREATE DATABASE "racdb" 2 MAXINSTANCES 32 3 MAXLOGHISTORY 1 4 MAXLOGFILES 192 5 MAXLOGMEMBERS 3 6 MAXDATAFILES 1024 7 DATAFILE '/dev/raw/raw6' SIZE 1000M AUTOEXTEND OFF EXTENT MANAGEMENT LOCAL 8 SYSAUX DATAFILE '/dev/raw/raw7' SIZE 1000M AUTOEXTEND OFF 9 SMALLFILE DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/dev/raw/raw9' SIZE 699M AUTOEXTEND OFF 10 SMALLFILE UNDO TABLESPACE "UNDOTBS1" DATAFILE '/dev/raw/raw10' SIZE 1000M AUTOEXTEND OFF 11 CHARACTER SET KO16MSWIN949 12 NATIONAL CHARACTER SET AL16UTF16 13 LOGFILE GROUP 1 ('/dev/raw/raw14') SIZE 199M, 14 GROUP 2 ('/dev/raw/raw15') SIZE 199M, 15 GROUP 3 ('/dev/raw/raw16') SIZE 199M 16 USER SYS IDENTIFIED BY "&&sysPassword" USER SYSTEM IDENTIFIED BY "&&systemPassword"; Database created. .... << 생략 >> .... SQL> SQL> Rem ===================================================================== SQL> Rem Run component validation procedure SQL> Rem ===================================================================== SQL> SQL> EXECUTE dbms_registry_sys.validate_components; PL/SQL procedure successfully completed. SQL> SET serveroutput off SQL> SQL> SQL> Rem =========================================================================== SQL> Rem END utlrp.sql SQL> Rem =========================================================================== SQL> spool off not spooling currently SQL> exit; Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, Real Application Clusters, OLAP, Data Mining and Real Application Testing options
[ORACLE_SID]:[DB_HOME]:N
racdb1:/u01/app/oracle/product/11.2.0/db_1:N
racdb2:/u01/app/oracle/product/11.2.0/db_1:N
{}
C) Archive 모드 전환
archive log list;
SQL> archive log list; Database log mode No Archive Mode Automatic archival Disabled Archive destination /u01/app/oracle/product/11.2.0/db_1/dbs/arch Oldest online log sequence 17 Current log sequence 19
{}
select NAME, DISPLAY_VALUE from V$PARAMETER where NAME like 'db_recovery_file_dest%';
SQL> col NAME form a30 SQL> col DISPLAY_VALUE form a15 SQL> select NAME, DISPLAY_VALUE from V$PARAMETER where NAME like 'db_recovery_file_dest%'; NAME DISPLAY_VALUE ------------------------------ --------------- db_recovery_file_dest db_recovery_file_dest_size 0
alter system set db_recovery_file_dest_size=4G sid='*'; alter system set db_recovery_file_dest='/FRA' sid='*';
SQL> alter system set db_recovery_file_dest_size=4G sid='*'; System altered. SQL> alter system set db_recovery_file_dest='/FRA' sid='*'; System altered.
host srvctl stop database -d racdb -o immediate conn / as sysdba startup mount
SQL> host srvctl stop database -d racdb -o immediate SQL> host crsctl stat res -t -------------------------------------------------------------------------------- NAME TARGET STATE SERVER STATE_DETAILS -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.LISTENER.lsnr ONLINE ONLINE rac1 ONLINE ONLINE rac2 ora.gsd OFFLINE OFFLINE rac1 OFFLINE OFFLINE rac2 ora.net1.network ONLINE ONLINE rac1 ONLINE ONLINE rac2 ora.ons ONLINE ONLINE rac1 ONLINE ONLINE rac2 -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.LISTENER_SCAN1.lsnr 1 ONLINE ONLINE rac1 ora.LISTENER_SCAN2.lsnr 1 ONLINE ONLINE rac2 ora.LISTENER_SCAN3.lsnr 1 ONLINE ONLINE rac2 ora.cvu 1 ONLINE ONLINE rac2 ora.oc4j 1 ONLINE ONLINE rac2 ora.rac1.vip 1 ONLINE ONLINE rac1 ora.rac2.vip 1 ONLINE ONLINE rac2 ora.racdb.db 1 OFFLINE OFFLINE Instance Shutdown 2 OFFLINE OFFLINE Instance Shutdown ora.scan1.vip 1 ONLINE ONLINE rac1 ora.scan2.vip 1 ONLINE ONLINE rac2 ora.scan3.vip 1 ONLINE ONLINE rac2 SQL> conn / as sysdba Connected to an idle instance. SQL> startup mount ORACLE instance started. Total System Global Area 3206836224 bytes Fixed Size 2257520 bytes Variable Size 721423760 bytes Database Buffers 2466250752 bytes Redo Buffers 16904192 bytes Database mounted.
alter database archivelog; archive log list; shutdown abort host srvctl start database -d racdb
SQL> alter database archivelog; Database altered. SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 17 Next log sequence to archive 19 Current log sequence 19 SQL> shutdown abort ORACLE instance shut down. SQL> host srvctl start database -d racdb SQL> host crsctl stat res -t -------------------------------------------------------------------------------- NAME TARGET STATE SERVER STATE_DETAILS -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.LISTENER.lsnr ONLINE ONLINE rac1 ONLINE ONLINE rac2 ora.gsd OFFLINE OFFLINE rac1 OFFLINE OFFLINE rac2 ora.net1.network ONLINE ONLINE rac1 ONLINE ONLINE rac2 ora.ons ONLINE ONLINE rac1 ONLINE ONLINE rac2 -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.LISTENER_SCAN1.lsnr 1 ONLINE ONLINE rac1 ora.LISTENER_SCAN2.lsnr 1 ONLINE ONLINE rac2 ora.LISTENER_SCAN3.lsnr 1 ONLINE ONLINE rac2 ora.cvu 1 ONLINE ONLINE rac2 ora.oc4j 1 ONLINE ONLINE rac2 ora.rac1.vip 1 ONLINE ONLINE rac1 ora.rac2.vip 1 ONLINE ONLINE rac2 ora.racdb.db 1 ONLINE ONLINE rac1 Open 2 ONLINE ONLINE rac2 Open ora.scan1.vip 1 ONLINE ONLINE rac1 ora.scan2.vip 1 ONLINE ONLINE rac2 ora.scan3.vip 1 ONLINE ONLINE rac2 SQL> conn / as sysdba Connected. SQL> col INSTANCE_NAME form a30 SQL> col STATUS form a10 SQL> select INSTANCE_NAME, STATUS from GV$INSTANCE; INSTANCE_NAME STATUS ------------------------------ ---------- racdb1 OPEN racdb2 OPEN
VIII. 업그레이드 사전 준비
1. 11g PSU 패치 적용
2. 11g PSU 패치
A) OPatch 업데이트
$DB_HOME/OPatch/opatch version mv $DB_HOME/OPatch $DB_HOME/OPatch.bak cp -r $GRID_HOME/OPatch $DB_HOME chown -R oracle:oinstall $DB_HOME/OPatch $DB_HOME/OPatch/opatch version
[root@rac1 ~]# $GRID_HOME/OPatch/opatch version OPatch Version: 11.2.0.3.23 OPatch succeeded. [root@rac1 ~]# $DB_HOME/OPatch/opatch version OPatch Version: 11.2.0.3.4 OPatch succeeded. [root@rac1 ~]# mv $DB_HOME/OPatch $DB_HOME/OPatch.old [root@rac1 ~]# cp -r $GRID_HOME/OPatch $DB_HOME [root@rac1 ~]# chown -R oracle:oinstall $DB_HOME/OPatch [root@rac1 ~]# $DB_HOME/OPatch/opatch version OPatch Version: 11.2.0.3.23 OPatch succeeded.
[root@rac2 ~]# $GRID_HOME/OPatch/opatch version OPatch Version: 11.2.0.3.23 OPatch succeeded. [root@rac2 ~]# $DB_HOME/OPatch/opatch version OPatch Version: 11.2.0.3.4 OPatch succeeded. [root@rac2 ~]# mv $DB_HOME/OPatch $DB_HOME/OPatch.old [root@rac2 ~]# cp -r $GRID_HOME/OPatch $DB_HOME [root@rac2 ~]# chown -R oracle:oinstall $DB_HOME/OPatch [root@rac2 ~]# $DB_HOME/OPatch/opatch version OPatch Version: 11.2.0.3.23 OPatch succeeded.
B) 사전 조사
grid_env opatch lspatches db_env opatch lspatches
[racdb1:/home/oracle]> grid_env [+ASM1:/home/oracle]> opatch lspatches 18370031;Grid Infrastructure Patch Set Update : 11.2.0.4.x (gibugno) OPatch succeeded. [+ASM1:/home/oracle]> db_env [racdb1:/home/oracle]> opatch lspatches 이 Oracle 홈에 설치된 Interim 패치가 없습니다 "/u01/app/oracle/product/11.2.0/db_1". OPatch succeeded.
[racdb2:/home/oracle]> grid_env [+ASM2:/home/oracle]> opatch lspatches 18370031;Grid Infrastructure Patch Set Update : 11.2.0.4.x (gibugno) OPatch succeeded. [+ASM2:/home/oracle]> db_env [racdb2:/home/oracle]> opatch lspatches 이 Oracle 홈에 설치된 Interim 패치가 없습니다 "/u01/app/oracle/product/11.2.0/db_1". OPatch succeeded.
{}
grid_env opatch prereq CheckConflictAgainstOHWithDetail -oh $GRID_HOME -ph <PSU 압축 해제 디렉토리>/<Grid PSU 번호>/<OCW PSU 번호> opatch prereq CheckConflictAgainstOHWithDetail -oh $GRID_HOME -ph <PSU 압축 해제 디렉토리>/<Grid PSU 번호>/<ACFS PSU 번호> opatch prereq CheckConflictAgainstOHWithDetail -oh $GRID_HOME -ph <PSU 압축 해제 디렉토리>/<Grid PSU 번호>/<DB PSU 번호>
[racdb1:/home/oracle]> grid_env [+ASM1:/home/oracle]> opatch prereq CheckConflictAgainstOHWithDetail -oh $GRID_HOME -ph /media/sf_oracle/11.2/30501155/29938455 Oracle Interim 패치 설치 프로그램 버전 11.2.0.3.23 Copyright (c) 2020, Oracle Corporation. All rights reserved. PREREQ session Oracle 홈: /u01/app/11.2.0/grid 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/11.2.0/grid/oraInst.loc OPatch 버전: 11.2.0.3.23 OUI 버전: 11.2.0.4.0 로그 파일 위치: /u01/app/11.2.0/grid/cfgtoollogs/opatch/opatch2020-04-16_08-56-54오전_1.log Invoking prereq "checkconflictagainstohwithdetail" Prereq "checkConflictAgainstOHWithDetail" passed. OPatch succeeded. [+ASM1:/home/oracle]> opatch prereq CheckConflictAgainstOHWithDetail -oh $GRID_HOME -ph /media/sf_oracle/11.2/30501155/29509309 Oracle Interim 패치 설치 프로그램 버전 11.2.0.3.23 Copyright (c) 2020, Oracle Corporation. All rights reserved. PREREQ session Oracle 홈: /u01/app/11.2.0/grid 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/11.2.0/grid/oraInst.loc OPatch 버전: 11.2.0.3.23 OUI 버전: 11.2.0.4.0 로그 파일 위치: /u01/app/11.2.0/grid/cfgtoollogs/opatch/opatch2020-04-16_08-57-00오전_1.log Invoking prereq "checkconflictagainstohwithdetail" Prereq "checkConflictAgainstOHWithDetail" passed. OPatch succeeded. [+ASM1:/home/oracle]> opatch prereq CheckConflictAgainstOHWithDetail -oh $GRID_HOME -ph /media/sf_oracle/11.2/30501155/30298532 Oracle Interim 패치 설치 프로그램 버전 11.2.0.3.23 Copyright (c) 2020, Oracle Corporation. All rights reserved. PREREQ session Oracle 홈: /u01/app/11.2.0/grid 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/11.2.0/grid/oraInst.loc OPatch 버전: 11.2.0.3.23 OUI 버전: 11.2.0.4.0 로그 파일 위치: /u01/app/11.2.0/grid/cfgtoollogs/opatch/opatch2020-04-16_08-57-05오전_1.log Invoking prereq "checkconflictagainstohwithdetail" Prereq "checkConflictAgainstOHWithDetail" passed. OPatch succeeded.
[racdb2:/home/oracle]> grid_env [+ASM2:/home/oracle]> opatch prereq CheckConflictAgainstOHWithDetail -oh $GRID_HOME -ph /media/sf_oracle/11.2/30501155/29938455 Oracle Interim 패치 설치 프로그램 버전 11.2.0.3.23 Copyright (c) 2020, Oracle Corporation. All rights reserved. PREREQ session Oracle 홈: /u01/app/11.2.0/grid 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/11.2.0/grid/oraInst.loc OPatch 버전: 11.2.0.3.23 OUI 버전: 11.2.0.4.0 로그 파일 위치: /u01/app/11.2.0/grid/cfgtoollogs/opatch/opatch2020-04-16_09-19-16오전_1.log Invoking prereq "checkconflictagainstohwithdetail" Prereq "checkConflictAgainstOHWithDetail" passed. OPatch succeeded. [+ASM2:/home/oracle]> opatch prereq CheckConflictAgainstOHWithDetail -oh $GRID_HOME -ph /media/sf_oracle/11.2/30501155/29509309 Oracle Interim 패치 설치 프로그램 버전 11.2.0.3.23 Copyright (c) 2020, Oracle Corporation. All rights reserved. PREREQ session Oracle 홈: /u01/app/11.2.0/grid 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/11.2.0/grid/oraInst.loc OPatch 버전: 11.2.0.3.23 OUI 버전: 11.2.0.4.0 로그 파일 위치: /u01/app/11.2.0/grid/cfgtoollogs/opatch/opatch2020-04-16_09-19-20오전_1.log Invoking prereq "checkconflictagainstohwithdetail" Prereq "checkConflictAgainstOHWithDetail" passed. OPatch succeeded. [+ASM2:/home/oracle]> opatch prereq CheckConflictAgainstOHWithDetail -oh $GRID_HOME -ph /media/sf_oracle/11.2/30501155/30298532 Oracle Interim 패치 설치 프로그램 버전 11.2.0.3.23 Copyright (c) 2020, Oracle Corporation. All rights reserved. PREREQ session Oracle 홈: /u01/app/11.2.0/grid 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/11.2.0/grid/oraInst.loc OPatch 버전: 11.2.0.3.23 OUI 버전: 11.2.0.4.0 로그 파일 위치: /u01/app/11.2.0/grid/cfgtoollogs/opatch/opatch2020-04-16_09-19-24오전_1.log Invoking prereq "checkconflictagainstohwithdetail" Prereq "checkConflictAgainstOHWithDetail" passed. OPatch succeeded.
db_env opatch prereq CheckConflictAgainstOHWithDetail -oh $DB_HOME -ph <PSU 압축 해제 디렉토리>/<Grid PSU 번호>/<OCW PSU 번호> opatch prereq CheckConflictAgainstOHWithDetail -oh $DB_HOME -ph <PSU 압축 해제 디렉토리>/<Grid PSU 번호>/<DB PSU 번호>
[+ASM1:/home/oracle]> db_env [racdb1:/home/oracle]> opatch prereq CheckConflictAgainstOHWithDetail -oh $DB_HOME -ph /media/sf_oracle/11.2/30501155/29938455 Oracle Interim 패치 설치 프로그램 버전 11.2.0.3.23 Copyright (c) 2020, Oracle Corporation. All rights reserved. PREREQ session Oracle 홈: /u01/app/oracle/product/11.2.0/db_1 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/oracle/product/11.2.0/db_1/oraInst.loc OPatch 버전: 11.2.0.3.23 OUI 버전: 11.2.0.4.0 로그 파일 위치: /u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/opatch2020-04-16_08-57-31오전_1.log Invoking prereq "checkconflictagainstohwithdetail" Prereq "checkConflictAgainstOHWithDetail" passed. OPatch succeeded. [racdb1:/home/oracle]> opatch prereq CheckConflictAgainstOHWithDetail -oh $DB_HOME -ph /media/sf_oracle/11.2/30501155/30298532 Oracle Interim 패치 설치 프로그램 버전 11.2.0.3.23 Copyright (c) 2020, Oracle Corporation. All rights reserved. PREREQ session Oracle 홈: /u01/app/oracle/product/11.2.0/db_1 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/oracle/product/11.2.0/db_1/oraInst.loc OPatch 버전: 11.2.0.3.23 OUI 버전: 11.2.0.4.0 로그 파일 위치: /u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/opatch2020-04-16_08-57-36오전_1.log Invoking prereq "checkconflictagainstohwithdetail" Prereq "checkConflictAgainstOHWithDetail" passed. OPatch succeeded.
[+ASM2:/home/oracle]> db_env [racdb2:/home/oracle]> opatch prereq CheckConflictAgainstOHWithDetail -oh $DB_HOME -ph /media/sf_oracle/11.2/30501155/29938455 Oracle Interim 패치 설치 프로그램 버전 11.2.0.3.23 Copyright (c) 2020, Oracle Corporation. All rights reserved. PREREQ session Oracle 홈: /u01/app/oracle/product/11.2.0/db_1 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/oracle/product/11.2.0/db_1/oraInst.loc OPatch 버전: 11.2.0.3.23 OUI 버전: 11.2.0.4.0 로그 파일 위치: /u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/opatch2020-04-16_09-19-59오전_1.log Invoking prereq "checkconflictagainstohwithdetail" Prereq "checkConflictAgainstOHWithDetail" passed. OPatch succeeded. [racdb2:/home/oracle]> opatch prereq CheckConflictAgainstOHWithDetail -oh $DB_HOME -ph /media/sf_oracle/11.2/30501155/30298532 Oracle Interim 패치 설치 프로그램 버전 11.2.0.3.23 Copyright (c) 2020, Oracle Corporation. All rights reserved. PREREQ session Oracle 홈: /u01/app/oracle/product/11.2.0/db_1 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/oracle/product/11.2.0/db_1/oraInst.loc OPatch 버전: 11.2.0.3.23 OUI 버전: 11.2.0.4.0 로그 파일 위치: /u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/opatch2020-04-16_09-20-04오전_1.log Invoking prereq "checkconflictagainstohwithdetail" Prereq "checkConflictAgainstOHWithDetail" passed. OPatch succeeded.
C) 1번 노드 패치
$GRID_HOME/perl/bin/perl $GRID_HOME/crs/install/rootcrs.pl -unlock
[root@rac1 ~]# $GRID_HOME/perl/bin/perl $GRID_HOME/crs/install/rootcrs.pl -unlock Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'rac1' CRS-2673: Attempting to stop 'ora.crsd' on 'rac1' CRS-2790: Starting shutdown of Cluster Ready Services-managed resources on 'rac1' CRS-2673: Attempting to stop 'ora.racdb.db' on 'rac1' CRS-2673: Attempting to stop 'ora.LISTENER.lsnr' on 'rac1' CRS-2673: Attempting to stop 'ora.LISTENER_SCAN1.lsnr' on 'rac1' CRS-2677: Stop of 'ora.LISTENER.lsnr' on 'rac1' succeeded CRS-2673: Attempting to stop 'ora.rac1.vip' on 'rac1' CRS-2677: Stop of 'ora.LISTENER_SCAN1.lsnr' on 'rac1' succeeded CRS-2673: Attempting to stop 'ora.scan1.vip' on 'rac1' CRS-2677: Stop of 'ora.racdb.db' on 'rac1' succeeded CRS-2677: Stop of 'ora.rac1.vip' on 'rac1' succeeded CRS-2672: Attempting to start 'ora.rac1.vip' on 'rac2' CRS-2677: Stop of 'ora.scan1.vip' on 'rac1' succeeded CRS-2672: Attempting to start 'ora.scan1.vip' on 'rac2' CRS-2676: Start of 'ora.rac1.vip' on 'rac2' succeeded CRS-2676: Start of 'ora.scan1.vip' on 'rac2' succeeded CRS-2672: Attempting to start 'ora.LISTENER_SCAN1.lsnr' on 'rac2' CRS-2676: Start of 'ora.LISTENER_SCAN1.lsnr' on 'rac2' succeeded CRS-2673: Attempting to stop 'ora.ons' on 'rac1' CRS-2677: Stop of 'ora.ons' on 'rac1' succeeded CRS-2673: Attempting to stop 'ora.net1.network' on 'rac1' CRS-2677: Stop of 'ora.net1.network' on 'rac1' succeeded CRS-2792: Shutdown of Cluster Ready Services-managed resources on 'rac1' has completed CRS-2677: Stop of 'ora.crsd' on 'rac1' succeeded CRS-2673: Attempting to stop 'ora.crf' on 'rac1' CRS-2673: Attempting to stop 'ora.ctssd' on 'rac1' CRS-2673: Attempting to stop 'ora.evmd' on 'rac1' CRS-2673: Attempting to stop 'ora.cluster_interconnect.haip' on 'rac1' CRS-2673: Attempting to stop 'ora.mdnsd' on 'rac1' CRS-2677: Stop of 'ora.mdnsd' on 'rac1' succeeded CRS-2677: Stop of 'ora.evmd' on 'rac1' succeeded CRS-2677: Stop of 'ora.crf' on 'rac1' succeeded CRS-2677: Stop of 'ora.cluster_interconnect.haip' on 'rac1' succeeded CRS-2677: Stop of 'ora.ctssd' on 'rac1' succeeded CRS-2673: Attempting to stop 'ora.cssd' on 'rac1' CRS-2677: Stop of 'ora.cssd' on 'rac1' succeeded CRS-2673: Attempting to stop 'ora.gipcd' on 'rac1' CRS-2677: Stop of 'ora.gipcd' on 'rac1' succeeded CRS-2673: Attempting to stop 'ora.gpnpd' on 'rac1' CRS-2677: Stop of 'ora.gpnpd' on 'rac1' succeeded CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'rac1' has completed CRS-4133: Oracle High Availability Services has been stopped. Successfully unlock /u01/app/11.2.0/grid
grid_env $GRID_HOME/OPatch/opatch napply -oh $GRID_HOME -local <PSU 압축 해제 디렉토리>/<Grid PSU 번호>/<OCW PSU 번호> $GRID_HOME/OPatch/opatch napply -oh $GRID_HOME -local <PSU 압축 해제 디렉토리>/<Grid PSU 번호>/<ACFS PSU 번호> $GRID_HOME/OPatch/opatch apply -oh $GRID_HOME -local <PSU 압축 해제 디렉토리>/<Grid PSU 번호>/<DB PSU 번호>
[racdb1:/home/oracle]> grid_env [+ASM1:/home/oracle]> $GRID_HOME/OPatch/opatch napply -oh $GRID_HOME -local /media/sf_oracle/11.2/30501155/29938455 Oracle Interim 패치 설치 프로그램 버전 11.2.0.3.23 Copyright (c) 2020, Oracle Corporation. All rights reserved. Oracle 홈: /u01/app/11.2.0/grid 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/11.2.0/grid/oraInst.loc OPatch 버전: 11.2.0.3.23 OUI 버전: 11.2.0.4.0 로그 파일 위치: /u01/app/11.2.0/grid/cfgtoollogs/opatch/opatch2020-04-16_08-58-56오전_1.log Verifying environment and performing prerequisite checks... OPatch continues with these patches: 29938455 계속하겠습니까? [y|n] y User Responded with: Y All checks passed. 로컬 시스템의 이 ORACLE_HOME에서 실행 중인 Oracle 인스턴스를 종료하십시오. (Oracle 홈 = '/u01/app/11.2.0/grid') 로컬 시스템이 패치할 준비가 되었습니까? [y|n] y User Responded with: Y Backing up files... OH '/u01/app/11.2.0/grid'에 Interim 패치 '29938455'을(를) 적용하는 중 oracle.crs, 11.2.0.4.0 구성요소를 패치하는 중... Patch 29938455 successfully applied. Sub-set patch [18370031] has become inactive due to the application of a super-set patch [29938455]. Please refer to Doc ID 2161861.1 for any possible further required actions. Log file location: /u01/app/11.2.0/grid/cfgtoollogs/opatch/opatch2020-04-16_08-58-56오전_1.log OPatch succeeded. [+ASM1:/home/oracle]> $GRID_HOME/OPatch/opatch napply -oh $GRID_HOME -local /media/sf_oracle/11.2/30501155/29509309 Oracle Interim 패치 설치 프로그램 버전 11.2.0.3.23 Copyright (c) 2020, Oracle Corporation. All rights reserved. Oracle 홈: /u01/app/11.2.0/grid 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/11.2.0/grid/oraInst.loc OPatch 버전: 11.2.0.3.23 OUI 버전: 11.2.0.4.0 로그 파일 위치: /u01/app/11.2.0/grid/cfgtoollogs/opatch/opatch2020-04-16_09-00-14오전_1.log Verifying environment and performing prerequisite checks... OPatch continues with these patches: 29509309 계속하겠습니까? [y|n] y User Responded with: Y All checks passed. 로컬 시스템의 이 ORACLE_HOME에서 실행 중인 Oracle 인스턴스를 종료하십시오. (Oracle 홈 = '/u01/app/11.2.0/grid') 로컬 시스템이 패치할 준비가 되었습니까? [y|n] y User Responded with: Y Backing up files... OH '/u01/app/11.2.0/grid'에 Interim 패치 '29509309'을(를) 적용하는 중 oracle.usm, 11.2.0.4.0 구성요소를 패치하는 중... Patch 29509309 successfully applied. Log file location: /u01/app/11.2.0/grid/cfgtoollogs/opatch/opatch2020-04-16_09-00-14오전_1.log OPatch succeeded. [+ASM1:/home/oracle]> $GRID_HOME/OPatch/opatch apply -oh $GRID_HOME -local /media/sf_oracle/11.2/30501155/30298532 Oracle Interim 패치 설치 프로그램 버전 11.2.0.3.23 Copyright (c) 2020, Oracle Corporation. All rights reserved. Oracle 홈: /u01/app/11.2.0/grid 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/11.2.0/grid/oraInst.loc OPatch 버전: 11.2.0.3.23 OUI 버전: 11.2.0.4.0 로그 파일 위치: /u01/app/11.2.0/grid/cfgtoollogs/opatch/opatch2020-04-16_09-02-24오전_1.log Verifying environment and performing prerequisite checks... OPatch continues with these patches: 17478514 18031668 18522509 19121551 19769489 20299013 20760982 21352635 21948347 22502456 23054359 24006111 24732075 25869727 26609445 26392168 26925576 27338049 27734982 28204707 28729262 29141056 29497421 29913194 30298532 계속하겠습니까? [y|n] y User Responded with: Y All checks passed. 로컬 시스템의 이 ORACLE_HOME에서 실행 중인 Oracle 인스턴스를 종료하십시오. (Oracle 홈 = '/u01/app/11.2.0/grid') 로컬 시스템이 패치할 준비가 되었습니까? [y|n] y User Responded with: Y Backing up files... Applying sub-patch '17478514' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.sdo, 11.2.0.4.0 ] , [ oracle.sysman.agent, 10.2.0.4.5 ] , [ oracle.xdk, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sdo.locator, 11.2.0.4.0 구성요소를 패치하는 중... oracle.nlsrtl.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '18031668' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.precomp.common, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.crs, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf.ic, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.deconfig, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '18522509' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.precomp.common, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.deconfig, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '19121551' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.precomp.common, 11.2.0.4.0 ] , [ oracle.sysman.console.db, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ordim.client, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ordim.jai, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '19769489' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.precomp.common, 11.2.0.4.0 ] , [ oracle.ovm, 11.2.0.4.0 ] , [ oracle.xdk, 11.2.0.4.0 ] , [ oracle.oraolap, 11.2.0.4.0 ] , [ oracle.sysman.agent, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.rdbms.util, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.parser.java, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.deconfig, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '20299013' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.rdbms.dv, 11.2.0.4.0 ] , [ oracle.rdbms.oci, 11.2.0.4.0 ] , [ oracle.precomp.common, 11.2.0.4.0 ] , [ oracle.sysman.agent, 10.2.0.4.5 ] , [ oracle.xdk, 11.2.0.4.0 ] , [ oracle.sysman.console.db, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.sysman.common, 10.2.0.4.5 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.parser.java, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sysman.common.core, 10.2.0.4.5 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.deconfig, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '20760982' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.sysman.console.db, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '21352635' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.sysman.agent, 10.2.0.4.5 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '21948347' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.sysman.agent, 10.2.0.4.5 ] , [ oracle.ovm, 11.2.0.4.0 ] , [ oracle.xdk, 11.2.0.4.0 ] , [ oracle.tfa, 11.2.0.4.0 ] , [ oracle.sysman.console.db, 11.2.0.4.0 ] , [ oracle.sysman.oms.core, 10.2.0.4.5 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.nlsrtl.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.parser.java, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '22502456' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.precomp.common, 11.2.0.4.0 ] , [ oracle.tfa, 11.2.0.4.0 ] , [ oracle.rdbms.olap, 11.2.0.4.0 ] , [ oracle.oraolap, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.oraolap.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '23054359' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.rdbms.dv, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '24006111' to OH '/u01/app/11.2.0/grid' oracle.sqlplus.ic, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sqlplus, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '24732075' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.precomp.common, 11.2.0.4.0 ] , [ oracle.sysman.plugin.db.main.agent, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.sqlplus.ic, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sqlplus, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.util, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ordim.client, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ordim.jai, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ordim.server, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '25869727' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.oid.client, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.ldap.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.oracore.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '26609445' to OH '/u01/app/11.2.0/grid' oracle.oracore.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '26392168' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.sysman.agent, 10.2.0.4.5 ] , [ oracle.xdk, 11.2.0.4.0 ] , [ oracle.oid.client, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.network.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.client, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.network.listener, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.nlsrtl.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.parser.java, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '26925576' to OH '/u01/app/11.2.0/grid' oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '27338049' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.assistants.server, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '27734982' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.ctx, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ctx.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '28204707' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.sysman.agent, 10.2.0.4.5 ] , [ oracle.sysman.console.db, 11.2.0.4.0 ] , [ oracle.ctx, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. Applying changes to emctl script on the home: /u01/app/11.2.0/grid ... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.oracore.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf.ic, 11.2.0.4.0 구성요소를 패치하는 중... oracle.network.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.security.osdt, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.owm, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sqlplus.rsf, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '28729262' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.ctx, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. INFO: Script isn't applicable to this port! oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.util, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf.ic, 11.2.0.4.0 구성요소를 패치하는 중... oracle.network.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '29141056' to OH '/u01/app/11.2.0/grid' oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.oracore.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '29497421' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.ctx, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf.ic, 11.2.0.4.0 구성요소를 패치하는 중... oracle.oracore.rsf, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '29913194' to OH '/u01/app/11.2.0/grid' oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.network.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf.ic, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.util, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '30298532' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.rdbms.tg4tera, 11.2.0.4.0 ] , [ oracle.rdbms.tg4sybs, 11.2.0.4.0 ] , [ oracle.rdbms.tg4ifmx, 11.2.0.4.0 ] , [ oracle.rdbms.tg4db2, 11.2.0.4.0 ] , [ oracle.rdbms.tg4msql, 11.2.0.4.0 ] , [ oracle.rdbms.hsodbc, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf.ic, 11.2.0.4.0 구성요소를 패치하는 중... Composite patch 30298532 successfully applied. Log file location: /u01/app/11.2.0/grid/cfgtoollogs/opatch/opatch2020-04-16_09-02-24오전_1.log OPatch succeeded.
db_env <PSU 압축 해제 디렉토리>/<Grid PSU 번호>/<OCW PSU 번호>/custom/server/<OCW PSU 번호>/custom/scripts/prepatch.sh -dbhome $DB_HOME $DB_HOME/OPatch/opatch napply -oh $DB_HOME -local <PSU 압축 해제 디렉토리>/<Grid PSU 번호>/<OCW PSU 번호>/custom/server/<OCW PSU 번호> $DB_HOME/OPatch/opatch apply -oh $DB_HOME -local <PSU 압축 해제 디렉토리>/<Grid PSU 번호>/<DB PSU 번호> <PSU 압축 해제 디렉토리>/<Grid PSU 번호>/<OCW PSU 번호>/custom/server/<OCW PSU 번호>/custom/scripts/postpatch.sh -dbhome $DB_HOME
[+ASM1:/home/oracle]> db_env [racdb1:/home/oracle]> /media/sf_oracle/11.2/30501155/29938455/custom/server/29938455/custom/scripts/prepatch.sh -dbhome $DB_HOME /media/sf_oracle/11.2/30501155/29938455/custom/server/29938455/custom/scripts/prepatch.sh completed successfully. [racdb1:/home/oracle]> $DB_HOME/OPatch/opatch napply -oh $DB_HOME -local /media/sf_oracle/11.2/30501155/29938455/custom/server/29938455 Oracle Interim 패치 설치 프로그램 버전 11.2.0.3.23 Copyright (c) 2020, Oracle Corporation. All rights reserved. Oracle 홈: /u01/app/oracle/product/11.2.0/db_1 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/oracle/product/11.2.0/db_1/oraInst.loc OPatch 버전: 11.2.0.3.23 OUI 버전: 11.2.0.4.0 로그 파일 위치: /u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/opatch2020-04-16_09-06-15오전_1.log Verifying environment and performing prerequisite checks... OPatch continues with these patches: 29938455 계속하겠습니까? [y|n] y User Responded with: Y All checks passed. 로컬 시스템의 이 ORACLE_HOME에서 실행 중인 Oracle 인스턴스를 종료하십시오. (Oracle 홈 = '/u01/app/oracle/product/11.2.0/db_1') 로컬 시스템이 패치할 준비가 되었습니까? [y|n] y User Responded with: Y Backing up files... OH '/u01/app/oracle/product/11.2.0/db_1'에 Interim 패치 '29938455'을(를) 적용하는 중 oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... Patch 29938455 successfully applied. Log file location: /u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/opatch2020-04-16_09-06-15오전_1.log OPatch succeeded. [racdb1:/home/oracle]> $DB_HOME/OPatch/opatch apply -oh $DB_HOME -local /media/sf_oracle/11.2/30501155/30298532 Oracle Interim 패치 설치 프로그램 버전 11.2.0.3.23 Copyright (c) 2020, Oracle Corporation. All rights reserved. Oracle 홈: /u01/app/oracle/product/11.2.0/db_1 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/oracle/product/11.2.0/db_1/oraInst.loc OPatch 버전: 11.2.0.3.23 OUI 버전: 11.2.0.4.0 로그 파일 위치: /u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/opatch2020-04-16_09-06-41오전_1.log Verifying environment and performing prerequisite checks... OPatch continues with these patches: 17478514 18031668 18522509 19121551 19769489 20299013 20760982 21352635 21948347 22502456 23054359 24006111 24732075 25869727 26609445 26392168 26925576 27338049 27734982 28204707 28729262 29141056 29497421 29913194 30298532 계속하겠습니까? [y|n] y User Responded with: Y All checks passed. 로컬 시스템의 이 ORACLE_HOME에서 실행 중인 Oracle 인스턴스를 종료하십시오. (Oracle 홈 = '/u01/app/oracle/product/11.2.0/db_1') 로컬 시스템이 패치할 준비가 되었습니까? [y|n] y User Responded with: Y Backing up files... Applying sub-patch '17478514' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sdo, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sysman.agent, 10.2.0.4.5 구성요소를 패치하는 중... oracle.xdk, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sdo.locator, 11.2.0.4.0 구성요소를 패치하는 중... oracle.nlsrtl.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '18031668' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.crs, 11.2.0.4.0 구성요소를 패치하는 중... oracle.precomp.common, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf.ic, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.deconfig, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '18522509' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.precomp.common, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.deconfig, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '19121551' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.precomp.common, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sysman.console.db, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ordim.client, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ordim.jai, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '19769489' to OH '/u01/app/oracle/product/11.2.0/db_1' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.sysman.agent, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.precomp.common, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ovm, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.util, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.parser.java, 11.2.0.4.0 구성요소를 패치하는 중... oracle.oraolap, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.deconfig, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '20299013' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.rdbms.dv, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.oci, 11.2.0.4.0 구성요소를 패치하는 중... oracle.precomp.common, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sysman.agent, 10.2.0.4.5 구성요소를 패치하는 중... oracle.xdk, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sysman.common, 10.2.0.4.5 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.parser.java, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sysman.console.db, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sysman.common.core, 10.2.0.4.5 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.deconfig, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '20760982' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.sysman.console.db, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '21352635' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.sysman.agent, 10.2.0.4.5 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '21948347' to OH '/u01/app/oracle/product/11.2.0/db_1' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.tfa, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.sysman.agent, 10.2.0.4.5 구성요소를 패치하는 중... oracle.ovm, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.nlsrtl.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.parser.java, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sysman.console.db, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sysman.oms.core, 10.2.0.4.5 구성요소를 패치하는 중... Applying sub-patch '22502456' to OH '/u01/app/oracle/product/11.2.0/db_1' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.tfa, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.precomp.common, 11.2.0.4.0 구성요소를 패치하는 중... oracle.oraolap.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.olap, 11.2.0.4.0 구성요소를 패치하는 중... oracle.oraolap, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '23054359' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.rdbms.dv, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '24006111' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.sqlplus.ic, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sqlplus, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '24732075' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.precomp.common, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sysman.plugin.db.main.agent, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sqlplus.ic, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sqlplus, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.util, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ordim.client, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ordim.jai, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ordim.server, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '25869727' to OH '/u01/app/oracle/product/11.2.0/db_1' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.oid.client, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.ldap.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.oracore.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '26609445' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.oracore.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '26392168' to OH '/u01/app/oracle/product/11.2.0/db_1' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.oid.client, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.network.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.client, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sysman.agent, 10.2.0.4.5 구성요소를 패치하는 중... oracle.xdk, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.network.listener, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.nlsrtl.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.parser.java, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '26925576' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '27338049' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.assistants.server, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '27734982' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.ctx, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ctx.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '28204707' to OH '/u01/app/oracle/product/11.2.0/db_1' Applying changes to emctl script on the home: /u01/app/oracle/product/11.2.0/db_1 ... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.oracore.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf.ic, 11.2.0.4.0 구성요소를 패치하는 중... oracle.network.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sysman.agent, 10.2.0.4.5 구성요소를 패치하는 중... oracle.sysman.console.db, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.security.osdt, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.owm, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sqlplus.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ctx, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '28729262' to OH '/u01/app/oracle/product/11.2.0/db_1' INFO: Script isn't applicable to this port! oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.util, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf.ic, 11.2.0.4.0 구성요소를 패치하는 중... oracle.network.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ctx, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '29141056' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.oracore.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '29497421' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf.ic, 11.2.0.4.0 구성요소를 패치하는 중... oracle.oracore.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ctx, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '29913194' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.network.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf.ic, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.util, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '30298532' to OH '/u01/app/oracle/product/11.2.0/db_1' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.rdbms.tg4tera, 11.2.0.4.0 ] , [ oracle.rdbms.tg4sybs, 11.2.0.4.0 ] , [ oracle.rdbms.tg4ifmx, 11.2.0.4.0 ] , [ oracle.rdbms.tg4db2, 11.2.0.4.0 ] , [ oracle.rdbms.tg4msql, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.hsodbc, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf.ic, 11.2.0.4.0 구성요소를 패치하는 중... OPatch가 make 명령의 stderr에서 단어 "warning"을(를) 찾았습니다. 이 stderr을 참조하십시오. 이 make 명령을 재실행할 수 있습니다. Stderr output: /bin/ld: warning: -z lazyload ignored. /bin/ld: warning: -z nolazyload ignored. OPatch가 make 명령의 stderr에서 단어 "warning"을(를) 찾았습니다. 이 stderr을 참조하십시오. 이 make 명령을 재실행할 수 있습니다. Stderr output: /bin/ld: warning: -z lazyload ignored. /bin/ld: warning: -z nolazyload ignored. OPatch가 make 명령의 stderr에서 단어 "warning"을(를) 찾았습니다. 이 stderr을 참조하십시오. 이 make 명령을 재실행할 수 있습니다. Stderr output: /bin/ld: warning: -z lazyload ignored. /bin/ld: warning: -z nolazyload ignored. OPatch가 make 명령의 stderr에서 단어 "warning"을(를) 찾았습니다. 이 stderr을 참조하십시오. 이 make 명령을 재실행할 수 있습니다. Stderr output: /bin/ld: warning: -z lazyload ignored. /bin/ld: warning: -z nolazyload ignored. + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmeoci.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmeoci.so .so + libname=libnmeoci ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmeoci.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmeoci.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmeoci.so _LIBNAME=libnmeoci _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmeociLIBS)' '_LIBNAME_EXTRALIBS=$(libnmeociEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefw.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefw.so .so + libname=libnmefw ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefw.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefw.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefw.so _LIBNAME=libnmefw _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmefwLIBS)' '_LIBNAME_EXTRALIBS=$(libnmefwEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefos.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefos.so .so + libname=libnmefos ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefos.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefos.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefos.so _LIBNAME=libnmefos _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmefosLIBS)' '_LIBNAME_EXTRALIBS=$(libnmefosEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefsql.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefsql.so .so + libname=libnmefsql ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefsql.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefsql.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefsql.so _LIBNAME=libnmefsql _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmefsqlLIBS)' '_LIBNAME_EXTRALIBS=$(libnmefsqlEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefud.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefud.so .so + libname=libnmefud ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefud.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefud.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefud.so _LIBNAME=libnmefud _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmefudLIBS)' '_LIBNAME_EXTRALIBS=$(libnmefudEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefdms.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefdms.so .so + libname=libnmefdms ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefdms.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefdms.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefdms.so _LIBNAME=libnmefdms _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmefdmsLIBS)' '_LIBNAME_EXTRALIBS=$(libnmefdmsEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefojmx.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefojmx.so .so + libname=libnmefojmx ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefojmx.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefojmx.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefojmx.so _LIBNAME=libnmefojmx _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmefojmxLIBS)' '_LIBNAME_EXTRALIBS=$(libnmefojmxEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefut.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefut.so .so + libname=libnmefut ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefut.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefut.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefut.so _LIBNAME=libnmefut _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmefutLIBS)' '_LIBNAME_EXTRALIBS=$(libnmefutEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefvr.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefvr.so .so + libname=libnmefvr ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefvr.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefvr.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefvr.so _LIBNAME=libnmefvr _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmefvrLIBS)' '_LIBNAME_EXTRALIBS=$(libnmefvrEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefpfa.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefpfa.so .so + libname=libnmefpfa ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefpfa.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefpfa.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefpfa.so _LIBNAME=libnmefpfa _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmefpfaLIBS)' '_LIBNAME_EXTRALIBS=$(libnmefpfaEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmevq.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmevq.so .so + libname=libnmevq ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmevq.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmevq.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmevq.so _LIBNAME=libnmevq _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmevqLIBS)' '_LIBNAME_EXTRALIBS=$(libnmevqEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmevsp.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmevsp.so .so + libname=libnmevsp ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmevsp.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmevsp.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmevsp.so _LIBNAME=libnmevsp _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmevspLIBS)' '_LIBNAME_EXTRALIBS=$(libnmevspEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmevc.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmevc.so .so + libname=libnmevc ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmevc.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmevc.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmevc.so _LIBNAME=libnmevc _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmevcLIBS)' '_LIBNAME_EXTRALIBS=$(libnmevcEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmadbg.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmadbg.so .so + libname=libnmadbg ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmadbg.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmadbg.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmadbg.so _LIBNAME=libnmadbg _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmadbgLIBS)' '_LIBNAME_EXTRALIBS=$(libnmadbgEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmadm.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmadm.so .so + libname=libnmadm ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmadm.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmadm.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmadm.so _LIBNAME=libnmadm _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmadmLIBS)' '_LIBNAME_EXTRALIBS=$(libnmadmEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmalk.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmalk.so .so + libname=libnmalk ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmalk.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmalk.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmalk.so _LIBNAME=libnmalk _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmalkLIBS)' '_LIBNAME_EXTRALIBS=$(libnmalkEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmastk.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmastk.so .so + libname=libnmastk ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmastk.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmastk.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmastk.so _LIBNAME=libnmastk _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmastkLIBS)' '_LIBNAME_EXTRALIBS=$(libnmastkEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmasf.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmasf.so .so + libname=libnmasf ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmasf.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmasf.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmasf.so _LIBNAME=libnmasf _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmasfLIBS)' '_LIBNAME_EXTRALIBS=$(libnmasfEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmarl.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmarl.so .so + libname=libnmarl ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmarl.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmarl.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmarl.so _LIBNAME=libnmarl _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmarlLIBS)' '_LIBNAME_EXTRALIBS=$(libnmarlEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefsp.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefsp.so .so + libname=libnmefsp ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefsp.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefsp.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefsp.so _LIBNAME=libnmefsp _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmefspLIBS)' '_LIBNAME_EXTRALIBS=$(libnmefspEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefsqlt.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefsqlt.so .so + libname=libnmefsqlt ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefsqlt.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefsqlt.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefsqlt.so _LIBNAME=libnmefsqlt _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmefsqltLIBS)' '_LIBNAME_EXTRALIBS=$(libnmefsqltEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefport.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefport.so .so + libname=libnmefport ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefport.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefport.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefport.so _LIBNAME=libnmefport _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmefportLIBS)' '_LIBNAME_EXTRALIBS=$(libnmefportEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmcfhc.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmcfhc.so .so + libname=libnmcfhc ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmcfhc.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmcfhc.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmcfhc.so _LIBNAME=libnmcfhc _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmcfhcLIBS)' '_LIBNAME_EXTRALIBS=$(libnmcfhcEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmcfsga.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmcfsga.so .so + libname=libnmcfsga ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmcfsga.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmcfsga.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmcfsga.so _LIBNAME=libnmcfsga _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmcfsgaLIBS)' '_LIBNAME_EXTRALIBS=$(libnmcfsgaEXTRALIBS)' /bin/ld: warning: -z lazyload ignored. /bin/ld: warning: -z nolazyload ignored. /bin/ld: warning: -z lazyload ignored. /bin/ld: warning: -z nolazyload ignored. /bin/ld: warning: -z lazyload ignored. /bin/ld: warning: -z nolazyload ignored. /bin/ld: warning: -z lazyload ignored. /bin/ld: warning: -z nolazyload ignored. /bin/ld: warning: -z lazyload ignored. /bin/ld: warning: -z nolazyload ignored. /bin/ld: warning: -z lazyload ignored. /bin/ld: warning: -z nolazyload ignored. /bin/ld: warning: -z lazyload ignored. /bin/ld: warning: -z nolazyload ignored. /bin/ld: warning: -z lazyload ignored. /bin/ld: warning: -z nolazyload ignored. /bin/ld: warning: -z lazyload ignored. /bin/ld: warning: -z nolazyload ignored. Composite patch 30298532 successfully applied. OPatch Session이 경고와 함께 완료되었습니다. Log file location: /u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/opatch2020-04-16_09-06-41오전_1.log OPatch completed with warnings. [racdb1:/home/oracle]> /media/sf_oracle/11.2/30501155/29938455/custom/server/29938455/custom/scripts/postpatch.sh -dbhome $DB_HOME Reading /u01/app/oracle/product/11.2.0/db_1/install/params.ora.. Reading /u01/app/oracle/product/11.2.0/db_1/install/params.ora.. Parsing file /u01/app/oracle/product/11.2.0/db_1/bin/racgwrap Parsing file /u01/app/oracle/product/11.2.0/db_1/bin/srvctl Parsing file /u01/app/oracle/product/11.2.0/db_1/bin/srvconfig Parsing file /u01/app/oracle/product/11.2.0/db_1/bin/cluvfy Verifying file /u01/app/oracle/product/11.2.0/db_1/bin/racgwrap Verifying file /u01/app/oracle/product/11.2.0/db_1/bin/srvctl Verifying file /u01/app/oracle/product/11.2.0/db_1/bin/srvconfig Verifying file /u01/app/oracle/product/11.2.0/db_1/bin/cluvfy Reapplying file permissions on /u01/app/oracle/product/11.2.0/db_1/bin/racgwrap Reapplying file permissions on /u01/app/oracle/product/11.2.0/db_1/bin/srvctl Reapplying file permissions on /u01/app/oracle/product/11.2.0/db_1/bin/srvconfig Reapplying file permissions on /u01/app/oracle/product/11.2.0/db_1/bin/cluvfy Reapplying file permissions on /u01/app/oracle/product/11.2.0/db_1/bin/diskmon.bin Reapplying file permissions on /u01/app/oracle/product/11.2.0/db_1/bin/lsnodes Reapplying file permissions on /u01/app/oracle/product/11.2.0/db_1/bin/osdbagrp Reapplying file permissions on /u01/app/oracle/product/11.2.0/db_1/bin/rawutl Reapplying file permissions on /u01/app/oracle/product/11.2.0/db_1/srvm/admin/ractrans Reapplying file permissions on /u01/app/oracle/product/11.2.0/db_1/srvm/admin/getcrshome Reapplying file permissions on /u01/app/oracle/product/11.2.0/db_1/bin/gnsd Reapplying file permissions on /u01/app/oracle/product/11.2.0/db_1/bin/crsdiag.pl Postpatch completed successfully
DB PSU를 적용하는 과정에서 lazyload, nolazyload 경고가 발생하는 부분이 있으나, 오라클 문서 2071922.1 에 있는 버그로 시스템에 위협이 되는 경고가 아니므로 무시하고 진행해도 됩니다.
$GRID_HOME/rdbms/install/rootadd_rdbms.sh $GRID_HOME/perl/bin/perl $GRID_HOME/crs/install/rootcrs.pl -patch
[root@rac1 ~]# $GRID_HOME/rdbms/install/rootadd_rdbms.sh [root@rac1 ~]# $GRID_HOME/perl/bin/perl $GRID_HOME/crs/install/rootcrs.pl -patch Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params Installing Trace File Analyzer CRS-4123: Oracle High Availability Services has been started.
grid_env opatch lspatches db_env opatch lspatches
[racdb1:/home/oracle]> grid_env [+ASM1:/home/oracle]> opatch lspatches 30298532;Database Patch Set Update : 11.2.0.4.200114 (30298532) 29509309;ACFS Patch Set Update : 11.2.0.4.190716 (29509309) 29938455;OCW Patch Set Update : 11.2.0.4.191015 (29938455) OPatch succeeded. [+ASM1:/home/oracle]> db_env [racdb1:/home/oracle]> opatch lspatches 30298532;Database Patch Set Update : 11.2.0.4.200114 (30298532) 29938455;OCW Patch Set Update : 11.2.0.4.191015 (29938455) OPatch succeeded.
D) 2번 노드 패치
$GRID_HOME/perl/bin/perl $GRID_HOME/crs/install/rootcrs.pl -unlock
[root@rac2 ~]# $GRID_HOME/perl/bin/perl $GRID_HOME/crs/install/rootcrs.pl -unlock Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'rac2' CRS-2673: Attempting to stop 'ora.crsd' on 'rac2' CRS-2790: Starting shutdown of Cluster Ready Services-managed resources on 'rac2' CRS-2673: Attempting to stop 'ora.cvu' on 'rac2' CRS-2673: Attempting to stop 'ora.LISTENER_SCAN3.lsnr' on 'rac2' CRS-2673: Attempting to stop 'ora.racdb.db' on 'rac2' CRS-2673: Attempting to stop 'ora.LISTENER_SCAN2.lsnr' on 'rac2' CRS-2673: Attempting to stop 'ora.LISTENER.lsnr' on 'rac2' CRS-2673: Attempting to stop 'ora.oc4j' on 'rac2' CRS-2677: Stop of 'ora.LISTENER.lsnr' on 'rac2' succeeded CRS-2673: Attempting to stop 'ora.rac2.vip' on 'rac2' CRS-2677: Stop of 'ora.LISTENER_SCAN3.lsnr' on 'rac2' succeeded CRS-2673: Attempting to stop 'ora.scan3.vip' on 'rac2' CRS-2677: Stop of 'ora.LISTENER_SCAN2.lsnr' on 'rac2' succeeded CRS-2673: Attempting to stop 'ora.scan2.vip' on 'rac2' CRS-2677: Stop of 'ora.cvu' on 'rac2' succeeded CRS-2672: Attempting to start 'ora.cvu' on 'rac1' CRS-2676: Start of 'ora.cvu' on 'rac1' succeeded CRS-2677: Stop of 'ora.rac2.vip' on 'rac2' succeeded CRS-2672: Attempting to start 'ora.rac2.vip' on 'rac1' CRS-2677: Stop of 'ora.racdb.db' on 'rac2' succeeded CRS-2677: Stop of 'ora.scan3.vip' on 'rac2' succeeded CRS-2672: Attempting to start 'ora.scan3.vip' on 'rac1' CRS-2677: Stop of 'ora.scan2.vip' on 'rac2' succeeded CRS-2672: Attempting to start 'ora.scan2.vip' on 'rac1' CRS-2676: Start of 'ora.rac2.vip' on 'rac1' succeeded CRS-2676: Start of 'ora.scan3.vip' on 'rac1' succeeded CRS-2672: Attempting to start 'ora.LISTENER_SCAN3.lsnr' on 'rac1' CRS-2676: Start of 'ora.scan2.vip' on 'rac1' succeeded CRS-2672: Attempting to start 'ora.LISTENER_SCAN2.lsnr' on 'rac1' CRS-2676: Start of 'ora.LISTENER_SCAN3.lsnr' on 'rac1' succeeded CRS-2677: Stop of 'ora.oc4j' on 'rac2' succeeded CRS-2672: Attempting to start 'ora.oc4j' on 'rac1' CRS-2676: Start of 'ora.LISTENER_SCAN2.lsnr' on 'rac1' succeeded CRS-2676: Start of 'ora.oc4j' on 'rac1' succeeded CRS-2673: Attempting to stop 'ora.ons' on 'rac2' CRS-2677: Stop of 'ora.ons' on 'rac2' succeeded CRS-2673: Attempting to stop 'ora.net1.network' on 'rac2' CRS-2677: Stop of 'ora.net1.network' on 'rac2' succeeded CRS-2792: Shutdown of Cluster Ready Services-managed resources on 'rac2' has completed CRS-2677: Stop of 'ora.crsd' on 'rac2' succeeded CRS-2673: Attempting to stop 'ora.crf' on 'rac2' CRS-2673: Attempting to stop 'ora.ctssd' on 'rac2' CRS-2673: Attempting to stop 'ora.evmd' on 'rac2' CRS-2673: Attempting to stop 'ora.cluster_interconnect.haip' on 'rac2' CRS-2673: Attempting to stop 'ora.mdnsd' on 'rac2' CRS-2677: Stop of 'ora.crf' on 'rac2' succeeded CRS-2677: Stop of 'ora.evmd' on 'rac2' succeeded CRS-2677: Stop of 'ora.mdnsd' on 'rac2' succeeded CRS-2677: Stop of 'ora.cluster_interconnect.haip' on 'rac2' succeeded CRS-2677: Stop of 'ora.ctssd' on 'rac2' succeeded CRS-2673: Attempting to stop 'ora.cssd' on 'rac2' CRS-2677: Stop of 'ora.cssd' on 'rac2' succeeded CRS-2673: Attempting to stop 'ora.gipcd' on 'rac2' CRS-2677: Stop of 'ora.gipcd' on 'rac2' succeeded CRS-2673: Attempting to stop 'ora.gpnpd' on 'rac2' CRS-2677: Stop of 'ora.gpnpd' on 'rac2' succeeded CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'rac2' has completed CRS-4133: Oracle High Availability Services has been stopped. Successfully unlock /u01/app/11.2.0/grid
1번 노드를 모두 패치한 후에 2번 노드의 작업을 진행해야 합니다.
grid_env $GRID_HOME/OPatch/opatch napply -oh $GRID_HOME -local <PSU 압축 해제 디렉토리>/<Grid PSU 번호>/<OCW PSU 번호> $GRID_HOME/OPatch/opatch napply -oh $GRID_HOME -local <PSU 압축 해제 디렉토리>/<Grid PSU 번호>/<ACFS PSU 번호> $GRID_HOME/OPatch/opatch apply -oh $GRID_HOME -local <PSU 압축 해제 디렉토리>/<Grid PSU 번호>/<DB PSU 번호>
[racdb2:/home/oracle]> grid_env [+ASM2:/home/oracle]> $GRID_HOME/OPatch/opatch napply -oh $GRID_HOME -local /media/sf_oracle/11.2/30501155/29938455 Oracle Interim 패치 설치 프로그램 버전 11.2.0.3.23 Copyright (c) 2020, Oracle Corporation. All rights reserved. Oracle 홈: /u01/app/11.2.0/grid 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/11.2.0/grid/oraInst.loc OPatch 버전: 11.2.0.3.23 OUI 버전: 11.2.0.4.0 로그 파일 위치: /u01/app/11.2.0/grid/cfgtoollogs/opatch/opatch2020-04-16_09-21-41오전_1.log Verifying environment and performing prerequisite checks... OPatch continues with these patches: 29938455 계속하겠습니까? [y|n] y User Responded with: Y All checks passed. 로컬 시스템의 이 ORACLE_HOME에서 실행 중인 Oracle 인스턴스를 종료하십시오. (Oracle 홈 = '/u01/app/11.2.0/grid') 로컬 시스템이 패치할 준비가 되었습니까? [y|n] y User Responded with: Y Backing up files... OH '/u01/app/11.2.0/grid'에 Interim 패치 '29938455'을(를) 적용하는 중 oracle.crs, 11.2.0.4.0 구성요소를 패치하는 중... Patch 29938455 successfully applied. Sub-set patch [18370031] has become inactive due to the application of a super-set patch [29938455]. Please refer to Doc ID 2161861.1 for any possible further required actions. Log file location: /u01/app/11.2.0/grid/cfgtoollogs/opatch/opatch2020-04-16_09-21-41오전_1.log OPatch succeeded. [+ASM2:/home/oracle]> $GRID_HOME/OPatch/opatch napply -oh $GRID_HOME -local /media/sf_oracle/11.2/30501155/29509309 Oracle Interim 패치 설치 프로그램 버전 11.2.0.3.23 Copyright (c) 2020, Oracle Corporation. All rights reserved. Oracle 홈: /u01/app/11.2.0/grid 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/11.2.0/grid/oraInst.loc OPatch 버전: 11.2.0.3.23 OUI 버전: 11.2.0.4.0 로그 파일 위치: /u01/app/11.2.0/grid/cfgtoollogs/opatch/opatch2020-04-16_09-22-52오전_1.log Verifying environment and performing prerequisite checks... OPatch continues with these patches: 29509309 계속하겠습니까? [y|n] y User Responded with: Y All checks passed. 로컬 시스템의 이 ORACLE_HOME에서 실행 중인 Oracle 인스턴스를 종료하십시오. (Oracle 홈 = '/u01/app/11.2.0/grid') 로컬 시스템이 패치할 준비가 되었습니까? [y|n] y User Responded with: Y Backing up files... OH '/u01/app/11.2.0/grid'에 Interim 패치 '29509309'을(를) 적용하는 중 oracle.usm, 11.2.0.4.0 구성요소를 패치하는 중... Patch 29509309 successfully applied. Log file location: /u01/app/11.2.0/grid/cfgtoollogs/opatch/opatch2020-04-16_09-22-52오전_1.log OPatch succeeded. [+ASM2:/home/oracle]> $GRID_HOME/OPatch/opatch apply -oh $GRID_HOME -local /media/sf_oracle/11.2/30501155/30298532 Oracle Interim 패치 설치 프로그램 버전 11.2.0.3.23 Copyright (c) 2020, Oracle Corporation. All rights reserved. Oracle 홈: /u01/app/11.2.0/grid 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/11.2.0/grid/oraInst.loc OPatch 버전: 11.2.0.3.23 OUI 버전: 11.2.0.4.0 로그 파일 위치: /u01/app/11.2.0/grid/cfgtoollogs/opatch/opatch2020-04-16_09-25-00오전_1.log Verifying environment and performing prerequisite checks... OPatch continues with these patches: 17478514 18031668 18522509 19121551 19769489 20299013 20760982 21352635 21948347 22502456 23054359 24006111 24732075 25869727 26609445 26392168 26925576 27338049 27734982 28204707 28729262 29141056 29497421 29913194 30298532 계속하겠습니까? [y|n] y User Responded with: Y All checks passed. 로컬 시스템의 이 ORACLE_HOME에서 실행 중인 Oracle 인스턴스를 종료하십시오. (Oracle 홈 = '/u01/app/11.2.0/grid') 로컬 시스템이 패치할 준비가 되었습니까? [y|n] y User Responded with: Y Backing up files... Applying sub-patch '17478514' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.sdo, 11.2.0.4.0 ] , [ oracle.sysman.agent, 10.2.0.4.5 ] , [ oracle.xdk, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sdo.locator, 11.2.0.4.0 구성요소를 패치하는 중... oracle.nlsrtl.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '18031668' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.precomp.common, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.crs, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf.ic, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.deconfig, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '18522509' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.precomp.common, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.deconfig, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '19121551' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.precomp.common, 11.2.0.4.0 ] , [ oracle.sysman.console.db, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ordim.client, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ordim.jai, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '19769489' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.precomp.common, 11.2.0.4.0 ] , [ oracle.ovm, 11.2.0.4.0 ] , [ oracle.xdk, 11.2.0.4.0 ] , [ oracle.oraolap, 11.2.0.4.0 ] , [ oracle.sysman.agent, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.rdbms.util, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.parser.java, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.deconfig, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '20299013' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.rdbms.dv, 11.2.0.4.0 ] , [ oracle.rdbms.oci, 11.2.0.4.0 ] , [ oracle.precomp.common, 11.2.0.4.0 ] , [ oracle.sysman.agent, 10.2.0.4.5 ] , [ oracle.xdk, 11.2.0.4.0 ] , [ oracle.sysman.console.db, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.sysman.common, 10.2.0.4.5 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.parser.java, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sysman.common.core, 10.2.0.4.5 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.deconfig, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '20760982' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.sysman.console.db, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '21352635' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.sysman.agent, 10.2.0.4.5 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '21948347' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.sysman.agent, 10.2.0.4.5 ] , [ oracle.ovm, 11.2.0.4.0 ] , [ oracle.xdk, 11.2.0.4.0 ] , [ oracle.tfa, 11.2.0.4.0 ] , [ oracle.sysman.console.db, 11.2.0.4.0 ] , [ oracle.sysman.oms.core, 10.2.0.4.5 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.nlsrtl.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.parser.java, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '22502456' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.precomp.common, 11.2.0.4.0 ] , [ oracle.tfa, 11.2.0.4.0 ] , [ oracle.rdbms.olap, 11.2.0.4.0 ] , [ oracle.oraolap, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.oraolap.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '23054359' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.rdbms.dv, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '24006111' to OH '/u01/app/11.2.0/grid' oracle.sqlplus.ic, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sqlplus, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '24732075' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.precomp.common, 11.2.0.4.0 ] , [ oracle.sysman.plugin.db.main.agent, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.sqlplus.ic, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sqlplus, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.util, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ordim.client, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ordim.jai, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ordim.server, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '25869727' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.oid.client, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.ldap.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.oracore.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '26609445' to OH '/u01/app/11.2.0/grid' oracle.oracore.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '26392168' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.sysman.agent, 10.2.0.4.5 ] , [ oracle.xdk, 11.2.0.4.0 ] , [ oracle.oid.client, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.network.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.client, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.network.listener, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.nlsrtl.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.parser.java, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '26925576' to OH '/u01/app/11.2.0/grid' oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '27338049' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.assistants.server, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '27734982' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.ctx, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ctx.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '28204707' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.sysman.agent, 10.2.0.4.5 ] , [ oracle.sysman.console.db, 11.2.0.4.0 ] , [ oracle.ctx, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. Applying changes to emctl script on the home: /u01/app/11.2.0/grid ... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.oracore.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf.ic, 11.2.0.4.0 구성요소를 패치하는 중... oracle.network.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.security.osdt, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.owm, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sqlplus.rsf, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '28729262' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.ctx, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. INFO: Script isn't applicable to this port! oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.util, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf.ic, 11.2.0.4.0 구성요소를 패치하는 중... oracle.network.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '29141056' to OH '/u01/app/11.2.0/grid' oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.oracore.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '29497421' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.ctx, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf.ic, 11.2.0.4.0 구성요소를 패치하는 중... oracle.oracore.rsf, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '29913194' to OH '/u01/app/11.2.0/grid' oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.network.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf.ic, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.util, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '30298532' to OH '/u01/app/11.2.0/grid' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.rdbms.tg4tera, 11.2.0.4.0 ] , [ oracle.rdbms.tg4sybs, 11.2.0.4.0 ] , [ oracle.rdbms.tg4ifmx, 11.2.0.4.0 ] , [ oracle.rdbms.tg4db2, 11.2.0.4.0 ] , [ oracle.rdbms.tg4msql, 11.2.0.4.0 ] , [ oracle.rdbms.hsodbc, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf.ic, 11.2.0.4.0 구성요소를 패치하는 중... Composite patch 30298532 successfully applied. Log file location: /u01/app/11.2.0/grid/cfgtoollogs/opatch/opatch2020-04-16_09-25-00오전_1.log OPatch succeeded.
db_env <PSU 압축 해제 디렉토리>/30501155/<OCW PSU 번호>/custom/server/<OCW PSU 번호>/custom/scripts/prepatch.sh -dbhome $DB_HOME $DB_HOME/OPatch/opatch napply -oh $DB_HOME -local <PSU 압축 해제 디렉토리>/30501155/<OCW PSU 번호>/custom/server/<OCW PSU 번호> $DB_HOME/OPatch/opatch apply -oh $DB_HOME -local <PSU 압축 해제 디렉토리>/30501155/<DB PSU 번호> <PSU 압축 해제 디렉토리>/30501155/<OCW PSU 번호>/custom/server/<OCW PSU 번호>/custom/scripts/postpatch.sh -dbhome $DB_HOME
[+ASM2:/home/oracle]> db_env [racdb2:/home/oracle]> /media/sf_oracle/11.2/30501155/29938455/custom/server/29938455/custom/scripts/prepatch.sh -dbhome $DB_HOME /media/sf_oracle/11.2/30501155/29938455/custom/server/29938455/custom/scripts/prepatch.sh completed successfully. [racdb2:/home/oracle]> $DB_HOME/OPatch/opatch napply -oh $DB_HOME -local /media/sf_oracle/11.2/30501155/29938455/custom/server/29938455 Oracle Interim 패치 설치 프로그램 버전 11.2.0.3.23 Copyright (c) 2020, Oracle Corporation. All rights reserved. Oracle 홈: /u01/app/oracle/product/11.2.0/db_1 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/oracle/product/11.2.0/db_1/oraInst.loc OPatch 버전: 11.2.0.3.23 OUI 버전: 11.2.0.4.0 로그 파일 위치: /u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/opatch2020-04-16_09-29-21오전_1.log Verifying environment and performing prerequisite checks... OPatch continues with these patches: 29938455 계속하겠습니까? [y|n] y User Responded with: Y All checks passed. 로컬 시스템의 이 ORACLE_HOME에서 실행 중인 Oracle 인스턴스를 종료하십시오. (Oracle 홈 = '/u01/app/oracle/product/11.2.0/db_1') 로컬 시스템이 패치할 준비가 되었습니까? [y|n] y User Responded with: Y Backing up files... OH '/u01/app/oracle/product/11.2.0/db_1'에 Interim 패치 '29938455'을(를) 적용하는 중 oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... Patch 29938455 successfully applied. Log file location: /u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/opatch2020-04-16_09-29-21오전_1.log OPatch succeeded. [racdb2:/home/oracle]> $DB_HOME/OPatch/opatch apply -oh $DB_HOME -local /media/sf_oracle/11.2/30501155/30298532 Oracle Interim 패치 설치 프로그램 버전 11.2.0.3.23 Copyright (c) 2020, Oracle Corporation. All rights reserved. Oracle 홈: /u01/app/oracle/product/11.2.0/db_1 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/oracle/product/11.2.0/db_1/oraInst.loc OPatch 버전: 11.2.0.3.23 OUI 버전: 11.2.0.4.0 로그 파일 위치: /u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/opatch2020-04-16_09-29-48오전_1.log Verifying environment and performing prerequisite checks... OPatch continues with these patches: 17478514 18031668 18522509 19121551 19769489 20299013 20760982 21352635 21948347 22502456 23054359 24006111 24732075 25869727 26609445 26392168 26925576 27338049 27734982 28204707 28729262 29141056 29497421 29913194 30298532 계속하겠습니까? [y|n] y User Responded with: Y All checks passed. 로컬 시스템의 이 ORACLE_HOME에서 실행 중인 Oracle 인스턴스를 종료하십시오. (Oracle 홈 = '/u01/app/oracle/product/11.2.0/db_1') 로컬 시스템이 패치할 준비가 되었습니까? [y|n] y User Responded with: Y Backing up files... Applying sub-patch '17478514' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sdo, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sysman.agent, 10.2.0.4.5 구성요소를 패치하는 중... oracle.xdk, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sdo.locator, 11.2.0.4.0 구성요소를 패치하는 중... oracle.nlsrtl.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '18031668' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.crs, 11.2.0.4.0 구성요소를 패치하는 중... oracle.precomp.common, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf.ic, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.deconfig, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '18522509' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.precomp.common, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.deconfig, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '19121551' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.precomp.common, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sysman.console.db, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ordim.client, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ordim.jai, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '19769489' to OH '/u01/app/oracle/product/11.2.0/db_1' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.sysman.agent, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.precomp.common, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ovm, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.util, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.parser.java, 11.2.0.4.0 구성요소를 패치하는 중... oracle.oraolap, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.deconfig, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '20299013' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.rdbms.dv, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.oci, 11.2.0.4.0 구성요소를 패치하는 중... oracle.precomp.common, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sysman.agent, 10.2.0.4.5 구성요소를 패치하는 중... oracle.xdk, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sysman.common, 10.2.0.4.5 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.parser.java, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sysman.console.db, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sysman.common.core, 10.2.0.4.5 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.deconfig, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '20760982' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.sysman.console.db, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '21352635' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.sysman.agent, 10.2.0.4.5 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '21948347' to OH '/u01/app/oracle/product/11.2.0/db_1' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.tfa, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.sysman.agent, 10.2.0.4.5 구성요소를 패치하는 중... oracle.ovm, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.nlsrtl.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.parser.java, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sysman.console.db, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sysman.oms.core, 10.2.0.4.5 구성요소를 패치하는 중... Applying sub-patch '22502456' to OH '/u01/app/oracle/product/11.2.0/db_1' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.tfa, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.precomp.common, 11.2.0.4.0 구성요소를 패치하는 중... oracle.oraolap.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.olap, 11.2.0.4.0 구성요소를 패치하는 중... oracle.oraolap, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '23054359' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.rdbms.dv, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '24006111' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.sqlplus.ic, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sqlplus, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '24732075' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.precomp.common, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sysman.plugin.db.main.agent, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sqlplus.ic, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sqlplus, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.util, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ordim.client, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ordim.jai, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ordim.server, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '25869727' to OH '/u01/app/oracle/product/11.2.0/db_1' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.oid.client, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.ldap.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.oracore.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '26609445' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.oracore.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '26392168' to OH '/u01/app/oracle/product/11.2.0/db_1' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.oid.client, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.network.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.client, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sysman.agent, 10.2.0.4.5 구성요소를 패치하는 중... oracle.xdk, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.network.listener, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.nlsrtl.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.parser.java, 11.2.0.4.0 구성요소를 패치하는 중... oracle.xdk.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '26925576' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '27338049' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.assistants.server, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '27734982' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.ctx, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ctx.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '28204707' to OH '/u01/app/oracle/product/11.2.0/db_1' Applying changes to emctl script on the home: /u01/app/oracle/product/11.2.0/db_1 ... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.oracore.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf.ic, 11.2.0.4.0 구성요소를 패치하는 중... oracle.network.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sysman.agent, 10.2.0.4.5 구성요소를 패치하는 중... oracle.sysman.console.db, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.security.osdt, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.owm, 11.2.0.4.0 구성요소를 패치하는 중... oracle.sqlplus.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ctx, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '28729262' to OH '/u01/app/oracle/product/11.2.0/db_1' INFO: Script isn't applicable to this port! oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.util, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf.ic, 11.2.0.4.0 구성요소를 패치하는 중... oracle.network.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ctx, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '29141056' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.oracore.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '29497421' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rman, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf.ic, 11.2.0.4.0 구성요소를 패치하는 중... oracle.oracore.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ctx, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '29913194' to OH '/u01/app/oracle/product/11.2.0/db_1' oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.network.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf.ic, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.util, 11.2.0.4.0 구성요소를 패치하는 중... Applying sub-patch '30298532' to OH '/u01/app/oracle/product/11.2.0/db_1' ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.rdbms.tg4tera, 11.2.0.4.0 ] , [ oracle.rdbms.tg4sybs, 11.2.0.4.0 ] , [ oracle.rdbms.tg4ifmx, 11.2.0.4.0 ] , [ oracle.rdbms.tg4db2, 11.2.0.4.0 ] , [ oracle.rdbms.tg4msql, 11.2.0.4.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.rdbms.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 11.2.0.4.0 구성요소를 패치하는 중... oracle.rdbms.hsodbc, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf, 11.2.0.4.0 구성요소를 패치하는 중... oracle.ldap.rsf.ic, 11.2.0.4.0 구성요소를 패치하는 중... OPatch가 make 명령의 stderr에서 단어 "warning"을(를) 찾았습니다. 이 stderr을 참조하십시오. 이 make 명령을 재실행할 수 있습니다. Stderr output: /bin/ld: warning: -z lazyload ignored. /bin/ld: warning: -z nolazyload ignored. OPatch가 make 명령의 stderr에서 단어 "warning"을(를) 찾았습니다. 이 stderr을 참조하십시오. 이 make 명령을 재실행할 수 있습니다. Stderr output: /bin/ld: warning: -z lazyload ignored. /bin/ld: warning: -z nolazyload ignored. OPatch가 make 명령의 stderr에서 단어 "warning"을(를) 찾았습니다. 이 stderr을 참조하십시오. 이 make 명령을 재실행할 수 있습니다. Stderr output: /bin/ld: warning: -z lazyload ignored. /bin/ld: warning: -z nolazyload ignored. OPatch가 make 명령의 stderr에서 단어 "warning"을(를) 찾았습니다. 이 stderr을 참조하십시오. 이 make 명령을 재실행할 수 있습니다. Stderr output: /bin/ld: warning: -z lazyload ignored. /bin/ld: warning: -z nolazyload ignored. + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmeoci.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmeoci.so .so + libname=libnmeoci ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmeoci.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmeoci.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmeoci.so _LIBNAME=libnmeoci _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmeociLIBS)' '_LIBNAME_EXTRALIBS=$(libnmeociEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefw.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefw.so .so + libname=libnmefw ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefw.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefw.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefw.so _LIBNAME=libnmefw _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmefwLIBS)' '_LIBNAME_EXTRALIBS=$(libnmefwEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefos.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefos.so .so + libname=libnmefos ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefos.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefos.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefos.so _LIBNAME=libnmefos _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmefosLIBS)' '_LIBNAME_EXTRALIBS=$(libnmefosEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefsql.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefsql.so .so + libname=libnmefsql ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefsql.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefsql.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefsql.so _LIBNAME=libnmefsql _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmefsqlLIBS)' '_LIBNAME_EXTRALIBS=$(libnmefsqlEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefud.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefud.so .so + libname=libnmefud ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefud.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefud.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefud.so _LIBNAME=libnmefud _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmefudLIBS)' '_LIBNAME_EXTRALIBS=$(libnmefudEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefdms.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefdms.so .so + libname=libnmefdms ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefdms.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefdms.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefdms.so _LIBNAME=libnmefdms _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmefdmsLIBS)' '_LIBNAME_EXTRALIBS=$(libnmefdmsEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefojmx.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefojmx.so .so + libname=libnmefojmx ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefojmx.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefojmx.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefojmx.so _LIBNAME=libnmefojmx _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmefojmxLIBS)' '_LIBNAME_EXTRALIBS=$(libnmefojmxEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefut.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefut.so .so + libname=libnmefut ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefut.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefut.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefut.so _LIBNAME=libnmefut _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmefutLIBS)' '_LIBNAME_EXTRALIBS=$(libnmefutEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefvr.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefvr.so .so + libname=libnmefvr ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefvr.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefvr.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefvr.so _LIBNAME=libnmefvr _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmefvrLIBS)' '_LIBNAME_EXTRALIBS=$(libnmefvrEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefpfa.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefpfa.so .so + libname=libnmefpfa ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefpfa.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefpfa.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefpfa.so _LIBNAME=libnmefpfa _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmefpfaLIBS)' '_LIBNAME_EXTRALIBS=$(libnmefpfaEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmevq.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmevq.so .so + libname=libnmevq ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmevq.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmevq.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmevq.so _LIBNAME=libnmevq _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmevqLIBS)' '_LIBNAME_EXTRALIBS=$(libnmevqEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmevsp.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmevsp.so .so + libname=libnmevsp ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmevsp.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmevsp.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmevsp.so _LIBNAME=libnmevsp _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmevspLIBS)' '_LIBNAME_EXTRALIBS=$(libnmevspEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmevc.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmevc.so .so + libname=libnmevc ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmevc.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmevc.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmevc.so _LIBNAME=libnmevc _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmevcLIBS)' '_LIBNAME_EXTRALIBS=$(libnmevcEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmadbg.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmadbg.so .so + libname=libnmadbg ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmadbg.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmadbg.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmadbg.so _LIBNAME=libnmadbg _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmadbgLIBS)' '_LIBNAME_EXTRALIBS=$(libnmadbgEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmadm.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmadm.so .so + libname=libnmadm ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmadm.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmadm.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmadm.so _LIBNAME=libnmadm _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmadmLIBS)' '_LIBNAME_EXTRALIBS=$(libnmadmEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmalk.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmalk.so .so + libname=libnmalk ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmalk.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmalk.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmalk.so _LIBNAME=libnmalk _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmalkLIBS)' '_LIBNAME_EXTRALIBS=$(libnmalkEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmastk.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmastk.so .so + libname=libnmastk ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmastk.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmastk.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmastk.so _LIBNAME=libnmastk _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmastkLIBS)' '_LIBNAME_EXTRALIBS=$(libnmastkEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmasf.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmasf.so .so + libname=libnmasf ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmasf.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmasf.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmasf.so _LIBNAME=libnmasf _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmasfLIBS)' '_LIBNAME_EXTRALIBS=$(libnmasfEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmarl.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmarl.so .so + libname=libnmarl ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmarl.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmarl.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmarl.so _LIBNAME=libnmarl _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmarlLIBS)' '_LIBNAME_EXTRALIBS=$(libnmarlEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefsp.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefsp.so .so + libname=libnmefsp ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefsp.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefsp.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefsp.so _LIBNAME=libnmefsp _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmefspLIBS)' '_LIBNAME_EXTRALIBS=$(libnmefspEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefsqlt.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefsqlt.so .so + libname=libnmefsqlt ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefsqlt.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefsqlt.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefsqlt.so _LIBNAME=libnmefsqlt _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmefsqltLIBS)' '_LIBNAME_EXTRALIBS=$(libnmefsqltEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefport.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefport.so .so + libname=libnmefport ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefport.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefport.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmefport.so _LIBNAME=libnmefport _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmefportLIBS)' '_LIBNAME_EXTRALIBS=$(libnmefportEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmcfhc.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmcfhc.so .so + libname=libnmcfhc ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmcfhc.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmcfhc.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmcfhc.so _LIBNAME=libnmcfhc _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmcfhcLIBS)' '_LIBNAME_EXTRALIBS=$(libnmcfhcEXTRALIBS)' + PATH=/bin:/usr/bin:/usr/ccs/bin + export PATH + lib=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmcfsga.so + makefile=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk + so_ext=so + target=new_ld_shlib + var= ++ basename /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmcfsga.so .so + libname=libnmcfsga ++ dirname /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmcfsga.so + dir=/u01/app/oracle/product/11.2.0/db_1/sysman/lib + '[' var = new_ld_shlib ']' + '[' -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmcfsga.a ']' + dir2=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ + '[' '' '!=' '' ']' + make -f /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk new_ld_shlib _FULL_LIBNAME=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/libnmcfsga.so _LIBNAME=libnmcfsga _LIBDIR=/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ '_LIBNAME_LIBS=$(libnmcfsgaLIBS)' '_LIBNAME_EXTRALIBS=$(libnmcfsgaEXTRALIBS)' /bin/ld: warning: -z lazyload ignored. /bin/ld: warning: -z nolazyload ignored. /bin/ld: warning: -z lazyload ignored. /bin/ld: warning: -z nolazyload ignored. /bin/ld: warning: -z lazyload ignored. /bin/ld: warning: -z nolazyload ignored. /bin/ld: warning: -z lazyload ignored. /bin/ld: warning: -z nolazyload ignored. /bin/ld: warning: -z lazyload ignored. /bin/ld: warning: -z nolazyload ignored. /bin/ld: warning: -z lazyload ignored. /bin/ld: warning: -z nolazyload ignored. /bin/ld: warning: -z lazyload ignored. /bin/ld: warning: -z nolazyload ignored. /bin/ld: warning: -z lazyload ignored. /bin/ld: warning: -z nolazyload ignored. /bin/ld: warning: -z lazyload ignored. /bin/ld: warning: -z nolazyload ignored. Composite patch 30298532 successfully applied. OPatch Session이 경고와 함께 완료되었습니다. Log file location: /u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/opatch2020-04-16_09-29-48오전_1.log OPatch completed with warnings. [racdb2:/home/oracle]> /media/sf_oracle/11.2/30501155/29938455/custom/server/29938455/custom/scripts/postpatch.sh -dbhome $DB_HOME Reading /u01/app/oracle/product/11.2.0/db_1/install/params.ora.. Reading /u01/app/oracle/product/11.2.0/db_1/install/params.ora.. Parsing file /u01/app/oracle/product/11.2.0/db_1/bin/racgwrap Parsing file /u01/app/oracle/product/11.2.0/db_1/bin/srvctl Parsing file /u01/app/oracle/product/11.2.0/db_1/bin/srvconfig Parsing file /u01/app/oracle/product/11.2.0/db_1/bin/cluvfy Verifying file /u01/app/oracle/product/11.2.0/db_1/bin/racgwrap Verifying file /u01/app/oracle/product/11.2.0/db_1/bin/srvctl Verifying file /u01/app/oracle/product/11.2.0/db_1/bin/srvconfig Verifying file /u01/app/oracle/product/11.2.0/db_1/bin/cluvfy Reapplying file permissions on /u01/app/oracle/product/11.2.0/db_1/bin/racgwrap Reapplying file permissions on /u01/app/oracle/product/11.2.0/db_1/bin/srvctl Reapplying file permissions on /u01/app/oracle/product/11.2.0/db_1/bin/srvconfig Reapplying file permissions on /u01/app/oracle/product/11.2.0/db_1/bin/cluvfy Reapplying file permissions on /u01/app/oracle/product/11.2.0/db_1/bin/diskmon.bin Reapplying file permissions on /u01/app/oracle/product/11.2.0/db_1/bin/lsnodes Reapplying file permissions on /u01/app/oracle/product/11.2.0/db_1/bin/osdbagrp Reapplying file permissions on /u01/app/oracle/product/11.2.0/db_1/bin/rawutl Reapplying file permissions on /u01/app/oracle/product/11.2.0/db_1/srvm/admin/ractrans Reapplying file permissions on /u01/app/oracle/product/11.2.0/db_1/srvm/admin/getcrshome Reapplying file permissions on /u01/app/oracle/product/11.2.0/db_1/bin/gnsd Reapplying file permissions on /u01/app/oracle/product/11.2.0/db_1/bin/crsdiag.pl Postpatch completed successfully
1번 노드와 마찬가지로 DB PSU 패치시에 나오는 경고는 무시해도 됩니다.
$GRID_HOME/rdbms/install/rootadd_rdbms.sh $GRID_HOME/perl/bin/perl $GRID_HOME/crs/install/rootcrs.pl -patch
[root@rac2 ~]# $GRID_HOME/rdbms/install/rootadd_rdbms.sh [root@rac2 ~]# $GRID_HOME/perl/bin/perl $GRID_HOME/crs/install/rootcrs.pl -patch Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params Installing Trace File Analyzer CRS-4123: Oracle High Availability Services has been started.
grid_env opatch lspatches db_env opatch lspatches
[racdb2:/home/oracle]> grid_env [+ASM2:/home/oracle]> opatch lspatches 30298532;Database Patch Set Update : 11.2.0.4.200114 (30298532) 29509309;ACFS Patch Set Update : 11.2.0.4.190716 (29509309) 29938455;OCW Patch Set Update : 11.2.0.4.191015 (29938455) OPatch succeeded. [+ASM2:/home/oracle]> db_env [racdb2:/home/oracle]> opatch lspatches 30298532;Database Patch Set Update : 11.2.0.4.200114 (30298532) 29938455;OCW Patch Set Update : 11.2.0.4.191015 (29938455) OPatch succeeded.
E) Database에 PSU 적용
@?/rdbms/admin/catbundle.sql psu apply @?/rdbms/admin/utlrp.sql
[racdb1:/home/oracle]> sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Thu Apr 16 09:49:29 2020 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, Real Application Clusters, OLAP, Data Mining and Real Application Testing options SQL> col ACTION_TIME form a30 SQL> col ACTION form a10 SQL> col VERSION form a10 SQL> col COMMENTS form a20 SQL> select ACTION_TIME, ACTION, VERSION, COMMENTS from REGISTRY$HISTORY; ACTION_TIME ACTION VERSION COMMENTS ------------------------------ ---------- ---------- -------------------- 20/04/14 16:06:47.563599 APPLY 11.2.0.4 Patchset 11.2.0.2.0 SQL> @?/rdbms/admin/catbundle.sql psu apply PL/SQL procedure successfully completed. Function created. Function created. PL/SQL procedure successfully completed. PL/SQL procedure successfully completed. Generating apply and rollback scripts... Check the following file for errors: /u01/app/oracle/cfgtoollogs/catbundle/catbundle_PSU_RACDB_GENERATE_2020Apr16_09_52_12.log Apply script: /u01/app/oracle/product/11.2.0/db_1/rdbms/admin/catbundle_PSU_RACDB_APPLY.sql Rollback script: /u01/app/oracle/product/11.2.0/db_1/rdbms/admin/catbundle_PSU_RACDB_ROLLBACK.sql PL/SQL procedure successfully completed. Executing script file... ... << 생략 >> ... SQL> ALTER SESSION SET current_schema = SYS; Session altered. SQL> PROMPT Updating registry... Updating registry... SQL> INSERT INTO registry$history 2 (action_time, action, 3 namespace, version, id, 4 bundle_series, comments) 5 VALUES 6 (SYSTIMESTAMP, 'APPLY', 7 SYS_CONTEXT('REGISTRY$CTX','NAMESPACE'), 8 '11.2.0.4', 9 200114, 10 'PSU', 11 'PSU 11.2.0.4.200114'); 1 row created. SQL> COMMIT; Commit complete. SQL> SPOOL off SQL> SET echo off Check the following log file for errors: /u01/app/oracle/cfgtoollogs/catbundle/catbundle_PSU_RACDB_APPLY_2020Apr16_09_52_16.log
SQL> @?/rdbms/admin/utlrp.sql TIMESTAMP -------------------------------------------------------------------------------- COMP_TIMESTAMP UTLRP_BGN 2020-04-16 09:57:31 1 row selected. DOC> The following PL/SQL block invokes UTL_RECOMP to recompile invalid DOC> objects in the database. Recompilation time is proportional to the DOC> number of invalid objects in the database, so this command may take DOC> a long time to execute on a database with a large number of invalid DOC> objects. DOC> DOC> Use the following queries to track recompilation progress: DOC> DOC> 1. Query returning the number of invalid objects remaining. This DOC> number should decrease with time. DOC> SELECT COUNT(*) FROM obj$ WHERE status IN (4, 5, 6); DOC> DOC> 2. Query returning the number of objects compiled so far. This number DOC> should increase with time. DOC> SELECT COUNT(*) FROM UTL_RECOMP_COMPILED; DOC> DOC> This script automatically chooses serial or parallel recompilation DOC> based on the number of CPUs available (parameter cpu_count) multiplied DOC> by the number of threads per CPU (parameter parallel_threads_per_cpu). DOC> On RAC, this number is added across all RAC nodes. DOC> DOC> UTL_RECOMP uses DBMS_SCHEDULER to create jobs for parallel DOC> recompilation. Jobs are created without instance affinity so that they DOC> can migrate across RAC nodes. Use the following queries to verify DOC> whether UTL_RECOMP jobs are being created and run correctly: DOC> DOC> 1. Query showing jobs created by UTL_RECOMP DOC> SELECT job_name FROM dba_scheduler_jobs DOC> WHERE job_name like 'UTL_RECOMP_SLAVE_%'; DOC> DOC> 2. Query showing UTL_RECOMP jobs that are running DOC> SELECT job_name FROM dba_scheduler_running_jobs DOC> WHERE job_name like 'UTL_RECOMP_SLAVE_%'; DOC># PL/SQL procedure successfully completed. TIMESTAMP -------------------------------------------------------------------------------- COMP_TIMESTAMP UTLRP_END 2020-04-16 09:57:37 1 row selected. DOC> The following query reports the number of objects that have compiled DOC> with errors. DOC> DOC> If the number is higher than expected, please examine the error DOC> messages reported with each object (using SHOW ERRORS) to see if they DOC> point to system misconfiguration or resource constraints that must be DOC> fixed before attempting to recompile these objects. DOC># OBJECTS WITH ERRORS ------------------- 0 1 row selected. DOC> The following query reports the number of errors caught during DOC> recompilation. If this number is non-zero, please query the error DOC> messages in the table UTL_RECOMP_ERRORS to see if any of these errors DOC> are due to misconfiguration or resource constraints that must be DOC> fixed before objects can compile successfully. DOC># ERRORS DURING RECOMPILATION --------------------------- 0 1 row selected. Function created. PL/SQL procedure successfully completed. Function dropped. PL/SQL procedure successfully completed.
select ACTION_TIME, ACTION, VERSION, COMMENTS from REGISTRY$HISTORY;
QL> select ACTION_TIME, ACTION, VERSION, COMMENTS from REGISTRY$HISTORY; ACTION_TIME ACTION VERSION COMMENTS ------------------------------ ---------- ---------- -------------------- 20/04/14 16:06:47.563599 APPLY 11.2.0.4 Patchset 11.2.0.2.0 20/04/16 09:55:09.998487 APPLY 11.2.0.4 PSU 11.2.0.4.200114 2 rows selected. SQL> exit Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, Real Application Clusters, OLAP, Data Mining and Real Application Testing options [racdb1:/home/oracle]>
3. ASM으로 데이터베이스 이관
4. ASM 구성
A) ASM 인스턴스 및 디스크 그룹 생성
grid_env asmca -silent -configureASM -sysAsmPassword <SYSASM 암호> -asmsnmpPassword <ASMSNMP 암호> -diskString 'ORCL:*' -diskGroupName CRS -diskList 'ORCL:CRS1,ORCL:CRS2,ORCL:CRS3' -redundancy NORMAL
[racdb1:/home/oracle]> grid_env [+ASM1:/home/oracle]> asmca -silent -configureASM -sysAsmPassword oracle_4U -asmsnmpPassword oracle_4U -diskString 'ORCL:*' -diskGroupName CRS -diskList 'ORCL:CRS1,ORCL:CRS2,ORCL:CRS3' -redundancy NORMAL ASM이 성공적으로 생성되고 시작되었습니다. 디스크 그룹 CRS이(가) 성공적으로 생성되었습니다. [+ASM1:/home/oracle]> asmcmd lsdg State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name MOUNTED NORMAL N 512 4096 1048576 3069 2764 1023 870 0 N CRS/
{}
asmca -silent -createDiskGroup -diskString 'ORCL:*' -diskGroupName DATA -disk 'ORCL:DATA' -redundancy EXTERNAL asmca -silent -createDiskGroup -diskString 'ORCL:*' -diskGroupName FRA -disk 'ORCL:FRA' -redundancy EXTERNAL
[+ASM1:/home/oracle]> asmca -silent -createDiskGroup -diskString 'ORCL:*' -diskGroupName DATA -disk 'ORCL:DATA' -redundancy EXTERNAL 디스크 그룹 DATA이(가) 성공적으로 생성되었습니다. [+ASM1:/home/oracle]> asmca -silent -createDiskGroup -diskString 'ORCL:*' -diskGroupName FRA -disk 'ORCL:FRA' -redundancy EXTERNAL 디스크 그룹 FRA이(가) 성공적으로 생성되었습니다. [+ASM1:/home/oracle]> asmcmd lsdg State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name MOUNTED NORMAL N 512 4096 1048576 3069 2764 1023 870 0 N CRS/ MOUNTED EXTERN N 512 4096 1048576 30719 30624 0 30624 0 N DATA/ MOUNTED EXTERN N 512 4096 1048576 20479 20384 0 20384 0 N FRA/
B) CRS 및 Vote 영역 ASM으로 이관
ocrconfig -add +CRS ocrconfig -delete /dev/raw/raw1 ocrconfig -delete /dev/raw/raw2 ocrcheck
[root@rac1 ~]# ocrcheck Status of Oracle Cluster Registry is as follows : Version : 3 Total space (kbytes) : 262120 Used space (kbytes) : 3020 Available space (kbytes) : 259100 ID : 934357259 Device/File Name : /dev/raw/raw1 Device/File integrity check succeeded Device/File Name : /dev/raw/raw2 Device/File integrity check succeeded Device/File not configured Device/File not configured Device/File not configured Cluster registry integrity check succeeded Logical corruption check succeeded [root@rac1 ~]# ocrconfig -add +CRS [root@rac1 ~]# ocrconfig -delete /dev/raw/raw1 [root@rac1 ~]# ocrconfig -delete /dev/raw/raw2 [root@rac1 ~]# ocrcheck Status of Oracle Cluster Registry is as follows : Version : 3 Total space (kbytes) : 262120 Used space (kbytes) : 3020 Available space (kbytes) : 259100 ID : 934357259 Device/File Name : +CRS Device/File integrity check succeeded Device/File not configured Device/File not configured Device/File not configured Device/File not configured Cluster registry integrity check succeeded Logical corruption check succeeded
crsctl replace votedisk +CRS crsctl query css votedisk
[root@rac1 ~]# crsctl query css votedisk ## STATE File Universal Id File Name Disk group -- ----- ----------------- --------- --------- 1. ONLINE a4c3ccb126b64f4dbf3d89ae84d163a2 (/dev/raw/raw3) [] 2. ONLINE 31693ea2d7774f83bfd26b71d8173078 (/dev/raw/raw4) [] 3. ONLINE 7527b0194b634f7abfbc3c3501a8a6f4 (/dev/raw/raw5) [] Located 3 voting disk(s). [root@rac1 ~]# crsctl replace votedisk +CRS CRS-4256: Updating the profile Successful addition of voting disk d10cbc0b84bb4fa1bf868c98b6cb9463. Successful addition of voting disk 6d485ec847b34f48bf3cd1462e0ba114. Successful addition of voting disk e42528b7cab34f88bf51951976a27e4a. Successful deletion of voting disk a4c3ccb126b64f4dbf3d89ae84d163a2. Successful deletion of voting disk 31693ea2d7774f83bfd26b71d8173078. Successful deletion of voting disk 7527b0194b634f7abfbc3c3501a8a6f4. Successfully replaced voting disk group with +CRS. CRS-4256: Updating the profile CRS-4266: Voting file(s) successfully replaced [root@rac1 ~]# crsctl query css votedisk ## STATE File Universal Id File Name Disk group -- ----- ----------------- --------- --------- 1. ONLINE d10cbc0b84bb4fa1bf868c98b6cb9463 (ORCL:CRS1) [CRS] 2. ONLINE 6d485ec847b34f48bf3cd1462e0ba114 (ORCL:CRS2) [CRS] 3. ONLINE e42528b7cab34f88bf51951976a27e4a (ORCL:CRS3) [CRS] Located 3 voting disk(s).
C) ASM 호환성 변경
asmcmd setattr -G CRS compatible.asm 11.2.0.2.0 asmcmd setattr -G DATA compatible.asm 11.2.0.2.0 asmcmd setattr -G FRA compatible.asm 11.2.0.2.0 asmcmd lsattr -G CRS -lm compatible.asm asmcmd lsattr -G DATA -lm compatible.asm asmcmd lsattr -G FRA -lm compatible.asm
[+ASM1:/home/oracle]> asmcmd lsattr -G CRS -lm compatible.asm Group_Name Name Value RO Sys CRS compatible.asm 11.2.0.0.0 N Y [+ASM1:/home/oracle]> asmcmd lsattr -G DATA -lm compatible.asm Group_Name Name Value RO Sys DATA compatible.asm 11.2.0.0.0 N Y [+ASM1:/home/oracle]> asmcmd lsattr -G FRA -lm compatible.asm Group_Name Name Value RO Sys FRA compatible.asm 11.2.0.0.0 N Y [+ASM1:/home/oracle]> asmcmd setattr -G CRS compatible.asm 11.2.0.2.0 [+ASM1:/home/oracle]> asmcmd setattr -G DATA compatible.asm 11.2.0.2.0 [+ASM1:/home/oracle]> asmcmd setattr -G FRA compatible.asm 11.2.0.2.0 [+ASM1:/home/oracle]> asmcmd lsattr -G CRS -lm compatible.asm Group_Name Name Value RO Sys CRS compatible.asm 11.2.0.2.0 N Y [+ASM1:/home/oracle]> asmcmd lsattr -G DATA -lm compatible.asm Group_Name Name Value RO Sys DATA compatible.asm 11.2.0.2.0 N Y [+ASM1:/home/oracle]> asmcmd lsattr -G FRA -lm compatible.asm Group_Name Name Value RO Sys FRA compatible.asm 11.2.0.2.0 N Y
11g R2의 ASM을 19c로 업그레이드 하기 위해서는 ASM의 최소 호환성은 11.2.0.2 이상이어야 합니다.
5. ASM으로 Database 이관
A) 사전 현황 조사
select TABLESPACE_NAME, FILE_NAME, BYTES/1024/1024 MB from DBA_DATA_FILES;
SQL> col TABLESPACE_NAME form a20 SQL> col FILE_NAME form a20 SQL> col MB form 999,999 SQL> select TABLESPACE_NAME, FILE_NAME, BYTES/1024/1024 MB from DBA_DATA_FILES; TABLESPACE FILE_NAME MB ---------- -------------------- -------- SYSTEM /dev/raw/raw6 1,000 SYSAUX /dev/raw/raw7 1,000 UNDOTBS1 /dev/raw/raw10 1,000 UNDOTBS2 /dev/raw/raw11 1,000 USERS /dev/raw/raw8 500
select NAME, BYTES/1024/1024 MB from V$TEMPFILE;
SQL> col NAME form a20 SQL> col MB form 999,999 SQL> select NAME, BYTES/1024/1024 MB from V$TEMPFILE; NAME MB -------------------- -------- /dev/raw/raw9 699
select NAME from V$CONTROLFILE;
SQL> col NAME form a20 SQL> select NAME from V$CONTROLFILE; NAME -------------------- /dev/raw/raw12 /dev/raw/raw13
select GROUP#, MEMBER from V$LOGFILE;
SQL> col MEMBER form a20 SQL> select GROUP#, MEMBER from V$LOGFILE; GROUP# MEMBER ---------- -------------------- 1 /dev/raw/raw14 2 /dev/raw/raw15 3 /dev/raw/raw16 4 /dev/raw/raw17 5 /dev/raw/raw18 6 /dev/raw/raw19 6 rows selected.
B) Archive 모드 확인
archive log list;
SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 18 Next log sequence to archive 20 Current log sequence 20
C) Data File 이관 준비
backup as copy database format '+DATA';
[racdb1:/home/oracle]> rman target / Recovery Manager: Release 11.2.0.4.0 - Production on Thu Apr 16 11:32:09 2020 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. connected to target database: RACDB (DBID=1035336379) RMAN> backup as copy database format '+DATA'; Starting backup at 20/04/16 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=23 instance=racdb1 device type=DISK channel ORA_DISK_1: starting datafile copy input datafile file number=00001 name=/dev/raw/raw6 output file name=+DATA/racdb/datafile/system.256.1037878345 tag=TAG20200416T113220 RECID=1 STAMP=1037878349 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15 channel ORA_DISK_1: starting datafile copy input datafile file number=00002 name=/dev/raw/raw7 output file name=+DATA/racdb/datafile/sysaux.257.1037878355 tag=TAG20200416T113220 RECID=2 STAMP=1037878361 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:07 channel ORA_DISK_1: starting datafile copy input datafile file number=00003 name=/dev/raw/raw10 output file name=+DATA/racdb/datafile/undotbs1.258.1037878363 tag=TAG20200416T113220 RECID=3 STAMP=1037878368 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:07 channel ORA_DISK_1: starting datafile copy input datafile file number=00004 name=/dev/raw/raw11 output file name=+DATA/racdb/datafile/undotbs2.259.1037878371 tag=TAG20200416T113220 RECID=4 STAMP=1037878376 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:07 channel ORA_DISK_1: starting datafile copy input datafile file number=00005 name=/dev/raw/raw8 output file name=+DATA/racdb/datafile/users.260.1037878377 tag=TAG20200416T113220 RECID=5 STAMP=1037878380 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:07 channel ORA_DISK_1: starting datafile copy copying current control file output file name=+DATA/racdb/controlfile/backup.261.1037878385 tag=TAG20200416T113220 RECID=6 STAMP=1037878385 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01 channel ORA_DISK_1: starting full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set including current SPFILE in backup set channel ORA_DISK_1: starting piece 1 at 20/04/16 channel ORA_DISK_1: finished piece 1 at 20/04/16 piece handle=+DATA/racdb/backupset/2020_04_16/nnsnf0_tag20200416t113220_0.262.1037878387 tag=TAG20200416T113220 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 Finished backup at 20/04/16 RMAN> exit Recovery Manager complete.
alter system set db_recovery_file_dest='+FRA' sid='*'; alter system set db_create_file_dest='+DATA' sid='*';
SQL> alter system set db_recovery_file_dest='+FRA' sid='*'; System altered. SQL> alter system set db_create_file_dest='+DATA' sid='*'; System altered.
D) 파라미터 파일 ASM으로 이관
create pfile='$ORACLE_HOME/dbs/initracdb.ora' from spfile; create spfile='+DATA/RACDB/spfileracdb.ora' from pfile='$ORACLE_HOME/dbs/initracdb.ora';
SQL> create pfile='$ORACLE_HOME/dbs/initracdb.ora' from spfile; File created. SQL> create spfile='+DATA/RACDB/spfileracdb.ora' from pfile='$ORACLE_HOME/dbs/initracdb.ora'; File created.
srvctl modify database -d racdb -p +DATA/RACDB/spfileracdb.ora mv $DB_HOME/dbs/initracdb1.ora $DB_HOME/dbs/initracdb1.ora.raw echo "spfile='+DATA/RACDB/spfileracdb.ora'" > $DB_HOME/dbs/initracdb1.ora
[racdb1:/home/oracle]> srvctl modify database -d racdb -p +DATA/RACDB/spfileracdb.ora [racdb1:/home/oracle]> mv $DB_HOME/dbs/initracdb1.ora $DB_HOME/dbs/initracdb1.ora.raw [racdb1:/home/oracle]> echo "spfile='+DATA/RACDB/spfileracdb.ora'" > $DB_HOME/dbs/initracdb1.ora [racdb1:/home/oracle]> cat $DB_HOME/dbs/initracdb1.ora spfile='+DATA/RACDB/spfileracdb.ora'
mv $DB_HOME/dbs/initracdb2.ora $DB_HOME/dbs/initracdb2.ora.raw echo "spfile='+DATA/RACDB/spfileracdb.ora'" > $DB_HOME/dbs/initracdb2.ora
[racdb2:/home/oracle]> mv $DB_HOME/dbs/initracdb2.ora $DB_HOME/dbs/initracdb2.ora.raw [racdb2:/home/oracle]> echo "spfile='+DATA/RACDB/spfileracdb.ora'" > $DB_HOME/dbs/initracdb2.ora [racdb2:/home/oracle]> cat $DB_HOME/dbs/initracdb2.ora spfile='+DATA/RACDB/spfileracdb.ora'
srvctl stop database -d racdb -o immediate srvctl start instance -d racdb -i racdb1 -o mount
[racdb1:/home/oracle]> srvctl stop database -d racdb -o immediate [racdb1:/home/oracle]> srvctl start instance -d racdb -i racdb1 -o mount [racdb1:/home/oracle]> crsctl stat res -t -------------------------------------------------------------------------------- NAME TARGET STATE SERVER STATE_DETAILS -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.LISTENER.lsnr ONLINE ONLINE rac1 ONLINE ONLINE rac2 ora.gsd OFFLINE OFFLINE rac1 OFFLINE OFFLINE rac2 ora.net1.network ONLINE ONLINE rac1 ONLINE ONLINE rac2 ora.ons ONLINE ONLINE rac1 ONLINE ONLINE rac2 -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.LISTENER_SCAN1.lsnr 1 ONLINE ONLINE rac2 ora.LISTENER_SCAN2.lsnr 1 ONLINE ONLINE rac1 ora.LISTENER_SCAN3.lsnr 1 ONLINE ONLINE rac1 ora.cvu 1 ONLINE ONLINE rac1 ora.oc4j 1 ONLINE ONLINE rac1 ora.rac1.vip 1 ONLINE ONLINE rac1 ora.rac2.vip 1 ONLINE ONLINE rac2 ora.racdb.db 1 ONLINE INTERMEDIATE rac1 Mounted (Closed) 2 OFFLINE OFFLINE Instance Shutdown ora.scan1.vip 1 ONLINE ONLINE rac2 ora.scan2.vip 1 ONLINE ONLINE rac1 ora.scan3.vip 1 ONLINE ONLINE rac1
ASM 영역으로 이관된 파라미터 파일을 적용하기 위해 데이터베이스를 재기동해야 합니다.
우선은 다른 파일들도 이관을 해야 하므로 1번 노드의 데이터베이스만 기동합니다.
E) 컨트롤 파일 ASM으로 이관
alter system set control_files='+DATA','+FRA' sid='*' scope=spfile; startup force nomount;
SQL> alter system set control_files='+DATA','+FRA' sid='*' scope=spfile; System altered. SQL> startup force nomount; ORACLE instance started. Total System Global Area 3206836224 bytes Fixed Size 2257520 bytes Variable Size 721423760 bytes Database Buffers 2466250752 bytes Redo Buffers 16904192 bytes
Raw Device에 있는 컨트롤 파일을 이관하기 위해 컨트롤 파일의 위치 파라미터를 수정하고, 데이터베이스를 No Mount 모드로 전환합니다.
restore controlfile from '/dev/raw/raw12'; alter database mount;
[oracle@rac1 ~]$ rman target / Recovery Manager: Release 11.2.0.4.0 - Production on Thu Apr 16 11:37:55 2020 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. connected to target database: RACDB (not mounted) RMAN> restore controlfile from '/dev/raw/raw12'; Starting restore at 20/04/16 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=141 instance=racdb1 device type=DISK channel ORA_DISK_1: copied control file copy output file name=+DATA/racdb/controlfile/current.264.1037878683 output file name=+FRA/racdb/controlfile/current.256.1037878683 Finished restore at 20/04/16 RMAN> alter database mount; database mounted released channel: ORA_DISK_1
F) 데이터 파일 ASM 복제본으로 이관
switch database to copy; recover database; alter database open; shutdown immediate
RMAN> switch database to copy; datafile 1 switched to datafile copy "+DATA/racdb/datafile/system.256.1037878345" datafile 2 switched to datafile copy "+DATA/racdb/datafile/sysaux.257.1037878355" datafile 3 switched to datafile copy "+DATA/racdb/datafile/undotbs1.258.1037878363" datafile 4 switched to datafile copy "+DATA/racdb/datafile/undotbs2.259.1037878371" datafile 5 switched to datafile copy "+DATA/racdb/datafile/users.260.1037878377" RMAN> recover database; Starting recover at 20/04/16 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=141 instance=racdb1 device type=DISK starting media recovery media recovery complete, elapsed time: 00:00:00 Finished recover at 20/04/16 RMAN> alter database open; database opened RMAN> shutdown immediate using target database control file instead of recovery catalog database closed database dismounted Oracle instance shut down RMAN> exit Recovery Manager complete.
srvctl start database -d racdb
[racdb1:/home/oracle]> srvctl start database -d racdb [racdb1:/home/oracle]> crsctl stat res -t -------------------------------------------------------------------------------- NAME TARGET STATE SERVER STATE_DETAILS -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.CRS.dg ONLINE ONLINE rac1 ONLINE ONLINE rac2 ora.DATA.dg ONLINE ONLINE rac1 ONLINE ONLINE rac2 ora.FRA.dg ONLINE ONLINE rac1 ONLINE ONLINE rac2 ora.LISTENER.lsnr ONLINE ONLINE rac1 ONLINE ONLINE rac2 ora.asm ONLINE ONLINE rac1 Started ONLINE ONLINE rac2 Started ora.gsd OFFLINE OFFLINE rac1 OFFLINE OFFLINE rac2 ora.net1.network ONLINE ONLINE rac1 ONLINE ONLINE rac2 ora.ons ONLINE ONLINE rac1 ONLINE ONLINE rac2 -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.LISTENER_SCAN1.lsnr 1 ONLINE ONLINE rac2 ora.LISTENER_SCAN2.lsnr 1 ONLINE ONLINE rac1 ora.LISTENER_SCAN3.lsnr 1 ONLINE ONLINE rac1 ora.cvu 1 ONLINE ONLINE rac1 ora.oc4j 1 ONLINE ONLINE rac1 ora.rac1.vip 1 ONLINE ONLINE rac1 ora.rac2.vip 1 ONLINE ONLINE rac2 ora.racdb.db 1 ONLINE ONLINE rac1 Open 2 ONLINE ONLINE rac2 Open ora.scan1.vip 1 ONLINE ONLINE rac2 ora.scan2.vip 1 ONLINE ONLINE rac1 ora.scan3.vip 1 ONLINE ONLINE rac1
alter database tempfile '/dev/raw/raw9' drop; alter tablespace TEMP add tempfile size 100m autoextend on maxsize 1G;
SQL> alter database tempfile '/dev/raw/raw9' drop; Database altered. SQL> alter tablespace TEMP add tempfile size 100m autoextend on maxsize 1G; Tablespace altered. SQL> col NAME form a50 SQL> select NAME from V$TEMPFILE; NAME -------------------------------------------------- +DATA/racdb/tempfile/temp.265.1037878839
G) ASM 영역으로 Redo Log 이관
alter database add logfile member '+DATA' to group 1; alter database add logfile member '+DATA' to group 2; alter database add logfile member '+DATA' to group 3; alter database add logfile member '+DATA' to group 4; alter database add logfile member '+DATA' to group 5; alter database add logfile member '+DATA' to group 6; alter database add logfile member '+FRA' to group 1; alter database add logfile member '+FRA' to group 2; alter database add logfile member '+FRA' to group 3; alter database add logfile member '+FRA' to group 4; alter database add logfile member '+FRA' to group 5; alter database add logfile member '+FRA' to group 6;
SQL> alter database add logfile member '+DATA' to group 1; Database altered. SQL> alter database add logfile member '+DATA' to group 2; Database altered. SQL> alter database add logfile member '+DATA' to group 3; Database altered. SQL> alter database add logfile member '+DATA' to group 4; Database altered. SQL> alter database add logfile member '+DATA' to group 5; Database altered. SQL> alter database add logfile member '+DATA' to group 6; Database altered. SQL> alter database add logfile member '+FRA' to group 1; Database altered. SQL> alter database add logfile member '+FRA' to group 2; Database altered. SQL> alter database add logfile member '+FRA' to group 3; Database altered. SQL> alter database add logfile member '+FRA' to group 4; Database altered. SQL> alter database add logfile member '+FRA' to group 5; Database altered. SQL> alter database add logfile member '+FRA' to group 6; Database altered. SQL> set lines 200 SQL> set pages 100 SQL> col MEMBER form a50 SQL> col MEMBER form a50 SQL> col LOG_STATUS form a12 SQL> col FILE_STATUS form a12 SQL> select a.GROUP#, THREAD#, a.STATUS file_status, b.STATUS log_status, MEMBER 2 from V$LOGFILE a, V$LOG b 3 where a.GROUP# = b.GROUP# 4 order by GROUP#, MEMBER; GROUP# THREAD# FILE_STATUS LOG_STATUS MEMBER ---------- ---------- ------------ ------------ -------------------------------------------------- 1 1 INVALID INACTIVE +DATA/racdb/onlinelog/group_1.266.1037879561 1 1 INVALID INACTIVE +FRA/racdb/onlinelog/group_1.257.1037879581 1 1 INACTIVE /dev/raw/raw14 2 1 INVALID CURRENT +DATA/racdb/onlinelog/group_2.267.1037879565 2 1 INVALID CURRENT +FRA/racdb/onlinelog/group_2.258.1037879585 2 1 CURRENT /dev/raw/raw15 3 1 INVALID INACTIVE +DATA/racdb/onlinelog/group_3.268.1037879569 3 1 INVALID INACTIVE +FRA/racdb/onlinelog/group_3.259.1037879587 3 1 INACTIVE /dev/raw/raw16 4 2 INVALID INACTIVE +DATA/racdb/onlinelog/group_4.269.1037879571 4 2 INVALID INACTIVE +FRA/racdb/onlinelog/group_4.260.1037879591 4 2 INACTIVE /dev/raw/raw17 5 2 INVALID INACTIVE +DATA/racdb/onlinelog/group_5.270.1037879575 5 2 INVALID INACTIVE +FRA/racdb/onlinelog/group_5.261.1037879593 5 2 INACTIVE /dev/raw/raw18 6 2 INVALID CURRENT +DATA/racdb/onlinelog/group_6.271.1037879579 6 2 INVALID CURRENT +FRA/racdb/onlinelog/group_6.262.1037879597 6 2 CURRENT /dev/raw/raw19 18 rows selected.
alter database drop logfile member '/dev/raw/raw14'; alter database drop logfile member '/dev/raw/raw15'; alter database drop logfile member '/dev/raw/raw16';
SQL> alter database drop logfile member '/dev/raw/raw14'; alter database drop logfile member '/dev/raw/raw14' * ERROR at line 1: ORA-00362: member is required to form a valid logfile in group 1 ORA-01517: log member: '/dev/raw/raw14' SQL> alter system switch logfile; System altered. SQL> alter system switch logfile; System altered. SQL> select a.GROUP#, THREAD#, a.STATUS file_status, b.STATUS log_status, MEMBER 2 from V$LOGFILE a, V$LOG b 3 where a.GROUP# = b.GROUP# 4 order by GROUP#, MEMBER; GROUP# THREAD# FILE_STATUS LOG_STATUS MEMBER ---------- ---------- ------------ ------------ -------------------------------------------------- 1 1 CURRENT +DATA/racdb/onlinelog/group_1.266.1037879561 1 1 CURRENT +FRA/racdb/onlinelog/group_1.257.1037879581 1 1 CURRENT /dev/raw/raw14 2 1 INVALID ACTIVE +DATA/racdb/onlinelog/group_2.267.1037879565 2 1 INVALID ACTIVE +FRA/racdb/onlinelog/group_2.258.1037879585 2 1 ACTIVE /dev/raw/raw15 3 1 ACTIVE +DATA/racdb/onlinelog/group_3.268.1037879569 3 1 ACTIVE +FRA/racdb/onlinelog/group_3.259.1037879587 3 1 ACTIVE /dev/raw/raw16 4 2 INVALID INACTIVE +DATA/racdb/onlinelog/group_4.269.1037879571 4 2 INVALID INACTIVE +FRA/racdb/onlinelog/group_4.260.1037879591 4 2 INACTIVE /dev/raw/raw17 5 2 INVALID INACTIVE +DATA/racdb/onlinelog/group_5.270.1037879575 5 2 INVALID INACTIVE +FRA/racdb/onlinelog/group_5.261.1037879593 5 2 INACTIVE /dev/raw/raw18 6 2 INVALID CURRENT +DATA/racdb/onlinelog/group_6.271.1037879579 6 2 INVALID CURRENT +FRA/racdb/onlinelog/group_6.262.1037879597 6 2 CURRENT /dev/raw/raw19 18 rows selected. SQL> alter database drop logfile member '/dev/raw/raw14'; alter database drop logfile member '/dev/raw/raw14' * ERROR at line 1: ORA-01609: log 1 is the current log for thread 1 - cannot drop members ORA-00312: online log 1 thread 1: '/dev/raw/raw14' ORA-00312: online log 1 thread 1: '+DATA/racdb/onlinelog/group_1.266.1037879561' ORA-00312: online log 1 thread 1: '+FRA/racdb/onlinelog/group_1.257.1037879581' SQL> alter system switch logfile; System altered. SQL> alter database drop logfile member '/dev/raw/raw14'; Database altered. SQL> alter system switch logfile; System altered. SQL> alter system switch logfile; System altered. SQL> alter database drop logfile member '/dev/raw/raw15'; Database altered. SQL> alter database drop logfile member '/dev/raw/raw16'; Database altered. SQL> select a.GROUP#, THREAD#, a.STATUS file_status, b.STATUS log_status, MEMBER 2 from V$LOGFILE a, V$LOG b 3 where a.GROUP# = b.GROUP# 4 order by GROUP#, MEMBER; GROUP# THREAD# FILE_STATUS LOG_STATUS MEMBER ---------- ---------- ------------ ------------ -------------------------------------------------- 1 1 CURRENT +DATA/racdb/onlinelog/group_1.266.1037879561 1 1 CURRENT +FRA/racdb/onlinelog/group_1.257.1037879581 2 1 ACTIVE +DATA/racdb/onlinelog/group_2.267.1037879565 2 1 ACTIVE +FRA/racdb/onlinelog/group_2.258.1037879585 3 1 ACTIVE +DATA/racdb/onlinelog/group_3.268.1037879569 3 1 ACTIVE +FRA/racdb/onlinelog/group_3.259.1037879587 4 2 INVALID INACTIVE +DATA/racdb/onlinelog/group_4.269.1037879571 4 2 INVALID INACTIVE +FRA/racdb/onlinelog/group_4.260.1037879591 4 2 INACTIVE /dev/raw/raw17 5 2 INVALID INACTIVE +DATA/racdb/onlinelog/group_5.270.1037879575 5 2 INVALID INACTIVE +FRA/racdb/onlinelog/group_5.261.1037879593 5 2 INACTIVE /dev/raw/raw18 6 2 INVALID CURRENT +DATA/racdb/onlinelog/group_6.271.1037879579 6 2 INVALID CURRENT +FRA/racdb/onlinelog/group_6.262.1037879597 6 2 CURRENT /dev/raw/raw19 15 rows selected.
alter database drop logfile member '/dev/raw/raw17'; alter database drop logfile member '/dev/raw/raw18'; alter database drop logfile member '/dev/raw/raw19';
SQL> alter system switch logfile; System altered. SQL> alter system switch logfile; System altered. SQL> alter database drop logfile member '/dev/raw/raw17'; Database altered. SQL> alter system switch logfile; System altered. SQL> alter database drop logfile member '/dev/raw/raw18'; Database altered. SQL> alter system switch logfile; System altered. SQL> alter database drop logfile member '/dev/raw/raw19'; Database altered. SQL> select a.GROUP#, THREAD#, a.STATUS file_status, b.STATUS log_status, MEMBER 2 from V$LOGFILE a, V$LOG b 3 where a.GROUP# = b.GROUP# 4 order by GROUP#, MEMBER; GROUP# THREAD# FILE_STATUS LOG_STATUS MEMBER ---------- ---------- ------------ ------------ -------------------------------------------------- 1 1 CURRENT +DATA/racdb/onlinelog/group_1.266.1037879561 1 1 CURRENT +FRA/racdb/onlinelog/group_1.257.1037879581 2 1 INACTIVE +DATA/racdb/onlinelog/group_2.267.1037879565 2 1 INACTIVE +FRA/racdb/onlinelog/group_2.258.1037879585 3 1 INACTIVE +DATA/racdb/onlinelog/group_3.268.1037879569 3 1 INACTIVE +FRA/racdb/onlinelog/group_3.259.1037879587 4 2 CURRENT +DATA/racdb/onlinelog/group_4.269.1037879571 4 2 CURRENT +FRA/racdb/onlinelog/group_4.260.1037879591 5 2 INACTIVE +DATA/racdb/onlinelog/group_5.270.1037879575 5 2 INACTIVE +FRA/racdb/onlinelog/group_5.261.1037879593 6 2 ACTIVE +DATA/racdb/onlinelog/group_6.271.1037879579 6 2 ACTIVE +FRA/racdb/onlinelog/group_6.262.1037879597 12 rows selected.
IX. 19c Grid 설치 및 클러스터 업그레이드
X. 19c Database 설치
XI. 19c Release Update 패치
XII. Database 업그레이드
{}