Azure Linux 가상 머신에 Oracle ASM 설정
적용 대상: ✔️ Linux VM
Azure VM(Virtual Machines)는 완전하게 구성할 수 있고 유연한 컴퓨팅 환경을 제공합니다. 이 자습서에서는 Oracle ASM(Automatic Storage Management) 설치 및 구성과 결합된 기본 Azure 가상 머신 배포에 대해 설명합니다. 다음 방법에 대해 설명합니다.
- Oracle 데이터베이스 VM 만들기 및 연결
- Oracle Automatic Storage Management 설치 및 구성
- Oracle Grid 인프라 설치 및 구성
- Oracle ASM 설치 초기화
- ASM에서 관리하는 Oracle DB 만들기
ASM의 가치 제안에 대한 개요는 Oracle의 설명서를 참조하세요.
CLI를 로컬로 설치하고 사용하도록 선택하는 경우 이 자습서에서는 Azure CLI 버전 2.0.4 이상을 실행해야 합니다. 버전을 확인하려면 az --version
을 실행합니다. 설치 또는 업그레이드해야 하는 경우 Azure CLI 설치를 참조하세요.
환경 준비
이 랩에서는 Azure에서 두 개의 VM을 사용합니다. asmXServer는 그리드 설정을 실행하는 데 사용되는 X Windows 서버를 실행하고, asmVM은 Oracle Database 및 ASM 설치를 호스트합니다. 이러한 가상 머신을 만드는 데 사용되는 Marketplace 이미지는 다음과 같습니다.
- asmVM: Oracle:oracle-database-19-3:oracle-database-19-0904:19.3.1
- asmXServer: MicrosoftWindowsDesktop:Windows-10:win10-22h2-pro-g2:19045.2604.230207
Unix 편집기 vi를 숙지하고 X Server에 대한 기초 지식을 갖추어야 합니다.
Azure에 로그인
Windows, Linux 또는 Azure Shell에서 기본 설정 셸을 엽니다.
az login 명령을 사용하여 Azure 구독에 로그인합니다. 그런 다음 화면에 나타나는 지침에 따릅니다.
$ az login
구독 이름 및/또는 ID를 확인하여 올바른 구독에 연결되어 있는지 확인합니다.
$ az account show
{ "environmentName": "XXXXX", "homeTenantId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "id": "<SUBSCRIPTION_ID>", "isDefault": true, "managedByTenants": [], "name": "<SUBSCRIPTION_NAME>", "state": "Enabled", "tenantId": XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "user": { "cloudShellID": true, "name": "aaaaa@bbbbb.com", "type": "user" } }
인증 키 생성
ssh에서 키 파일 기반 인증을 사용하여 Oracle Database VM에 연결합니다. 프라이빗 키 파일(id_rsa
)과 공개 키 파일(id_rsa.pub
)을 셸에 만들어야 합니다.
키 파일의 위치는 소스 시스템에 따라 달라집니다.
Windows: %USERPROFILE%.ssh Linux: ~/.ssh
없는 경우 새 키 파일 쌍을 만들 수 있습니다.
$ ssh-keygen -m PEM -t rsa -b 4096
.ssh 디렉터리 및 키 파일이 만들어집니다. 자세한 내용은 Azure에서 Linux VM에 대한 인증을 위한 SSH 키 만들기 및 관리를 참조 하세요.
리소스 그룹 만들기
리소스 그룹을 만들려면 az group create 명령을 사용합니다. Azure 리소스 그룹은 Azure 리소스가 배포 및 관리되는 논리적 컨테이너입니다.
$ az group create --name ASMOnAzureLab --location westus
네트워크 만들기 및 구성
가상 네트워크 만들기
다음 명령을 사용하여 이 랩에서 만드는 리소스를 호스트하는 가상 네트워크를 만듭니다.
$ az network vnet create \
--name asmVnet \
--resource-group ASMOnAzureLab \
--address-prefixes "10.0.0.0/16" \
--subnet-name asmSubnet1 \
--subnet-prefixes "10.0.0.0/24"
NSG(네트워크 보안 그룹) 만들기
NSG(네트워크 보안 그룹)를 만들어 가상 네트워크를 잠급니다.
$ az network nsg create \ --resource-group ASMOnAzureLab \ --name asmVnetNSG
가상 네트워크 내에서 통신을 허용하는 NSG 규칙을 만듭니다.
$ az network nsg rule create --resource-group ASMOnAzureLab --nsg-name asmVnetNSG \ --name asmAllowVnet \ --protocol '*' --direction inbound --priority 3400 \ --source-address-prefix 'VirtualNetwork' --source-port-range '*' \ --destination-address-prefix 'VirtualNetwork' --destination-port-range '*' --access allow
모든 인바운드 연결을 거부하는 NSG 규칙을 만듭니다.
$ az network nsg rule create \ --resource-group ASMOnAzureLab \ --nsg-name asmVnetNSG \ --name asmDenyAllInBound \ --protocol '*' --direction inbound --priority 3500 \ --source-address-prefix '*' --source-port-range '*' \ --destination-address-prefix '*' --destination-port-range '*' --access deny
서버를 호스트하는 서브넷에 NSG를 할당합니다.
$ az network vnet subnet update --resource-group ASMOnAzureLab --vnet-name asmVNet --name asmSubnet1 --network-security-group asmVnetNSG
Bastion 네트워크 만들기
Bastion 서브넷을 만듭니다. 서브넷 이름은 AzureBastionSubnet이어야 합니다.
$ az network vnet subnet create \ --resource-group ASMOnAzureLab \ --name AzureBastionSubnet \ --vnet-name asmVnet \ --address-prefixes 10.0.1.0/24
Bastion용 공용 IP를 만듭니다.
$ az network public-ip create \ --resource-group ASMOnAzureLab \ --name asmBastionIP \ --sku Standard
Azure Bastion 리소스를 만듭니다. 리소스를 배포하는 데 약 10분 정도 걸립니다.
$ az network bastion create \ --resource-group ASMOnAzureLab \ --name asmBastion \ --public-ip-address asmBastionIP \ --vnet-name asmVnet \ --sku Standard \ --enable-tunneling \ --enable-ip-connect true
X Server VM 만들기(asmXServer)
암호를 바꾸고, 다음 명령을 실행하여 X Server를 배포하는 Windows 워크스테이션 VM을 만듭니다.
$ az vm create \
--resource-group ASMOnAzureLab \
--name asmXServer \
--image MicrosoftWindowsDesktop:Windows-10:win10-22h2-pro-g2:19045.2604.230207 \
--size Standard_DS1_v2 \
--vnet-name asmVnet \
--subnet asmSubnet1 \
--public-ip-sku Standard \
--nsg "" \
--data-disk-delete-option Delete \
--os-disk-delete-option Delete \
--nic-delete-option Delete \
--admin-username azureuser \
--admin-password <ENTER_YOUR_PASSWORD_HERE>
asmXServer에 연결
Bastion을 사용하여 asmXServer에 연결합니다.
- Azure Portal에서 asmXServer로 이동합니다.
- 왼쪽 탐색 영역에서 개요 찾기
- 위쪽 메뉴에서 연결>Bastion을 차례로 선택합니다.
- Bastion 탭 선택
- Bastion 사용 선택
X Server를 실행하도록 asmXServer 준비
이 랩의 이후 단계에서는 X Server가 필요합니다. 다음 단계를 수행하여 X Server를 설치하고 시작합니다.
Windows용 Xming X Server를 ggXServer로 다운로드하고 모든 기본 옵션을 사용하여 설치
설치가 끝날 때 시작을 선택했는지 확인합니다.
시작 메뉴에서 "XLAUNCH" 애플리케이션 시작
여러 창을 선택합니다.
클라이언트 시작 안 함을 선택합니다.
액세스 제어 없음을 선택합니다.
Windows 방화벽을 통해 X Server를 허용하도록 액세스 허용을 선택합니다.
asmXServer VM을 다시 시작하는 경우 위의 2~6단계에 따라 X Server 애플리케이션을 다시 시작합니다.
Oracle Database VM 만들기
이 랩에서는 Oracle Database 19c 이미지에서 asmVM
가상 머신을 만듭니다. 다음을 실행하여 여러 데이터 디스크가 연결된 asmVM을 만듭니다. 기본 키 위치에 SSH 키가 없는 경우 이 명령은 SSH 키를 만듭니다. 특정 키 집합을 사용하려면 --ssh-key-value
옵션을 사용합니다. 인증 키 생성 섹션에서 SSH 키를 이미 만든 경우 해당 키가 사용됩니다.
새 가상 머신을 만들 때 매개 변수는 size
만든 가상 머신의 크기와 유형을 나타냅니다. 가상 머신을 만들기 위해 선택한 Azure 지역 및 구독 설정에 따라 일부 가상 머신 크기 및 유형을 사용할 수 없을 수 있습니다. 다음 명령은 Standard_D4_v5
랩에 필요한 최소 크기를 사용합니다. 가상 머신의 사양을 변경하려면 Azure VM 크기에서 사용 가능한 크기 중 하나를 선택합니다. 테스트를 위해 범용(D 시리즈) 가상 머신 유형 중에서 선택할 수 있습니다. 프로덕션 또는 파일럿 배포의 경우 메모리 최적화(E 시리즈 및 M 시리즈)가 더 적합합니다.
az vm create --resource-group ASMOnAzureLab \
--name asmVM \
--image Oracle:oracle-database-19-3:oracle-database-19-0904:19.3.1 \
--size Standard_D4_v5 \
--generate-ssh-keys \
--os-disk-size-gb 30 \
--data-disk-sizes-gb 20 40 40 \
--admin-username azureuser \
--vnet-name asmVnet \
--subnet asmSubnet1 \
--public-ip-sku Basic \
--nsg ""
asmVM에 연결
Bastion을 사용하여 asmVM에 연결합니다.
- Azure Portal에서 asmVM으로 이동
- 왼쪽 탐색 영역에서 개요 찾기
- 위쪽 메뉴에서 연결>Bastion을 차례로 선택합니다.
- Bastion 탭 선택
- Bastion 사용 선택
스왑 파일 만들기
이 랩에서는 랩 가상 머신에 스왑 파일이 필요합니다. 스왑 파일을 만들려면 다음 단계를 완료합니다.
디스크 및 탑재 지점 준비
이전에 가상 머신(asmVM)을 만들 때 스왑 파일을 배치하기 위해 20GB 데이터 디스크가 포함되었습니다. 다음 명령을 실행하여 이 20GB 디스크의 이름을 확인합니다. 대부분의 경우 /dev/sdb이지만 다른 경우 20G 디스크의 이름을 확인하고 다음 단계에 사용하는지 확인합니다. 마찬가지로, 40G 디스크의 이름(다음 출력에서 /dev/sdc 및 /dev/sdd라고 함)은 나중에 사용합니다.
$ sudo su - $ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdd 8:48 0 40G 0 disk ====> Data disk 2 (40GB) sdb 8:16 0 20G 0 disk ====> Swap file disk (20GB) sr0 11:0 1 628K 0 rom fd0 2:0 1 4K 0 disk sdc 8:32 0 40G 0 disk ====> Data disk 1 (40GB) sda 8:0 0 30G 0 disk ├─sda2 8:2 0 29G 0 part / ├─sda14 8:14 0 4M 0 part ├─sda15 8:15 0 495M 0 part /boot/efi └─sda1 8:1 0 500M 0 part /boot
다음 명령을 실행하여 스왑 파일 디스크에 파티션을 만들고 필요한 경우 디스크 이름(/dev/sdb)을 수정합니다.
$ parted /dev/sdb --script mklabel gpt mkpart xfspart xfs 0% 100%
만든 파티션의 이름을 확인합니다. 다음은 sdb1로 만들어진 것을 보여줍니다.
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdd 8:48 0 40G 0 disk sdb 8:16 0 20G 0 disk └─sdb1 8:17 0 20G 0 part ====> Newly created partition sr0 11:0 1 628K 0 rom fd0 2:0 1 4K 0 disk sdc 8:32 0 40G 0 disk sda 8:0 0 30G 0 disk ├─sda2 8:2 0 29G 0 part / ├─sda14 8:14 0 4M 0 part ├─sda15 8:15 0 495M 0 part /boot/efi └─sda1 8:1 0 500M 0 part /boot
다음 명령을 실행하여 파일 시스템(xfs)을 초기화하고 드라이브를 /swap으로 탑재합니다.
$ mkfs.xfs /dev/sdb1 $ partprobe /dev/sdb1 $ mkdir /swap $ mount /dev/sdb1 /swap
다음 명령을 실행합니다.
$ blkid
출력에서 스왑 디스크 파티션(/dev/sdb1)에 대한 줄이 표시됩니다. UUID를 적어 둡니다.
/dev/sdb1: UUID="00000000-0000-0000-0000-000000000000" TYPE="xfs" PARTLABEL="xfspart" PARTUUID="...."
이전 단계의 UUID를 다음 명령에 붙여넣고 실행합니다. 이 명령은 시스템을 다시 부팅할 때마다 드라이브가 올바르게 탑재되도록 합니다.
$ echo "UUID=00000000-0000-0000-0000-000000000000 /swap xfs defaults,nofail 1 2" >> /etc/fstab
스왑 파일 구성
스왑 파일(16GB)을 만들고 할당합니다. 이 명령을 실행하는 데 몇 분 정도 걸립니다.
$ dd if=/dev/zero of=/swap/swapfile bs=1M count=16384
사용 권한을 수정하고 교환 파일을 할당합니다.
$ chmod 600 /swap/swapfile $ mkswap /swap/swapfile $ swapon /swap/swapfile
스왑 파일이 생성되었는지 확인합니다.
$ cat /proc/swaps
Filename Type Size Used Priority /swap/swapfile file 16777212 0 -2
다시 부팅할 때 스왑 파일 설정이 유지되는지 확인합니다.
$ echo "/swap/swapfile none swap sw 0 0" >> /etc/fstab
Oracle ASM 설치
Oracle ASM을 설치하려면 다음 단계를 완료합니다.
Oracle ASM을 설치하는 방법에 대한 자세한 내용은 Oracle Linux 7용 Oracle ASMLib 다운로드를 참조하세요.
아직 설치하지 않은 경우 루트로 로그인하여 ASM 설치를 계속합니다.
$ sudo su -
다음 명령을 실행하여 Oracle ASM 구성 요소를 설치합니다.
$ yum list | grep oracleasm
명령의 출력은 다음과 같습니다.
kmod-oracleasm.x86_64 2.0.8-28.0.1.el7 ol7_latest oracleasm-support.x86_64 2.1.11-2.el7 ol7_latest
다음 명령을 실행하여 설치를 계속합니다.
$ yum -y install kmod-oracleasm.x86_64 $ yum -y install oracleasm-support.x86_64 $ wget https://download.oracle.com/otn_software/asmlib/oracleasmlib-2.0.15-1.el7.x86_64.rpm $ yum -y install oracleasmlib-2.0.15-1.el7.x86_64.rpm $ rm -f oracleasmlib-2.0.15-1.el7.x86_64.rpm
Oracle ASM이 설치되어 있는지 확인합니다.
$ rpm -qa |grep oracleasm
이 명령의 출력은 다음 구성 요소를 나열해야 합니다.
oracleasm-support-2.1.11-2.el7.x86_64 oracleasmlib-2.0.15-1.el7.x86_64 kmod-oracleasm-2.0.8-28.0.1.el7.x86_64
ASM을 사용하려면 특정 사용자 및 역할이 올바르게 작동해야 합니다. 다음 명령은 필수 구성 요소 사용자 계정 및 그룹을 만듭니다.
$ groupadd -g 54345 asmadmin $ groupadd -g 54346 asmdba $ groupadd -g 54347 asmoper $ usermod -a -g oinstall -G oinstall,dba,asmdba,asmadmin,asmoper oracle
사용자 및 그룹이 올바르게 만들어졌는지 확인합니다.
$ grep oracle /etc/group
이 명령의 출력에서 다음과 같은 사용자 및 그룹이 나열됩니다.
oinstall:x:54321:oracle dba:x:54322:oracle oper:x:54323:oracle backupdba:x:54324:oracle dgdba:x:54325:oracle kmdba:x:54326:oracle racdba:x:54330:oracle asmadmin:x:54345:oracle asmdba:x:54346:oracle asmoper:x:54347:oracle
앱 폴더를 만들고 소유자를 변경합니다.
$ mkdir /u01/app/grid $ chown oracle:oinstall /u01/app/grid
Oracle ASM 설정
이 자습서에서는 기본 사용자가 oracle이고, 기본 그룹은 asmadmin입니다. oracle 사용자가 asmadmin 그룹에 속하는지 확인합니다.
$ groups oracle
명령의 출력은 다음과 같습니다.
oracle : oinstall dba oper backupdba dgdba kmdba racdba asmadmin asmdba asmoper
Oracle ASM을 설정하려면 다음 단계를 완료합니다.
다음 명령을 사용하고 프롬프트에 대해 다음 대답을 제공하여 Oracle ASM 라이브러리 드라이버를 설정합니다.
$ /usr/sbin/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]: y Writing Oracle ASM library driver configuration: done
참고 항목
/usr/sbin/oracleasm configure -i
명령은 기본적으로 ASM 드라이버 액세스 포인트를 소유하는 사용자 및 그룹을 요청합니다. 데이터베이스는oracle
사용자 및asmadmin
그룹으로 실행됩니다. 부팅 시 Oracle ASM 라이브러리 드라이버 시작 = 'y'를 선택하면 시스템에서 부팅 시 항상 모듈을 로드하고 파일 시스템을 탑재합니다. 부팅 시 Oracle ASM 디스크 검색 = 'y'를 선택하면 시스템에서 부팅 시 항상 Oracle ASM 디스크를 검사합니다. 마지막 두 구성은 매우 중요합니다. 그렇지 않으면 디스크 다시 부팅 문제가 발생합니다.디스크 구성을 확인합니다.
$ cat /proc/partitions
이 명령의 출력은 다음 사용 가능한 디스크 목록과 유사해야 합니다.
major minor #blocks name 8 16 20971520 sdb 8 17 20969472 sdb1 8 32 41943040 sdc 8 48 41943040 sdd 8 0 31457280 sda 8 1 512000 sda1 8 2 30431232 sda2 8 14 4096 sda14 8 15 506880 sda15 11 0 628 sr0 2 0 4 fd0
다음 명령을 실행하고 표시되는 메시지에 답하여 /dev/sdc 디스크를 포맷합니다.
- 새 파티션의 경우 n
- 주 파티션의 경우 p
- 첫 번째 파티션을 선택하려면 1
- 기본 첫 번째 섹터에 대해 Enter 키를 누릅니다.
- 기본 마지막 섹터에 대해 Enter 키를 누릅니다.
- 파티션 테이블에 변경 내용을 쓰려면 w 키를 누름
$ fdisk /dev/sdc
fdisk
명령의 출력은 다음 출력과 같습니다.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 0x947f0a91. The device presents a logical sector size that is smaller than the physical sector size. Aligning to a physical sector (or optimal I/O) size boundary is recommended, or performance can be impacted. 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-104857599, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-104857599, default 104857599): Using default value 104857599 Partition 1 of type Linux and of size 50 GiB is set Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
에 대한 이전 명령을 반복합니다.
fdisk
/dev/sdd
$ fdisk /dev/sdd
디스크 구성을 확인합니다.
$ cat /proc/partitions
명령의 출력은 다음 출력과 같습니다.
major minor #blocks name 8 16 20971520 sdb 8 17 20969472 sdb1 8 32 41943040 sdc 8 33 41942016 sdc1 8 48 41943040 sdd 8 49 41942016 sdd1 8 0 31457280 sda 8 1 512000 sda1 8 2 30431232 sda2 8 14 4096 sda14 8 15 506880 sda15 11 0 628 sr0 2 0 4 fd0
참고 항목
다음 구성에서는 이 문서에서 보여 주는 대로 정확한 명령을 사용하세요.
Oracle ASM 서비스 상태를 확인하고 Oracle ASM 서비스를 시작합니다.
$ oracleasm status
Checking if ASM is loaded: no Checking if /dev/oracleasm is mounted: no
$ 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
Oracle ASM 디스크를 만듭니다.
첫 번째 디스크를 만듭니다.
$ oracleasm createdisk VOL1 /dev/sdc1
명령의 출력은 다음과 같습니다.
Writing disk header: done Instantiating disk: done
나머지 디스크를 만듭니다.
$ oracleasm createdisk VOL2 /dev/sdd1
참고 항목
디스크는 ASMLib 설치에서 설명하는 프로세스를 사용하여 ASMLib용으로 표시됩니다. ASMLib는 디스크 검사라는 프로세스 중에 표시되는 디스크를 알아봅니다. ASMLib는 시작할 때마다 이 검사를 실행합니다. 시스템 관리자는
oracleasm scandisks
명령을 통해 강제로 검사할 수도 있습니다. ASMLib는 시스템의 각 디스크를 검사합니다. 디스크가 ASMLib용으로 표시되었는지 확인합니다. 표시된 모든 디스크는 ASMLib에서 사용할 수 있습니다. 자세한 내용은 Oracle ASMLIB를 사용하여 스토리지 디바이스 경로 지속성 구성 및 다중 경로 디스크에서 Oracle ASMLib 구성 문서를 참조하세요.Oracle ASM 디스크를 나열합니다.
$ oracleasm scandisks $ oracleasm listdisks
이 명령의 출력은 다음 Oracle ASM 디스크를 나열합니다.
VOL1 VOL2
루트 및 oracle 사용자의 암호를 변경합니다. 나중에 설치하는 동안 사용하도록 이러한 새 암호를 기록합니다.
$ passwd oracle $ passwd root
폴더 권한을 변경합니다.
$ chmod -R 775 /opt $ chown oracle:oinstall /opt $ chown oracle:oinstall /dev/sdc1 $ chown oracle:oinstall /dev/sdd1 $ chmod 600 /dev/sdc1 $ chmod 600 /dev/sdd1
Oracle Grid Infrastructure 다운로드 및 준비
Oracle Grid Infrastructure 소프트웨어를 다운로드 및 준비하려면 다음 단계를 완료합니다.
Oracle ASM 다운로드 페이지에서 Oracle Grid Infrastructure를 다운로드합니다. Bastion을 사용하여 이러한 파일을 asmVM에 복사하므로 Azure CLI가 다운로드 위치에 설치되어 있어야 합니다. 터널을 사용하므로 이 단계는 Azure Cloud Shell에서 작동하지 않으며 워크스테이션에서 실행해야 합니다.
Oracle Database 19c Grid Infrastructure(19.3) for Linux x86-64라는 제목의 다운로드 아래에서 .zip 파일을 다운로드합니다.
.zip 파일이 클라이언트 컴퓨터에 다운로드되면 SCP(보안 복사 프로토콜)를 사용하여 파일을 VM에 복사합니다.
scp
명령이 .zip 파일의 올바른 경로를 가리키는지 확인합니다.로그인하고 Azure에 로그인에 설명된 대로 필요에 따라 올바른 구독을 사용하고 있는지 확인합니다.
다음 PowerShell 명령을 사용하여 대상 VM에 대한 터널을 엽니다.
$asmVMid=$(az vm show --resource-group ASMOnAzureLab --name asmVM --query 'id' --output tsv) az network bastion tunnel --name asmBastion --resource-group ASMOnAzureLab --target-resource-id $asmVMid --resource-port 22 --port 57500
첫 번째 명령 프롬프트를 실행 중인 상태로 두고, 두 번째 명령 프롬프트를 열어 터널을 통해 대상 VM에 연결합니다. 이 두 번째 명령 프롬프트 창에서 다음 명령을 사용하여 파일을 로컬 컴퓨터에서 대상 VM으로 업로드할 수 있습니다. asmVM에 액세스하기 위한 올바른
id_rsa
키 파일은 디렉터리에 있어야 합니다.ssh
. 그렇지 않으면 매개 변수scp
를 사용하여-i
다른 키 파일을 가리킬 수 있습니다.scp -P 57500 "LINUX.X64_193000_grid_home.zip" azureuser@127.0.0.1:.
업로드가 완료되면 .zip 파일을 /opt 폴더로 이동하고 파일 소유자를 변경하기 위해 Bastion을 사용하여 Azure의 asmVM에 SSH로 다시 연결합니다.
$ sudo su - $ mv /home/azureuser/*.zip /opt $ cd /opt $ chown oracle:oinstall LINUX.X64_193000_grid_home.zip
파일의 압축을 풉니다(아직 설치되지 않은 경우 Linux 압축 풀기 도구 설치).
$ yum install unzip $ unzip LINUX.X64_193000_grid_home.zip -d grid
권한을 변경합니다.
$ chown -R oracle:oinstall /opt/grid
정리
$ rm -f LINUX.X64_193000_grid_home.zip
루트를 종료합니다.
$ exit
Oracle Grid Infrastructure 설치
Grid Infrastructure를 설치하려면 다음 단계를 완료합니다.
oracle로 로그인합니다. (로그인할 때 암호 입력 화면이 나타나지 않아야 합니다.)
참고 항목
설치를 시작하기 전에 X Server가 시작되었는지 확인합니다.
$ sudo su - oracle $ export DISPLAY=10.0.0.4:0.0 $ cd /opt/grid $ ./gridSetup.sh
Oracle Grid Infrastructure 19c 설치 관리자가 asmXServer VM에서 열립니다. (설치 관리자를 시작하는 데 몇 분 정도 걸릴 수 있습니다.)
구성 옵션 선택 페이지에서 독립 실행형 서버에 대한 Oracle Grid Infrastructure 구성(Oracle 다시 시작)을 선택합니다.
ASM 디스크 그룹 만들기 페이지에서,
- 검색 경로 변경 선택
- 검색 경로를 /dev/oracleasm/disks/로 업데이트합니다.
- DATA 디스크 그룹에 대한 이름을 입력합니다.
- 중복성에서 외부 선택
- 할당 단위 크기에서 4를 선택합니다.
- 디스크 선택에서 /dev/oracleasm/disks/VOL1을 선택합니다.
- 다음을 선택합니다.
ASM 암호 지정 페이지에서 이러한 계정에 대해 동일한 암호 사용을 선택하고 암호를 입력합니다.
관리 옵션 지정 페이지에서 EM Cloud Control을 구성하는 옵션이 선택되지 않은지 확인합니다. 다음을 선택하여 작업을 계속할 수 있습니다.
권한있는 운영 체제 그룹 페이지에서 기본 설정을 사용합니다. 다음을 선택하여 작업을 계속할 수 있습니다.
설치 위치 지정 페이지에서 기본 설정을 사용합니다. 다음을 선택하여 작업을 계속할 수 있습니다.
루트 스크립트 실행 구성 페이지에서 구성 스크립트 자동으로 실행 확인란을 선택합니다. 그런 다음 "root" 사용자 자격 증명 사용 옵션을 선택하고 루트 사용자 암호를 입력합니다.
필수 구성 요소 확인 수행 페이지에서 오류로 인해 현재 설정이 실패합니다. 수정 및 다시 확인을 선택합니다.
[스크립트 수정] 대화 상자에서 [확인]을 선택합니다.
요약 페이지에서 선택한 설정을 검토한 다음, 을 선택합니다
Install
.구성 스크립트를 권한 있는 사용자로 실행해야 한다는 경고 대화 상자가 표시됩니다. 계속하려면 예를 선택합니다.
마침 페이지에서 닫기를 선택하여 설치를 완료합니다.
Oracle ASM 설정
Oracle ASM을 설정하려면 다음 단계를 완료합니다.
Bastion ssh 세션에서 asmVM에 oracle로 로그인했는지 확인합니다.
다음을 실행하여 컨텍스트를 설정합니다. 이전 명령에서 셸이 열려 있는 경우 이 단계를 건너뛸 수 있습니다.
$ sudo su - oracle $ export DISPLAY=10.0.0.4:0.0
Oracle Automatic Storage Management Configuration Assistant를 시작합니다.
$ cd /opt/grid/bin $ ./asmca
몇 분 후에 Oracle ASM Configuration Assistant 창이 asmXServer VM에서 열립니다.
트리의 디스크 그룹 아래에서 데이터를 선택하고 아래쪽에 있는 만들기 단추를 선택합니다.
디스크 그룹 만들기 대화 상자에서 다음을 수행합니다.
- 디스크 그룹 이름 FRA 입력
- 중복 옵션의 경우 외부(없음)를 선택합니다.
- 멤버 디스크 선택 아래에서 /dev/oracleasm/disks/VOL2를 선택합니다.
- 할당 단위 크기에서 4를 선택합니다.
- 확인을 선택하여 디스크 그룹 만들기
- 확인을 선택하여 확인 창을 닫습니다.
끝내기를 선택하여 ASM 구성 도우미를 닫습니다.
데이터베이스 생성
Oracle 데이터베이스 소프트웨어는 이미 Azure Marketplace 이미지에 설치되어 있습니다. 데이터베이스를 만들려면 다음 단계를 완료합니다.
컨텍스트가 oracle 사용자로 설정되어 있는지 확인합니다.
- 다음을 실행하여 컨텍스트를 설정합니다. 이전 명령에서 셸을 연 경우 이 단계가 필요하지 않을 수 있습니다.
$ sudo su - oracle $ export DISPLAY=10.0.0.4:0.0
Database Configuration Assistant 실행
$ cd /u01/app/oracle/product/19.0.0/dbhome_1/bin $ ./dbca
몇 초 후에 Database Configuration Assistant 창이 asmXServer VM에서 열립니다.
데이터베이스 작업 페이지에서 데이터베이스 만들기를 선택합니다.
생성 모드 페이지에서,
- 일반 구성이 선택되어 있는지 확인
- 데이터베이스 이름(asmdb)을 입력합니다.
- 스토리지 형식의 경우 ASM(자동 스토리지 관리)이 선택되어 있는지 확인합니다.
- 데이터베이스 파일 위치의 경우 데이터 위치 찾아보기 및 선택
- 빠른 복구 영역의 경우 FRA 위치를 찾아서 선택합니다.
- 관리 암호를 입력하고 암호 확인
- 컨테이너 데이터베이스가 선택된 대로 만들기 확인
- 플러그형 데이터베이스 이름 값(pasmdb)을 입력합니다.
요약 페이지에서 선택한 설정을 검토한 다음 마침을 선택하여 데이터베이스를 만듭니다. 데이터베이스를 만드는 데 10분 이상 걸릴 수 있습니다.
이제 데이터베이스가 만들어집니다. 마침 페이지에서 이 데이터베이스를 사용하고 암호를 변경하기 위해 더 많은 계정의 잠금을 해제하도록 선택할 수 있습니다. 이렇게 하려면 암호 관리를 선택합니다. 그렇지 않으면 닫기를 선택합니다.
asmXServer VM 삭제
asmXServer VM은 설정 중에만 사용됩니다. 이 랩 문서가 완료되면 안전하게 삭제할 수 있지만, Azure의 ASM 랩 설정은 그대로 유지합니다.
$ az vm delete --resource-group ASMOnAzureLab --name asmXServer --force-deletion yes
$ az network public-ip delete --resource-group ASMOnAzureLab --name asmXServerPublicIP
Azure의 ASM 랩 설정 삭제
Azure Marketplace의 Oracle DB 이미지에서 Oracle 자동 스토리지 관리를 구성했습니다. 이 환경이 더 이상 필요하지 않은 경우 다음 명령을 사용하여 리소스 그룹 및 관련된 모든 리소스를 제거할 수 있습니다.
$ az group delete --name ASMOnAzureLab
다음 단계
Oracle DB 설계 검토