Azure VM での Oracle データベースの作成Create an Oracle Database in an Azure VM

このガイドでは、Oracle 12c データベースを作成するために、Azure CLI を使用して Oracle Marketplace ギャラリー イメージから Azure 仮想マシンをデプロイする方法について説明します。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. サーバーをデプロイすると、Oracle データベースを構成するために SSH 経由で接続します。Once the server is deployed, you will connect via SSH in order to configure the Oracle database.

Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。If you don't have an Azure subscription, create a free account before you begin.

Azure Cloud Shell を開くOpen Azure Cloud Shell

Azure Cloud Shell は、Azure でホストされる対話型のシェル環境で、ブラウザーを介して使用されます。Azure Cloud Shell is an interactive shell environment hosted in Azure and used through your browse. Azure Cloud Shell では、bash または PowerShell のいずれかのシェルを使用して、Azure サービスで動作するさまざまなツールを実行できます。Azure Cloud Shell allows you to use either bash or PowerShell shells to run a variety of tools to work with Azure services. Azure Cloud Shell にはコマンドがプレインストールされており、ローカル環境に何もインストールしなくても、この記事の内容を実行できるようになっています。Azure Cloud Shell comes pre-installed with the commands to allow you to run the content of this article without having to install anything on your local environment.

この記事に含まれるコードを Azure Cloud Shell で実行するには、Cloud Shell セッションを開き、コード ブロック上の [コピー] ボタンを使ってコードをコピーし、Ctrl + Shift + V キー (Windows と Linux) または command + Shift + V キー (macOS) を押して Cloud Shell セッションに貼り付けます。To run any code contained in this article on Azure Cloud Shell, open a Cloud Shell session, use the Copy button on a code block to copy the code, and paste it into the Cloud Shell session with Ctrl+Shift+V on Windows and Linux, or Cmd+Shift+V on macOS. テキストを貼り付けても自動的には実行されません。コードを実行するには、Enter キーを押します。Pasted text is not automatically executed, so press Enter to run code.

Azure Cloud Shell は次の方法で起動できます。You can launch Azure Cloud Shell with:

コード ブロックの右上隅にある [使ってみる] を選択します。Select Try It in the upper-right corner of a code block. テキストが自動的に Cloud Shell にコピーされるわけでは__ありません__。This doesn't automatically copy text to Cloud Shell. Azure Cloud Shell の [使ってみる] の例
ブラウザーで shell.azure.com を開きます。Open shell.azure.com in your browser. Azure Cloud Shell の起動ボタンLaunch Azure Cloud Shell button
Azure Portal の右上隅にあるメニューの [Cloud Shell] ボタンを選択します。Select the Cloud Shell button on the menu in the upper-right corner of the Azure portal. Azure Portal の [Cloud Shell] ボタン

CLI をローカルにインストールして使用する場合、このクイック スタートを実施するには、Azure CLI バージョン 2.0.4 以降を実行している必要があります。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. バージョンを確認するには、az --version を実行します。Run az --version to find the version. インストールまたはアップグレードする必要がある場合は、Azure CLI のインストールに関するページを参照してください。If you need to install or upgrade, see Install Azure CLI.

リソース グループの作成Create a resource group

az group create コマンドでリソース グループを作成します。Create a resource group with the az group create command. Azure リソース グループとは、Azure リソースのデプロイと管理に使用する論理コンテナーです。An Azure resource group is a logical container into which Azure resources are deployed and managed.

次の例では、myResourceGroup という名前のリソース グループを eastus に作成します。The following example creates a resource group named myResourceGroup in the eastus location.

az group create --name myResourceGroup --location eastus

仮想マシンの作成Create virtual machine

仮想マシン (VM) を作成するには、az vm create コマンドを使用します。To create a virtual machine (VM), use the az vm create command.

次の例では、myVM という名前の VM を作成します。The following example creates a VM named myVM. また、既定のキーの場所にまだ SSH キーが存在しない場合は SSH キーも作成します。It also creates SSH keys, if they do not already exist in a default key location. 特定のキーのセットを使用するには、--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

VM を作成すると、Azure CLI によって次の例のような情報が表示されます。After you create the VM, Azure CLI displays information similar to the following example. publicIpAddress の値をメモします。Note the value for publicIpAddress. このアドレスは、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"
}

VM に接続しますConnect to the VM

VM との SSH セッションを作成するには、次のコマンドを使用します。To create an SSH session with the VM, use the following command. IP アドレスを、VM の publicIpAddress 値に置き換えます。Replace the IP address with the publicIpAddress value for your VM.

ssh azureuser@<publicIpAddress>

データベースの作成Create the database

Oracle ソフトウェアは、既に Marketplace イメージにインストールされています。The Oracle software is already installed on the Marketplace image. 次のようにサンプル データベースを作成します。Create a sample database as follows.

  1. oracle スーパーユーザーに切り替え、ログ用にリスナーを初期化します。Switch to the oracle superuser, then initialize the listener for logging:

    $ sudo su - oracle
    $ lsnrctl start
    

    次のように出力されます。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. データベースを作成します。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
    

    データベースの作成には数分かかります。It takes a few minutes to create the database.

  3. Oracle 変数の設定Set Oracle variables

