Azure Linux 가상 머신에 Oracle ASM 설정

적용 대상: ✔️ Linux VM

Azure 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에 로그인

  1. Windows, Linux 또는 Azure Shell에서 기본 설정 셸을 엽니다.

  2. az login 명령을 사용하여 Azure 구독에 로그인합니다. 그런 다음 화면에 나타나는 지침에 따릅니다.

    $ az login
    
  3. 구독 이름 및/또는 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(네트워크 보안 그룹) 만들기

  1. 가상 네트워크를 잠그는 데 사용할 NSG(네트워크 보안 그룹)를 만듭니다.

    $ az network nsg create \
      --resource-group ASMOnAzureLab \
      --name asmVnetNSG
    
  2. 가상 네트워크 내에서 통신을 허용하는 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
    
  3. 모든 인바운드 연결을 거부하는 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
    
  4. 서버를 호스트하는 서브넷에 NSG를 할당합니다.

    $ az network vnet subnet update --resource-group ASMOnAzureLab --vnet-name asmVNet --name asmSubnet1 --network-security-group asmVnetNSG
    

Bastion 네트워크 만들기

  1. Bastion 서브넷을 만듭니다. 서브넷 이름은 AzureBastionSubnet이어야 합니다.

    $ az network vnet subnet create  \
        --resource-group ASMOnAzureLab \
        --name AzureBastionSubnet \
        --vnet-name asmVnet \
        --address-prefixes 10.0.1.0/24
    
  2. Bastion용 공용 IP를 만듭니다.

    $ az network public-ip create \
        --resource-group ASMOnAzureLab \
        --name asmBastionIP \
        --sku Standard
    
  3. 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에 연결합니다.

  1. Azure Portal에서 asmXServer로 이동합니다.
  2. 왼쪽 블레이드의 개요로 이동합니다.
  3. 위쪽 메뉴에서 연결>Bastion을 차례로 선택합니다.
  4. Bastion 탭을 선택합니다.
  5. Bastion 사용을 클릭합니다.

X Server를 실행하도록 asmXServer 준비

이 랩의 이후 단계에서는 X Server가 필요합니다. 다음 단계를 수행하여 X Server를 설치하고 시작합니다.

  1. Xming X Server for WindowsggXServer에 다운로드하고 모든 기본 옵션을 사용하여 설치합니다.

  2. 설치가 끝나면 시작을 선택하지 않았는지 확인합니다.

  3. 시작 메뉴에서 "XLAUNCH" 애플리케이션을 시작합니다.

  4. 여러 창을 선택합니다.

    Screenshot of XLaunch wizard step 1.

  5. 클라이언트 시작 안 함을 선택합니다.

    Screenshot of XLaunch wizard step 2.

  6. 액세스 제어 없음을 선택합니다.

    Screenshot of XLaunch wizard step 3.

  7. Windows 방화벽을 통해 X Server를 허용하도록 액세스 허용을 선택합니다.

    Screenshot of XLaunch wizard step 4.

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에 연결합니다.

  1. Azure Portal에서 asmVM으로 이동합니다.
  2. 왼쪽 블레이드의 개요로 이동합니다.
  3. 위쪽 메뉴에서 연결>Bastion을 차례로 선택합니다.
  4. Bastion 탭을 선택합니다.
  5. Bastion 사용을 클릭합니다.

스왑 파일 만들기

이 랩에서는 랩 가상 머신에 스왑 파일이 필요합니다. 스왑 파일을 만들려면 다음 단계를 완료합니다.

