Megosztás a következőn keresztül:


Oracle-adatbázis létrehozása Azure-beli virtuális gépen

A következőkre vonatkozik: ✔️ Linux rendszerű virtuális gépek

Ez a cikk azt ismerteti, hogyan helyezhet üzembe azure-beli virtuális gépet (VM-et) az Azure CLI-vel az Oracle Marketplace katalógusának rendszerképéből Oracle Database 19c-adatbázis létrehozásához. A kiszolgáló üzembe helyezése után SSH-val csatlakoztatja a kiszolgálót az Oracle-adatbázis konfigurálásához.

Előfeltételek

  • If you don't have an Azure subscription, create an Azure free account before you begin.

  • Az Azure Cloud Shell vagy az Azure CLI.

    Ebben a rövid útmutatóban interaktívan futtathatja az Azure CLI-parancsokat az Azure Cloud Shellben. A Parancsok Cloud Shellben való futtatásához válassza a Kódblokk jobb felső sarkában található Open CloudShell lehetőséget. Válassza a Másolás lehetőséget a kód másolásához, majd illessze be a Cloud Shellbe a futtatáshoz. A Cloud Shellt az Azure Portalon is futtathatja. A Cloud Shell mindig az Azure CLI legújabb verzióját használja.

    Másik lehetőségként helyileg is telepítheti az Azure CLI-t a parancsok futtatásához. A cikkben ismertetett lépésekhez az Azure CLI 2.0.4-es vagy újabb verziója szükséges. Futtassa az az verziót a telepített verzió és a függő kódtárak megtekintéséhez, és futtassa az az upgrade-t a frissítéshez. Ha helyi telepítést használ, jelentkezzen be az Azure-ba az az login paranccsal.

Erőforráscsoport létrehozása

Hozzon létre egy erőforráscsoportot az az group create paranccsal. Az Azure-erőforráscsoport olyan logikai tároló, amelybe a rendszer üzembe helyezi és kezeli az Azure-erőforrásokat.

Az alábbi példa egy rg-oracle nevű erőforráscsoportot hoz létre az eastus helyen.

az group create --name rg-oracle --location eastus

Megjegyzés:

Ez a rövid útmutató létrehoz egy Standard_DS2_v2 termékváltozatú virtuális gépet az USA keleti régiójában. A támogatott termékváltozatok listájának régiónkénti megtekintéséhez használja az az vm list-skus parancsot.

Virtuális gép létrehozása

Hozzon létre egy virtuális gépet (VM) az az vm create paranccsal.

Az alábbi példa létrehoz egy vmoracle19c nevű virtuális gépet. SSH-kulcsokat is létrehoz, ha még nem léteznek alapértelmezett kulcshelyen. Egy adott kulcskészlet használatához használja a --ssh-key-value parancsot.

az vm create \
    --name vmoracle19c \
    --resource-group rg-oracle \
    --image Oracle:oracle-database-19-3:oracle-database-19-0904:latest \
    --size Standard_DS2_v2 \
    --admin-username azureuser \
    --generate-ssh-keys \
    --public-ip-address-allocation static \
    --public-ip-address-dns-name vmoracle19c

A virtuális gép létrehozása után az Azure CLI az alábbi példához hasonló információkat jelenít meg. Jegyezze fel a publicIpAddress tulajdonság értékét. Ezzel az IP-címmel érheti el a virtuális gépet.

{
  "fqdns": "",
  "id": "/subscriptions/{snip}/resourceGroups/rg-oracle/providers/Microsoft.Compute/virtualMachines/vmoracle19c",
  "location": "eastus",
  "macAddress": "00-0D-3A-36-2F-56",
  "powerState": "VM running",
  "privateIpAddress": "10.0.0.4",
  "publicIpAddress": "13.64.104.241",
  "resourceGroup": "rg-oracle"
}

Lemez létrehozása Oracle-adatfájlokhoz

Hozzon létre és csatoljon egy új lemezt oracle-adatfájlokhoz és egy gyors helyreállítási területet (FRA) az az vm disk attach paranccsal.

