Creare un database Oracle in una VM di AzureCreate an Oracle Database in an Azure VM

Questa guida descrive nei dettagli l'uso dell'interfaccia della riga di comando di Azure per distribuire una macchina virtuale di Azure dall'immagine della raccolta Marketplace di Oracle per creare un database Oracle 12c.This guide details using the Azure CLI to deploy an Azure virtual machine from the Oracle marketplace gallery image in order to create an Oracle 12c database. Dopo avere distribuito il server, verrà effettuata la connessione via SSH per configurare il database Oracle.Once the server is deployed, you will connect via SSH in order to configure the Oracle database.

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.If you don't have an Azure subscription, create a free account before you begin.

Avviare Azure Cloud ShellLaunch Azure Cloud Shell

Azure Cloud Shell è una shell Bash gratuita che può essere eseguita direttamente nel portale di Azure.The Azure Cloud Shell is a free Bash shell that you can run directly within the Azure portal. Include l'interfaccia della riga di comando di Azure preinstallata e configurata per l'uso con l'account.It has the Azure CLI preinstalled and configured to use with your account. Fare clic sul pulsante Cloud Shell nel menu nel riquadro in alto a destra nel portale di Azure.Click the Cloud Shell button on the menu in the upper-right of the Azure portal.

Cloud ShellCloud Shell

Il pulsante avvia una shell interattiva che è possibile usare per eseguire i passaggi di questo argomento:The button launches an interactive shell that you can use to run the steps in this topic:

Screenshot che mostra la finestra di Cloud Shell nel portaleScreenshot showing the Cloud Shell window in the portal

Se si sceglie di installare e usare l'interfaccia della riga di comando in locale, per questa guida introduttiva è necessario eseguire la versione 2.0.4 o successiva dell'interfaccia della riga di comando di Azure.If you choose to install and use the CLI locally, this quickstart requires that you are running the Azure CLI version 2.0.4 or later. Eseguire az --version per trovare la versione.Run az --version to find the version. Se è necessario eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure 2.0.If you need to install or upgrade, see Install Azure CLI 2.0.

Creare un gruppo di risorseCreate a resource group

Creare un gruppo di risorse con il comando az group create.Create a resource group with the az group create command. Un gruppo di risorse di Azure è un contenitore logico in cui le risorse di Azure vengono distribuite e gestite.An Azure resource group is a logical container into which Azure resources are deployed and managed.

L'esempio seguente crea un gruppo di risorse denominato myResourceGroup nella località stati uniti orientali.The following example creates a resource group named myResourceGroup in the eastus location.

az group create --name myResourceGroup --location eastus

Crea macchina virtualeCreate virtual machine

Per crea una macchina virtuale (VM), usare il comando az vm create.To create a virtual machine (VM), use the az vm create command.

L'esempio seguente crea una VM denominata myVM.The following example creates a VM named myVM. Crea anche le chiavi SSH se non esistono già in un percorso predefinito.It also creates SSH keys, if they do not already exist in a default key location. Per usare un set specifico di chiavi, utilizzare l'opzione --ssh-key-value.To use a specific set of keys, use the --ssh-key-value option.

az vm create \
    --resource-group myResourceGroup \
    --name myVM \
    --image Oracle:Oracle-Database-Ee:12.1.0.2:latest \
    --size Standard_DS2_v2 \
    --admin-username azureuser \
    --generate-ssh-keys

In seguito alla creazione della VM, l'interfaccia della riga di comando di Azure visualizza informazioni simili a quelle dell'esempio seguente.After you create the VM, Azure CLI displays information similar to the following example. Notare il valore di publicIpAddress.Note the value for publicIpAddress. Questo indirizzo verrà usato per accedere alla VM.You use this address to access the VM.

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

Connettersi alla VMConnect to the VM

Per creare una sessione SSH con la VM, usare il comando seguente.To create an SSH session with the VM, use the following command. Sostituire l'indirizzo IP con il valore di publicIpAddress della VM.Replace the IP address with the publicIpAddress value for your VM.

ssh <publicIpAddress>

Creare il databaseCreate the database