디스크 및 탑재 지점 준비

  1. 이전에 가상 머신(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
    
  2. 다음 명령을 실행하여 파티션을 스왑 파일 디스크에 만들고, 필요한 경우 디스크 이름(/dev/sdb)을 수정합니다.

    $ parted /dev/sdb --script mklabel gpt mkpart xfspart xfs 0% 100%
    
  3. 만든 파티션의 이름을 확인합니다. 아래에는 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
    
  4. 다음 명령을 실행하여 파일 시스템(xfs)을 초기화하고 드라이브를 /swap으로 탑재합니다.

    $ mkfs.xfs /dev/sdb1
    $ partprobe /dev/sdb1
    $ mkdir /swap
    $ mount /dev/sdb1 /swap
    
  5. 다음 명령을 실행합니다.

    $ blkid
    

    출력에서 스왑 디스크 파티션(/dev/sdb1)에 대한 줄이 표시됩니다. UUID를 적어 둡니다.

    /dev/sdb1: UUID="00000000-0000-0000-0000-000000000000" TYPE="xfs" PARTLABEL="xfspart" PARTUUID="...."
    
  6. 이전 단계의 UUID를 다음 명령에 붙여넣고 실행합니다. 이 명령은 시스템을 다시 부팅할 때마다 드라이브가 올바르게 탑재되도록 합니다.

    $ echo "UUID=00000000-0000-0000-0000-000000000000   /swap   xfs   defaults,nofail   1   2" >> /etc/fstab
    

스왑 파일 구성

  1. 스왑 파일(16GB)을 만들고 할당합니다. 이 명령을 실행하는 데 몇 분 정도 걸립니다.

    $ dd if=/dev/zero of=/swap/swapfile bs=1M count=16384
    
  2. 권한을 수정하고 스왑 파일을 할당합니다.

    $ chmod 600 /swap/swapfile
    $ mkswap /swap/swapfile
    $ swapon /swap/swapfile
    
  3. 스왑 파일이 만들어졌는지 확인합니다.

    $ cat /proc/swaps
    
    Filename        Type    Size        Used    Priority
    /swap/swapfile  file    16777212    0        -2
    
  4. 다시 부팅을 통해 스왑 파일 설정이 유지되는지 확인합니다.

    $ echo "/swap/swapfile   none  swap  sw  0 0" >> /etc/fstab
    

Oracle ASM 설치

Oracle ASM을 설치하려면 다음 단계를 완료합니다.

Oracle ASM을 설치하는 방법에 대한 자세한 내용은 Oracle Linux 7용 Oracle ASMLib 다운로드를 참조하세요.

  1. ASM 설치를 계속하려면 루트로 로그인해야 합니다(아직 로그인하지 않은 경우).

    $ sudo su -
    
  2. 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
    
  3. 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
    
  4. ASM이 제대로 작동하기 위해 특정 사용자 및 역할이 필요합니다. 다음 명령은 필수 구성 요소 사용자 계정 및 그룹을 만듭니다.

    $ groupadd -g 54345 asmadmin
    $ groupadd -g 54346 asmdba
    $ groupadd -g 54347 asmoper
    $ usermod -a -g oinstall -G oinstall,dba,asmdba,asmadmin,asmoper oracle
    
  5. 사용자 및 그룹이 올바르게 만들어졌는지 확인합니다.

    $ 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
    
  6. 앱 폴더를 만들고 소유자를 변경합니다.

    $ 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을 설정하려면 다음 단계를 완료합니다.

  1. 다음 명령을 사용하고 프롬프트에 대해 다음 대답을 제공하여 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 디스크를 검사합니다. 마지막 두 구성은 매우 중요합니다. 그렇지 않으면 디스크 다시 부팅 문제가 발생합니다.

  2. 디스크 구성을 확인합니다.

    $ 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
    
  3. 다음 명령을 실행하고 표시되는 메시지에 답하여 /dev/sdc 디스크를 포맷합니다.

    1. 새 파티션의 경우 n
    2. 주 파티션의 경우 p
    3. 첫 번째 파티션을 선택하려면 1
    4. 기본 첫 번째 섹터에 대해 Enter 키를 누릅니다.
    5. 기본 마지막 섹터에 대해 Enter 키를 누릅니다.
    6. 파티션 테이블에 변경 내용을 쓰려면 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 may 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.
    
  4. /dev/sdd에 대해 위의 fdisk 명령을 반복합니다.

    $ fdisk /dev/sdd
    
  5. 디스크 구성을 확인합니다.

    $ 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
    

    참고 항목

    다음 구성에서는 이 문서에서 보여 주는 대로 정확한 명령을 사용하세요.

  6. 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
    
  7. Oracle ASM 디스크를 만듭니다.

    1. 첫 번째 디스크를 만듭니다.

      $ oracleasm createdisk VOL1 /dev/sdc1
      
    2. 명령의 출력은 다음과 같습니다.

       Writing disk header: done
       Instantiating disk: done
      
    3. 나머지 디스크를 만듭니다.

      $ oracleasm createdisk VOL2  /dev/sdd1
      

    참고 항목

    디스크는 ASMLib 설치에서 설명하는 프로세스를 사용하여 ASMLib용으로 표시됩니다. ASMLib는 디스크 검사라는 프로세스 중에 표시되는 디스크를 알아봅니다. ASMLib는 시작할 때마다 이 검사를 실행합니다. 시스템 관리자는 oracleasm scandisks 명령을 통해 강제로 검사할 수도 있습니다. ASMLib는 시스템의 각 디스크를 검사합니다. 디스크가 ASMLib용으로 표시되었는지 확인합니다. 표시된 모든 디스크는 ASMLib에서 사용할 수 있습니다. 자세한 내용은 Oracle ASMLIB를 사용하여 스토리지 디바이스 경로 지속성 구성다중 경로 디스크에서 Oracle ASMLib 구성 문서를 참조하세요.

  8. Oracle ASM 디스크를 나열합니다.

    $ oracleasm scandisks
    $ oracleasm listdisks
    

    이 명령의 출력은 다음 Oracle ASM 디스크를 나열합니다.

     VOL1
     VOL2
    
  9. 루트 및 oracle 사용자의 암호를 변경합니다. 나중에 설치하는 동안 사용하도록 이러한 새 암호를 기록합니다.

    $ passwd oracle
    $ passwd root
    
  10. 폴더 권한을 변경합니다.

    $ 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 소프트웨어를 다운로드 및 준비하려면 다음 단계를 완료합니다.

  1. Oracle ASM 다운로드 페이지에서 Oracle Grid Infrastructure를 다운로드합니다. Bastion을 사용하여 이러한 파일을 asmVM에 복사하므로 Azure CLI가 다운로드 위치에 설치되어 있어야 합니다. 터널을 사용하므로 이 단계는 Azure Cloud Shell에서 작동하지 않으며 워크스테이션에서 실행해야 합니다.

    Oracle Database 19c Grid Infrastructure(19.3) for Linux x86-64라는 제목의 다운로드 아래에서 .zip 파일을 다운로드합니다.

  2. .zip 파일이 클라이언트 컴퓨터에 다운로드되면 SCP(보안 복사 프로토콜)를 사용하여 파일을 VM에 복사합니다. scp 명령이 .zip 파일의 올바른 경로를 가리키는지 확인합니다.

    1. 로그인하고, Azure에 로그인에서 설명한 대로 필요에 따라 올바른 구독을 사용하고 있는지 확인합니다.

    2. 다음 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
      
    3. 첫 번째 명령 프롬프트를 실행 중인 상태로 두고, 두 번째 명령 프롬프트를 열어 터널을 통해 대상 VM에 연결합니다. 이 두 번째 명령 프롬프트 창에서 다음 명령을 사용하여 파일을 로컬 컴퓨터에서 대상 VM으로 업로드할 수 있습니다. asmVM에 액세스하는 올바른 id_rsa 키 파일은 .ssh 디렉터리에 있어야 합니다. 그렇지 않으면 scp 명령에 대한 -i 매개 변수를 사용하여 다른 키 파일을 가리킬 수 있습니다.

      scp -P 57500 "LINUX.X64_193000_grid_home.zip"  azureuser@127.0.0.1:.
      
  3. 업로드가 완료되면 .zip 파일을 /opt 폴더로 이동하고 파일 소유자를 변경하기 위해 Bastion을 사용하여 Azure의 asmVM에 SSH로 다시 연결합니다.

    $ sudo su -
    $ mv /home/azureuser/*.zip /opt
    $ cd /opt
    $ chown oracle:oinstall LINUX.X64_193000_grid_home.zip
    
  4. 파일의 압축을 풉니다. (Linux 압축 풀기 도구가 설치되어 있지 않은 경우 이를 설치합니다.)

    $ yum install unzip
    $ unzip LINUX.X64_193000_grid_home.zip -d grid
    
  5. 권한을 변경합니다.

    $ chown -R oracle:oinstall /opt/grid
    
  6. 정리

    $ rm -f LINUX.X64_193000_grid_home.zip
    
  7. 루트를 종료합니다.

    $ exit
    

Oracle Grid Infrastructure 설치

Grid Infrastructure를 설치하려면 다음 단계를 완료합니다.

  1. 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에서 열립니다. (설치 관리자를 시작하는 데 몇 분 정도 걸릴 수 있습니다.)

  2. 구성 옵션 선택 페이지에서 독립 실행형 서버에 대한 Oracle Grid Infrastructure 구성(Oracle 다시 시작)을 선택합니다.

    Screenshot of the installer's Select Configuration Option page.

  3. ASM 디스크 그룹 만들기 페이지에서,

    • 검색 경로 변경을 클릭합니다.
    • 검색 경로를 /dev/oracleasm/disks/*로 업데이트합니다.
    • DATA 디스크 그룹에 대한 이름을 입력합니다.
    • 중복에서 외부를 선택합니다.
    • 할당 단위 크기에서 4를 선택합니다.
    • 디스크 선택 아래에서 /dev/oracleasm/disks/VOL1을 선택합니다.
    • 다음을 클릭합니다.

    Screenshot of the installer's Create ASM Disk Group page.

  4. ASM 암호 지정 페이지에서 이러한 계정에 대해 동일한 암호 사용 옵션을 선택하고 암호를 입력합니다.

    Screenshot of the installer's Specify ASM Password page.

  5. 관리 옵션 지정 페이지에서 EM 클라우드 제어를 구성하는 옵션이 선택 취소되어 있는지 확인합니다. 다음 을 클릭하여 계속합니다.

    Screenshot of the installer's Specify Management Options page.

  6. 권한있는 운영 체제 그룹 페이지에서 기본 설정을 사용합니다. 다음 을 클릭하여 계속합니다.

    Screenshot of the installer's Privileged Operating System Groups page.

  7. 설치 위치 지정 페이지에서 기본 설정을 사용합니다. 다음 을 클릭하여 계속합니다.

    Screenshot of the installer's Specify Installation Location page.

  8. 루트 스크립트 실행 구성 페이지에서 구성 스크립트 자동으로 실행 확인란을 선택합니다. 그런 다음 "root" 사용자 자격 증명 사용 옵션을 선택하고 루트 사용자 암호를 입력합니다.

    Screenshot of the installer's Root script execution configuration page.

  9. 필수 구성 요소 확인 수행 페이지에서 오류로 인해 현재 설정이 실패합니다. 수정 및 다시 확인을 선택합니다.

  10. 스크립트 수정 대화 상자에서 확인을 클릭합니다.

    Screenshot of the installer's Perform Prerequisite Checks page.

  11. 요약 페이지에서 선택한 설정을 검토한 다음 Install를 클릭합니다.

    Screenshot of the installer's Summary page.

  12. 구성 스크립트를 권한 있는 사용자로 실행해야 한다는 경고 대화 상자가 표시됩니다. 를 클릭하여 계속합니다.

    Screenshot of the installer's warning page.

  13. 마침 페이지에서 닫기를 클릭하여 설치를 완료합니다.

    Screenshot of the installer's Finish page.

Oracle ASM 설정

Oracle ASM을 설정하려면 다음 단계를 완료합니다.

  1. Bastion SSH 세션에서 여전히 oracle로 asmVM에 로그인되어 있는지 확인합니다.

    다음을 실행하여 컨텍스트를 설정합니다. 이전 명령의 셸이 아직 열려 있는 경우 이 단계를 건너뛸 수 있습니다.

    $ 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에서 열립니다.

  2. 트리의 디스크 그룹 아래에서 데이터를 선택하고, 아래쪽에서 만들기 단추를 클릭합니다.

    Screenshot of the ASM Configuration Assistant.

  3. 디스크 그룹 만들기 대화 상자에서 다음을 수행합니다.

    1. 디스크 그룹 이름 FRA를 입력합니다.
    2. [중복성] 옵션에 대해 [외부(없음)]를 선택합니다.
    3. 멤버 디스크 선택 아래에서 /dev/oracleasm/disks/VOL2를 선택합니다.
    4. 할당 단위 크기에서 4를 선택합니다.
    5. 확인을 클릭하여 디스크 그룹을 만듭니다.
    6. 확인을 클릭하여 확인 창을 닫습니다.

    Screenshot of the Create Disk Group dialog box.

  4. 끝내기를 선택하여 ASM 구성 도우미를 닫습니다.

    Screenshot of the Configure ASM: Disk Groups dialog box with Exit button.

데이터베이스 생성

Oracle 데이터베이스 소프트웨어는 이미 Azure Marketplace 이미지에 설치되어 있습니다. 데이터베이스를 만들려면 다음 단계를 완료합니다.

  1. 컨텍스트가 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에서 열립니다.

  2. 데이터베이스 작업 페이지에서 데이터베이스 만들기를 클릭합니다.

    Screenshot of the Database Operation page.

  3. 생성 모드 페이지에서,

    1. 일반적인 구성이 선택되어 있는지 확인합니다.
    2. 데이터베이스 이름(asmdb)을 입력합니다.
    3. 스토리지 형식의 경우 ASM(자동 스토리지 관리)을 선택하도록 합니다.
    4. 데이터베이스 파일 위치의 경우 DATA 위치를 찾아서 선택합니다.
    5. 빠른 복구 영역의 경우 FRA 위치를 찾아서 선택합니다.
    6. 관리 암호암호 확인을 입력합니다.
    7. 컨테이너 데이터베이스로 만들기가 선택되어 있는지 확인합니다.
    8. 플러그형 데이터베이스 이름 값(pasmdb)을 입력합니다.

    Screenshot of the Database Creation page.

  4. 요약 페이지에서 선택한 설정을 검토한 다음, 마침을 클릭하여 데이터베이스를 만듭니다. 데이터베이스를 만드는 데 10분 이상 걸릴 수 있습니다.

    Screenshot of the Summary page.

  5. 데이터베이스가 생성되었습니다. 마침 페이지에서 이 데이터베이스를 사용하고 암호를 변경하기 위해 추가 계정을 잠금 해제하도록 선택할 수 있습니다. 이렇게 하려면 암호 관리를 선택하고, 그렇지 않으면 닫기를 클릭합니다.

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 Automatic Storage Management를 성공적으로 구성했습니다. 이 환경이 더 이상 필요하지 않은 경우 다음 명령을 사용하여 리소스 그룹 및 관련된 모든 리소스를 제거할 수 있습니다.

$ az group delete --name ASMOnAzureLab

다음 단계

자습서: Oracle DataGuard 구성

자습서: Oracle GoldenGate 구성

Oracle DB 설계 검토