Az alábbi példa egy oradata01 nevű lemezt hoz létre.

az vm disk attach \
    --name oradata01 --new \
    --resource-group rg-oracle \
    --size-gb 64 --sku StandardSSD_LRS \
    --vm-name vmoracle19c

Portok megnyitása a kapcsolathoz

Ebben a feladatban konfigurálnia kell néhány külső végpontot az adatbázis-figyelő számára a virtuális gépet védő Azure hálózati biztonsági csoport (NSG) beállításával.

  1. Hozza létre a virtuális gép NSG-jének létrehozását az az network nsg create paranccsal. Ez a parancs létrehozza a vmoracle19cNSG NSG-t a virtuális géphez való hozzáférés szabályozására szolgáló szabályokhoz:

    az network nsg create --resource-group rg-oracle --name vmoracle19cNSG
    
  2. Hozzon létre egy NSG-szabályt az az network nsg rule create paranccsal. Ez a parancs létrehozza az engedélyezési NSG-szabályt az Oracle-adatbázishoz való távoli hozzáférés végpontjának megnyitásához:

    az network nsg rule create \
        --resource-group rg-oracle \
        --nsg-name vmoracle19cNSG \
        --name allow-oracle \
        --protocol tcp \
        --priority 1001 \
        --destination-port-range 1521
    
  3. Hozzon létre egy második NSG-szabályt a végpont megnyitásához az Oracle-hez való távoli hozzáféréshez. Ez a parancs létrehozza az allow-oracle-EM NSG szabályt:

    az network nsg rule create \
        --resource-group rg-oracle \
        --nsg-name vmoracle19cNSG \
        --name allow-oracle-EM \
        --protocol tcp \
        --priority 1002 \
        --destination-port-range 5502
    
  4. Szükség esetén használja az az network public-ip show parancsot a virtuális gép nyilvános IP-címének lekéréséhez:

    az network public-ip show \
        --resource-group rg-oracle \
        --name vmoracle19cPublicIP \
        --query "ipAddress" \
        --output tsv
    

