< Lab >
Lab into : Oracle on Bare Metal Solution
실습: Oracle on Bare Metal Solution
- 베어 메탈 솔루션 서버에 문서 18c를 다운로드하여 설치
- Google 클라우드에서 연결하는 VPC 네트워크 구성
Deploying the Oracle on Bare Metal Solution
베어메탈 솔루션에 Oracle 배포
- 프로젝트 간 VPC 네트워크 피어링 구성
(사전 배포된 두 프로젝트 간에 VPC 네트워크 피어링을 구성하여
Oracle Database 19c 인스턴스가 피어링된 네트워크를 통해 전체 Google Cloud와 통신
두 VPC 네트워크에 겹치는 IP 서브넷 범위가 있는 경우 VPC 네트워크 피어링이 불가능)
- 두 개의 크롬 시크릿창을 연 후 qwiklabs-gcp로 시작하는 프로젝트를 선택
- Compute Engine - VM 인스턴스 클릭
- 배스천 VM을 호스팅하는 bms-bastin-host와 베어 메탈 서버를 호스팅하는 bms-rhel-instance 확인
+) bms-bastin-host의 프로젝트 ID : qwiklabs-gcp-04-35751a7f477d
+) bms-rhel-instance의 프로젝트 ID : qwiklabs-gcp-01-cbf919eeaef4 - 피어링 프로세스를 위해 배스천 VM과 베어 메탈 서버에 있는 프로젝트에서 VCP 네트워크를 클릭한 후 VPC 이름을 기록해 둠
+) bms-bastin-host의 VPC 이름 : bms-bastion-net
+) bms-rhel-instance의 VPC 이름 : bms-db-net - 배스천 VM이 있는 프로젝트에서 VPC 네트워크 피어링을 클릭한 다음 연결 만들기 클릭
- 베어 메탈 서버가 있는 프로젝트에서 VPC 네트워크 피어링을 클릭한 다음 연결 만들기 클릭
- 생성 확인
- Oracle Technology Network에서 Oracle Database 19c 설치 프로그램 다운로드
(Oracle Database 19c 설치 프로그램을 Bare Metal 서버에 배치)
- 배스천 VM이 있는 프로젝트에서 Compute Engine - VM 인스턴스 클릭 후 SSH 연결
- 새 크롬 브라우저 창을 열어서
Oracle Database 19c 다운로드 페이지의 19.3 - Enterprise Edition(Standard Edition 2도 포함) 에서
Linux x86-64용 ZIP 파일을 다운로드한 후 일시정지하고 다운로드 페이지에서 URL 문자열을 클립보드에 복사 - 배스천 VM의 SSH에서 다운로드를 완료하는 curl 명령을 사용해 다운로드
curl https://download.oracle.com/otn/linux/oracle19c/190000/LINUX.X64_193000_db_home.zip?AuthParam=1644684397_254861e1d2c85ad8856c579412bdb64d --output LINUX.X64_193000_db_home.zip
- 베어 메탈 서버가 있는 프로젝트에서 Compute Engine - VM 인스턴스를 클릭한 후 내부 IP 주소를 복사
+) 내부 IP 주소 : 10.1.1.2 - 배스천 VM의 SSH에서 환경 변수를 설정해 BMS_IP_ADDRESS를 베어 메탈 서버의 IP 주소로 변경
export BMSIP=10.1.1.2
- Secure Copy (scp) 명령을 실행해 설치 프로그램을 베어 메탈 서버로 이동
scp LINUX.X64_193000_db_home.zip oracle@$BMSIP:/u01/app/oracle/product/19.3.0/dbhome_1/LINUX.X64_193000_db_home.zip
- Bare Metal 서버에 Oracle Database 19c 인스턴스 설치
("oracle-toolkit"을 실행하여 사전 구축된 'bms-rhel-instance' 가상 머신에 Oracle Database 19c 인스턴스를 설치 및 구성)
- 배스천 VM SSH에서 베어 메탈 서버에 원격으로 로그인
ssh oracle@$BMSIP
- ORACLE_HOME 및 ORACLE_SID 를 포함하여 필요한 모든 환경 변수를 업데이트 후 활성 디렉토리 변경
source ~/.bash_profile cd /u01
- Oracle Database 19c 인스턴스를 설치하기 위해 사용자 정의된 "oracle toolkit"을 실행
ansible-playbook --connection=local /u01/oracle-toolkit/playbook/install_19c_database.yml
- 데이터베이스가 실행 중인지 확인 및 쿼리 실행
sqlplus / as sysdba select to_char(sysdate,'DD-MON-YYYY HH:MI:SS AM') as CURRENT_DATE_AND_TIME_UTC from dual;
- 데이터베이스 설치와 함께 제공되는 HR 사용자 및 HR 샘플 스키마를 활성화
alter session set container = pdborcl; @?/demo/schema/human_resources/hr_main.sql hr users temp $ORACLE_HOME/demo/schema/log/ connect hr/hr@//localhost:1521/pdborcl select table_name from user_tables;
- Google Cloud AI Platform에서 Oracle Database 19c 인스턴스에 대한 연결 확인
(지역 확장에 있는 것처럼 실행 중인 Oracle Database 19c 인스턴스가 있으므로
이 데이터베이스를 다른 GCP 서비스에서 사용할 수 있는지 확인하기 위해
TensorFlow에서 제공하는 Cloud AI Platform 노트북을 데이터베이스에 연결)
- 배스천 VM 프로젝트에서 VPC 네트워크 클릭 후 bms-bastion-net 항목의 첫 번째 열의 지역을 기록
+) Region : - AI Platfor에서 주피터 노트북을 클릭 후 새인스턴스 생성
- 새 주피터 노트북 인스턴스 대화 상자에서 2단계에서 확인한 지역을 선택
- 목록에 나타나는 첫 번째 페어링된 영역을 선택
- 하위 네트워크에 대해 bms-bastion-subnet을 선택하여 만들기 클릭
- Open JupyterLab을 클릭
- 주피터 노트북 실행기의 기타 섹션에서 터미널을 클릭
- 터미널 프롬프트에서 설치 스크립트와 기준 주피터 노트북을 다운로드
wget https://storage.googleapis.com/cloud-training/dbmigration/dbconx.sh wget https://storage.googleapis.com/cloud-training/dbmigration/CloudAI_Oracle_BMS.ipynb
- dbconx.sh 스크립트를 실행 가능 하게 만들려면 다음 명령을 실행 후 스크립트를 실행
dbconx.sh 스크립트 는 Oracle Instant Client(라이센스 승인이 필요하지 않음)를 다운로드 및 설치하고,
주요 환경 변수를 설정하고, 폴더를 정리
chmod +x dbconx.sh ./dbconx.sh
- 주피터 노트북 UI 왼쪽 메뉴에 있는 CloudAI_Oracle_BMS.ipynb 노트북을 더블 클릭
- 베어메탈 서버의 내부 IP 주소를 제공하여 노트북을 실행할 준비
- 주피터 노트북의 두 번째 셀에서 Bare Metal 서버의 IP 주소를 dbip 변수에 할당
- 필요한 모든 라이브러리가 로드되었는지 확인하기 위해
Restart Kernel 아이콘을 클릭한 다음 팝업에서 Restart 를 클릭하여 노트북 커널을 다시 시작 - 마우스를 첫 번째 셀로 이동한 다음 노트북 메뉴에서 실행 - 모든 셀 실행 으로 이동하여 전체 노트북 셀을 셀 단위로 실행
- 모든 단계가 완료되면 세 번째 셀의 출력에 직원 성, 작업 ID, 급여 및 근속 년수가 포함된 작은 테이블 형식 보고서가 표시되고
그 아래 네 번째 셀의 출력에는 근속 기간별 급여 분포를 보여주는 간단한 산점도가 표시됨