Il software Oracle è già installato nell'immagine del Marketplace.The Oracle software is already installed on the Marketplace image. Creare un database di esempio come segue.Create a sample database as follows.

  1. Passare all'utente con privilegi avanzati oracle, quindi inizializzare il listener per la registrazione:Switch to the oracle superuser, then initialize the listener for logging:

    $ sudo su - oracle
    $ lsnrctl start
    

    L'output è simile al seguente:The output is similar to the following:

    Copyright (c) 1991, 2014, Oracle.  All rights reserved.
    
    Starting /u01/app/oracle/product/12.1.0/dbhome_1/bin/tnslsnr: please wait...
    
    TNSLSNR for Linux: Version 12.1.0.2.0 - Production
    Log messages written to /u01/app/oracle/diag/tnslsnr/myVM/listener/alert/log.xml
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=myVM.twltkue3xvsujaz1bvlrhfuiwf.dx.internal.cloudapp.net)(PORT=1521)))
    
    Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
    STATUS of the LISTENER
    ------------------------
    Alias                     LISTENER
    Version                   TNSLSNR for Linux: Version 12.1.0.2.0 - Production
    Start Date                23-MAR-2017 15:32:08
    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/myVM/listener/alert/log.xml
    Listening Endpoints Summary...
    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=myVM.twltkue3xvsujaz1bvlrhfuiwf.dx.internal.cloudapp.net)(PORT=1521)))
    The listener supports no services
    The command completed successfully
    
  2. Creare il database:Create the database:

    dbca -silent \
           -createDatabase \
           -templateName General_Purpose.dbc \
           -gdbname cdb1 \
           -sid cdb1 \
           -responseFile NO_VALUE \
           -characterSet AL32UTF8 \
           -sysPassword OraPasswd1 \
           -systemPassword OraPasswd1 \
           -createAsContainerDatabase true \
           -numberOfPDBs 1 \
           -pdbName pdb1 \
           -pdbAdminPassword OraPasswd1 \
           -databaseType MULTIPURPOSE \
           -automaticMemoryManagement false \
           -storageType FS \
           -ignorePreReqs
    

    La creazione del database richiede alcuni minuti.It takes a few minutes to create the database.

  3. Impostare le variabili OracleSet Oracle variables

Prima della connessione, è necessario configurare due variabili di ambiente: ORACLE_HOME e ORACLE_SID.Before you connect, you need to set two environment variables: ORACLE_HOME and ORACLE_SID.

ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=cdb1; export ORACLE_SID

È anche possibile aggiungere le variabili ORACLE_HOME e ORACLE_SID al file con estensione bashrc.You also can add ORACLE_HOME and ORACLE_SID variables to the .bashrc file. In questo modo, le variabili di ambiente verranno salvate per gli accessi successivi. Verificare che le seguenti istruzioni siano state aggiunte al file ~/.bashrc usando l'editor scelto.This would save the environment variables for future sign-ins. Confirm the following statements have been added to the ~/.bashrc file using editor of your choice.

# Add ORACLE_HOME. 
export ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1 
# Add ORACLE_SID. 
export ORACLE_SID=cdb1 

Connettività a Oracle EM ExpressOracle EM Express connectivity

Per ottenere uno strumento di gestione dell'interfaccia utente grafica da usare per esplorare il database, configurare Oracle EM Express.For a GUI management tool that you can use to explore the database, set up Oracle EM Express. Per connettersi a Oracle EM Express, prima di tutto è necessario configurare la porta in Oracle.To connect to Oracle EM Express, you must first set up the port in Oracle.

  1. Connettersi al database usando sqlplus:Connect to your database using sqlplus:

    sqlplus / as sysdba
    
  2. Dopo la connessione, impostare la porta 5502 per EM ExpressOnce connected, set the port 5502 for EM Express

    exec DBMS_XDB_CONFIG.SETHTTPSPORT(5502);
    
  3. Aprire il contenitore PDB1 se non è già aperto, ma prima controllare lo stato:Open the container PDB1 if not already opened, but first check the status:

    select con_id, name, open_mode from v$pdbs;
    

    L'output è simile al seguente:The output is similar to the following:

      CON_ID NAME                           OPEN_MODE 
      ----------- ------------------------- ---------- 
      2           PDB$SEED                  READ ONLY 
      3           PDB1                      MOUNT
    
  4. Se OPEN_MODE per PDB1 non è READ WRITE, usare i comandi seguenti per aprire PDB1:If the OPEN_MODE for PDB1 is not READ WRITE, then run the followings commands to open PDB1:

     alter session set container=pdb1;
     alter database open;
    

È necessario digitare quit per terminare la sessione sqlplus e exit per disconnettere l'utente Oracle.You need to type quit to end the sqlplus session and type exit to logout of the oracle user.

Automatizzare l'avvio e l'arresto del databaseAutomate database startup and shutdown