Virtuálisgép-környezet előkészítése

  1. Hozzon létre egy SSH-munkamenetet a virtuális géppel. Cserélje le a <publicIPAddress> részt a virtuális gép nyilvános IP-címének értékére, például 10.200.300.4:

    ssh azureuser@<publicIPAddress>
    
  2. Váltás a gyökérfelhasználóra:

    sudo su -
    
  3. Keresse meg a legutóbb létrehozott lemezeszközt, amelyet oracle-adatfájlok tárolására szeretne formázni:

    ls -alt /dev/sd*|head -1
    

    A kimenet a következő példához hasonló:

    brw-rw----. 1 root disk 8, 16 Dec  8 22:57 /dev/sdc
    
  4. Gyökérfelhasználóként használja a parancsot az parted eszköz formázására.

    1. Először hozzon létre egy lemezcímkét:

      parted /dev/sdc mklabel gpt
      
    2. Ezután hozzon létre egy elsődleges partíciót, amely a teljes lemezre kiterjed:

      parted -a optimal /dev/sdc mkpart primary 0GB 64GB	
      
    3. Végül ellenőrizze az eszköz adatait a metaadatok nyomtatásával:

      parted /dev/sdc print
      

      A kimenet a következő példához hasonló:

      Model: Msft Virtual Disk (scsi)
      Disk /dev/sdc: 68.7GB
      Sector size (logical/physical): 512B/4096B
      Partition Table: gpt
      Disk Flags:
      Number   Start    End      Size     File system   Name     Flags
      1        1049kB   64.0GB   64.0GB   ext4          primary
      
  5. Hozzon létre egy fájlrendszert az eszközpartíción:

    mkfs -t ext4 /dev/sdc1
    

    A kimenet a következő példához hasonló:

    mke2fs 1.42.9 (28-Dec-2013)
    Discarding device blocks: done                            
    Filesystem label=
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    Stride=0 blocks, Stripe width=0 blocks
    3907584 inodes, 15624704 blocks
    781235 blocks (5.00%) reserved for the super user
    First data block=0
    Maximum filesystem blocks=2164260864
    477 block groups
    32768 blocks per group, 32768 fragments per group
    8192 inodes per group
    Superblock backups stored on blocks: 
         32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
         4096000, 7962624, 11239424
     Allocating group tables: done                            
     Writing inode tables: done                            
     Creating journal (32768 blocks): done
     Writing superblocks and filesystem accounting information: done   
    
  6. Csatlakoztatási pont létrehozása:

    mkdir /u02
    
  7. Csatlakoztassa a lemezt:

    mount /dev/sdc1 /u02
    
  8. A csatlakoztatási pont engedélyeinek módosítása:

    chmod 777 /u02
    
  9. Adja hozzá a csatlakoztatást a /etc/fstab fájlhoz :

    echo "/dev/sdc1               /u02                    ext4    defaults        0 0" >> /etc/fstab
    

    Fontos

    Ez a parancs egy adott UUID nélkül csatlakoztatja az /etc/fstab fájlt, ami megakadályozhatja a lemez sikeres újraindítását. Mielőtt megkísérli újraindítani a lemezt, frissítse az /etc/fstab bejegyzést úgy, hogy tartalmazza a csatlakoztatási pont UUID azonosítóját.

  10. Frissítse a /etc/hosts fájlt a nyilvános IP-címmel és a cím állomásnevével. Módosítsa a <Public IP> két <VMname> részt a tényleges értékeknek megfelelően:

    echo "<Public IP> <VMname>.eastus.cloudapp.azure.com <VMname>" >> /etc/hosts
    
  11. Adja hozzá a virtuális gép tartománynevét a /etc/hostname fájlhoz . A következő parancs feltételezi, hogy az erőforráscsoport és a virtuális gép az eastus régióban jön létre:

    sed -i 's/$/\.eastus\.cloudapp\.azure\.com &/' /etc/hostname
    
  12. Nyisson meg tűzfalportokat.

    Mivel Standard kiadás Linux alapértelmezés szerint engedélyezve van a Marketplace-rendszerképen, meg kell nyitnunk a tűzfalat az 1521-et figyelő adatbázis és az Enterprise Manager Express 5502-s portjának forgalmához. Futtassa a következő parancsokat gyökérfelhasználóként:

    firewall-cmd --zone=public --add-port=1521/tcp --permanent
    firewall-cmd --zone=public --add-port=5502/tcp --permanent
    firewall-cmd --reload
    

Az adatbázis létrehozása

Az Oracle szoftver már telepítve van a Marketplace-lemezképen. Hozzon létre egy mintaadatbázist az alábbiak szerint.

  1. Váltás az oracle-felhasználóra :

    sudo su - oracle
    
  2. Indítsa el az adatbázis-figyelőt:

    lsnrctl start
    

    A kimenet a következő példához hasonló:

    LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 20-OCT-2020 01:58:18
    
    Copyright (c) 1991, 2019, Oracle.  All rights reserved.
    
    Starting /u01/app/oracle/product/19.0.0/dbhome_1/bin/tnslsnr: please wait...
    
    TNSLSNR for Linux: Version 19.0.0.0.0 - Production
    Log messages written to /u01/app/oracle/diag/tnslsnr/vmoracle19c/listener/alert/log.xml
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=vmoracle19c.eastus.cloudapp.azure.com)(PORT=1521)))
    
    Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
    STATUS of the LISTENER
    ------------------------
    Alias                     LISTENER
    Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
    Start Date                20-OCT-2020 01:58:18
    Uptime                    0 days 0 hr. 0 min. 0 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Listener Log File         /u01/app/oracle/diag/tnslsnr/vmoracle19c/listener/alert/log.xml
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=vmoracle19c.eastus.cloudapp.azure.com)(PORT=1521)))
    The listener supports no services
    The command completed successfully
    
  3. Hozzon létre egy adatkönyvtárat az Oracle-adatfájlokhoz:

    mkdir /u02/oradata
    
  4. Futtassa az Adatbázis-létrehozási segédet:

    dbca -silent \
        -createDatabase \
        -templateName General_Purpose.dbc \
        -gdbname oratest1 \
        -sid oratest1 \
        -responseFile NO_VALUE \
        -characterSet AL32UTF8 \
        -sysPassword OraPasswd1 \
        -systemPassword OraPasswd1 \
        -createAsContainerDatabase false \
        -databaseType MULTIPURPOSE \
        -automaticMemoryManagement false \
        -storageType FS \
        -datafileDestination "/u02/oradata/" \
        -ignorePreReqs
    

    Az adatbázis létrehozása néhány percet vesz igénybe.

    A kimenet a következő példához hasonló:

         Prepare for db operation
        10% complete
        Copying database files
        40% complete
        Creating and starting Oracle instance
        42% complete
        46% complete
        50% complete
        54% complete
        60% complete
        Completing Database Creation
        66% complete
        69% complete
        70% complete
        Executing Post Configuration Actions
        100% complete
        Database creation complete. For details check the logfiles at: /u01/app/oracle/cfgtoollogs/dbca/oratest1.
        Database Information:
        Global Database Name:oratest1
        System Identifier(SID):oratest1
        Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/oratest1/oratest1.log" for further details.
    
  5. Oracle-változók beállítása:

    A csatlakozás előtt be kell állítania a környezeti változót ORACLE_SID:

    export ORACLE_SID=oratest1
    

    A változót a ORACLE_SID következő paranccsal is hozzá kell adnia a oracle felhasználók .bashrc fájljához a jövőbeli bejelentkezésekhez:

    echo "export ORACLE_SID=oratest1" >> ~oracle/.bashrc
    