接続する前に、次の 2 つの環境変数を設定する必要があります:ORACLE_HOMEORACLE_SIDBefore 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

また、.bashrc ファイルに ORACLE_HOME と ORACLE_SID 変数を追加することもできます。You also can add ORACLE_HOME and ORACLE_SID variables to the .bashrc file. これにより、これらの環境変数が将来のサインインのために保存されます。任意のエディターを使用して、次のステートメントが ~/.bashrc ファイルに追加されたことを確認してください。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 

Oracle EM Express への接続Oracle EM Express connectivity

データベースを操作するために使用できる GUI 管理ツールのために、Oracle EM Express を設定します。For a GUI management tool that you can use to explore the database, set up Oracle EM Express. Oracle EM Express に接続するには、まず Oracle でポートを設定する必要があります。To connect to Oracle EM Express, you must first set up the port in Oracle.

  1. sqlplus を使用してデータベースに接続します。Connect to your database using sqlplus:

    sqlplus / as sysdba
    
  2. 接続したら、EM Express 用にポート 5502 を設定します。Once connected, set the port 5502 for EM Express

    exec DBMS_XDB_CONFIG.SETHTTPSPORT(5502);
    
  3. コンテナー PDB1 をまだ開いていない場合は開きますが、先に状態を確認します。Open the container PDB1 if not already opened, but first check the status:

    select con_id, name, open_mode from v$pdbs;
    

    次のように出力されます。The output is similar to the following:

      CON_ID NAME                           OPEN_MODE 
      ----------- ------------------------- ---------- 
      2           PDB$SEED                  READ ONLY 
      3           PDB1                      MOUNT
    
  4. PDB1 の OPEN_MODE が READ WRITE でない場合は、次のコマンドを実行して 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;
    

quit」と入力して sqlplus セッションを終了し、「exit」と入力して Oracle ユーザーからログアウトする必要があります。You need to type quit to end the sqlplus session and type exit to logout of the oracle user.

データベースのスタートアップとシャットダウンの自動化Automate database startup and shutdown

VM を再起動したとき、既定では、Oracle データベースは自動的には開始しません。The Oracle database by default doesn't automatically start when you restart the VM. 自動的に開始するように Oracle データベースを設定するには、まず root としてサインインします。To set up the Oracle database to start automatically, first sign in as root. 次に、いくつかのシステム ファイルを作成および更新します。Then, create and update some system files.

  1. root としてサインオンします。Sign on as root

    sudo su -
    
  2. 任意のエディターを使用してファイル /etc/oratab を編集し、次のようにして既定値の NY に変更します。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. /etc/init.d/dbora というファイルを作成し、次の内容を貼り付けます。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. 次のように chmod を使用してファイルのアクセス許可を変更します。Change permissions on files with chmod as follows:

    chgrp dba /etc/init.d/dbora
    chmod 750 /etc/init.d/dbora
    
  5. 次のようにスタートアップとシャットダウンのシンボリック リンクを作成します。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. 変更をテストするには、VM を再起動します。To test your changes, restart the VM:

    reboot
    

接続のポートを開くOpen ports for connectivity

最後のタスクとして、いくつかの外部エンドポイントを構成します。The final task is to configure some external endpoints. VM を保護する Azure ネットワーク セキュリティ グループを設定するには、まず VM で SSH セッションを終了します (前の手順で再起動したときに SSH からログアウトしているはずです)。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. リモートで Oracle データベースにアクセスするために使用するエンドポイントを開くには、次のように az network nsg rule create を使用して、ネットワーク セキュリティ グループ規則を作成します。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. リモートで Oracle EM Express にアクセスするために使用するエンドポイントを開くには、次のように az network nsg rule create を使用して、ネットワーク セキュリティ グループ規則を作成します。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. 必要に応じて、次のように az network public-ip show を使用して、VM のパブリック IP アドレスを再度取得します。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. ブラウザーから EM Express に接続します。Connect EM Express from your browser. ブラウザーが EM Express と互換性があることを確認してください (Flash のインストールが必要です)。Make sure your browser is compatible with EM Express (Flash install is required):

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

SYS アカウントを使用してログインし、 [as sysdba](sysdba として) チェック ボックスにオンにできます。You can log in by using the SYS account, and check the as sysdba checkbox. インストール時に設定したパスワード OraPasswd1 を使用します。Use the password OraPasswd1 that you set during installation.

Oracle OEM Express ログイン ページのスクリーンショット

リソースのクリーンアップClean up resources

これで、Azure での初めての Oracle データベース探索が終了しました。VM は必要なくなりましたので、az group delete コマンドを使用して、リソース グループ、VM、関連するすべてのリソースを削除することができます。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

次の手順Next steps

他の Azure 上での Oracle ソリューションについて学習します。Learn about other Oracle solutions on Azure.

Oracle Automated Storage Management のインストールと構成チュートリアルに挑戦します。Try the Installing and Configuring Oracle Automated Storage Management tutorial.