Per impostazione predefinita, il database Oracle non viene avviato automaticamente quando si riavvia la VM.The Oracle database by default doesn't automatically start when you restart the VM. Per configurare il database Oracle perché venga avviato automaticamente, accedere prima di tutto come utente ROOT.To set up the Oracle database to start automatically, first sign in as root. Quindi creare e aggiornare alcuni file di sistema.Then, create and update some system files.

  1. Accedere come utente ROOTSign on as root

    sudo su -
    
  2. Usando l'editor preferito modificare il file /etc/oratab e il valore predefinito N in Y:Using your favorite editor, edit the file /etc/oratab and change the default N to Y:

    cdb1:/u01/app/oracle/product/12.1.0/dbhome_1:Y
    
  3. Creare un file denominato /etc/init.d/dbora e incollare i contenuti seguenti:Create a file named /etc/init.d/dbora and paste the following contents:

    #!/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/12.1.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. Modificare le autorizzazioni nei file con chmod come segue:Change permissions on files with chmod as follows:

    chgrp dba /etc/init.d/dbora
    chmod 750 /etc/init.d/dbora
    
  5. Creare collegamenti simbolici per l'avvio e l'arresto come segue:Create symbolic links for startup and shutdown as follows:

    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. Per testare le modifiche, riavviare la VM:To test your changes, restart the VM:

    reboot
    

Aprire le porte per la connettivitàOpen ports for connectivity

Il passaggio finale consiste nel configurare alcuni endpoint esterni.The final task is to configure some external endpoints. Per configurare il gruppo di sicurezza di rete di Azure che protegge la VM, prima di tutto chiudere la sessione SSH nella VM, anche se la sessione dovrebbe essere stata chiusa durante il riavvio nel passaggio precedente.To set up the Azure Network Security Group that protects the VM, first exit your SSH session in the VM (should have been kicked out of SSH when rebooting in previous step).

  1. Per aprire l'endpoint usato per accedere al database Oracle in modalità remota, creare una regola del gruppo di sicurezza di rete con az network nsg rule create come segue:To open the endpoint that you use to access the Oracle database remotely, create a Network Security Group rule with az network nsg rule create as follows:

    az network nsg rule create \
        --resource-group myResourceGroup\
        --nsg-name myVmNSG \
        --name allow-oracle \
        --protocol tcp \
        --priority 1001 \
        --destination-port-range 1521
    
  2. Per aprire l'endpoint usato per accedere a Oracle EM Express in modalità remota, creare una regola del gruppo di sicurezza di rete con az network nsg rule create come segue:To open the endpoint that you use to access Oracle EM Express remotely, create a Network Security Group rule with az network nsg rule create as follows:

    az network nsg rule create \
        --resource-group myResourceGroup \
        --nsg-name myVmNSG \
        --name allow-oracle-EM \
        --protocol tcp \
        --priority 1002 \
        --destination-port-range 5502
    
  3. Se necessario, ottenere di nuovo l'indirizzo IP pubblico della VM con az network public-ip show.If needed, obtain the public IP address of your VM again with az network public-ip show as follows:

    az network public-ip show \
        --resource-group myResourceGroup \
        --name myVMPublicIP \
        --query [ipAddress] \
        --output tsv
    
  4. Connettersi a EM Express dal browser.Connect EM Express from your browser. Verificare che il browser sia compatibile con EM Express. È necessario installare Flash.Make sure your browser is compatible with EM Express (Flash install is required):

    https://<VM ip address or hostname>:5502/em
    

È possibile eseguire l'accesso usando l'account SYS e selezionare la casella di controllo as sysdba.You can log in by using the SYS account, and check the as sysdba checkbox. Usare la password OraPasswd1 impostata durante l'installazione.Use the password OraPasswd1 that you set during installation.

Screenshot della pagina di accesso a Oracle OEM Express

Pulire le risorseClean up resources

Al termine dell'esplorazione di un primo database Oracle in Azure e quando la macchina virtuale non è più necessaria, è possibile usare il comando az group delete per rimuovere il gruppo di risorse la macchina virtuale e tutte le risorse correlate.Once you have finished exploring your first Oracle database on Azure and the VM is no longer needed, you can use the az group delete command to remove the resource group, VM, and all related resources.

az group delete --name myResourceGroup

Passaggi successiviNext steps

Informazioni su altre soluzioni Oracle in Azure.Learn about other Oracle solutions on Azure.

Provare a eseguire l'esercitazione Installing and Configuring Oracle Automated Storage Management (Installazione e configurazione di Oracle Automated Storage Management).Try the Installing and Configuring Oracle Automated Storage Management tutorial.