Adatbázis indításának és leállításának automatizálása

Az Oracle-adatbázis alapértelmezés szerint nem indul el automatikusan a virtuális gép újraindításakor. Az Oracle-adatbázis automatikus indításának beállításához először jelentkezzen be gyökérként. Ezután hozzon létre és frissítsen néhány rendszerfájlt.

  1. Jelentkezzen be gyökérfelhasználóként:

    sudo su -
    
  2. Módosítsa az automatikus indítási jelzőt a /etc/oratab fájlban N lévőre Y :

    sed -i 's/:N/:Y/' /etc/oratab
    
  3. Hozzon létre egy /etc/init.d/dbora nevű fájlt, és adja hozzá a következő bash-parancsot a fájlhoz:

    #!/bin/sh
    # chkconfig: 345 99 10
    # Description: Oracle auto start-stop script.
    #
    # Set ORA_HOME to be equivalent to $ORACLE_HOME.
    ORA_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
    ORA_OWNER=oracle
    
    case "$1" in
    'start')
        # Start the Oracle databases:
        # The following command assumes that the Oracle sign-in
        # will not prompt the user for any values.
        # Remove "&" if you don't want startup as a background process.
        su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME" &
        touch /var/lock/subsys/dbora
        ;;
    
    'stop')
        # Stop the Oracle databases:
        # The following command assumes that the Oracle sign-in
        # will not prompt the user for any values.
        su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut $ORA_HOME" &
        rm -f /var/lock/subsys/dbora
        ;;
    esac
    
  4. Fájlok engedélyeinek módosítása a chmod következő paranccsal:

    chgrp dba /etc/init.d/dbora
    chmod 750 /etc/init.d/dbora
    
  5. Szimbolikus hivatkozások létrehozása indításhoz és leállításhoz:

    ln -s /etc/init.d/dbora /etc/rc.d/rc0.d/K01dbora
    ln -s /etc/init.d/dbora /etc/rc.d/rc3.d/S99dbora
    ln -s /etc/init.d/dbora /etc/rc.d/rc5.d/S99dbora
    
  6. A módosítások teszteléséhez indítsa újra a virtuális gépet:

    reboot
    

Clean up resources

Miután befejezte az első Oracle-adatbázis feltárását az Azure-ban, és a virtuális gépre már nincs szükség, az az group delete paranccsal eltávolíthatja az erőforráscsoportot, a virtuális gépet és az összes kapcsolódó erőforrást.

az group delete --name rg-oracle

Következő lépések