Oracle Cloud Infrastructureドキュメント

Exadata Databasesの手動管理

Exadata DBシステムには、個々のデータベースを管理するための様々なタスクを実行するための次のコマンドライン・ツールが含まれています:

  • dbaasapi - Exadata DBシステムに対するデータベースの追加および削除。 「dbaasapiの使用」も参照してください。
  • dbaascli - 次のような様々なライフサイクルおよび管理操作を行います:

    • データベースの起動と停止
    • Oracle Netリスナーの起動および停止
    • Oracle Homesに関する情報の表示
    • データベースの別のOracle Homeへの移動
    • 未使用のOracle Homeの削除
    • データベース構成の変更を実行中
    • Oracle Databaseソフトウェア・イメージの管理
    • プラガブル・データベース(PDB)の管理
    • データベースのリカバリの実行
    • マスター暗号化キーのローテーション

    このCLIの使用方法の詳細は、「dbaascliユーティリティ」を参照してください。

dbaasapiの使用

dbaasapiコマンドライン・ユーティリティを使用して、Exadata DBシステムでデータベースを作成および削除できます。 このユーティリティは、REST APIのように動作します。 JSONリクエスト本文を読み込み、出力ファイルにJSONレスポンス本文を生成します。

このユーティリティは、コンピュート・ノードの/var/opt/oracle/dbaasapi/ディレクトリにあり、rootユーザーとして実行する必要があります。

かわりにOracle Cloud Infrastructure コンソールまたはAPIを使用してExadataデータベースを追加または削除する方法については、「Exadata Databasesの管理」を参照してください。

ノート

  • dbaasapiを使用して作成したデータベースは、コンソールに表示されるデータベースのExadata DBシステム・リストには表示されません。
  • 次の手順を実行する前に、Exadata DBシステムのすべてのコンピュート・ノードでクラウド固有のツールを更新する必要があります。 詳細は、「Exadata DBシステムの更新」を参照してください。
  • 特定の時間に実行できるdbaasapi操作は1つだけです。 別の操作を実行する前に、操作のステータスをチェックして操作が完了していることを確認することをお薦めします。

前提条件

データベースを作成し、そのバックアップをOracle Cloud Infrastructure Object Storageに格納する場合は、「Exadata Databaseバックアップの管理」の前提条件を参照し、「オブジェクト・ストレージ」にバックアップするためのネットワーク要件をシステムが満たしていることを確認します。 「データベース・パラメータの作成」を確認し、dbaasapi操作用に作成する入力ファイルに入力する必要のある情報を収集します。

警告

dbaasapiコマンドを使用する場合は、機密情報を含むパラメータ値の指定は避けることをお薦めします。

データベースの作成

次の手順では、dbinputという名前のディレクトリ、myinput.jsonというサンプル入力ファイル、createdb.outというサンプル出力ファイルを作成します。

  1. SSHをExadata DBシステムのコンピュート・ノードに追加します。

    ssh -i <private_key_path> opc@<node_ip_address>
  2. opcとしてログインし、rootユーザーにsudoします。

    login as: opc
    			
    [opc@dbsys ~]$ sudo su - 
    
  3. 入力ファイル用のディレクトリを作成し、そのディレクトリに移動します。

    [root@dbsys ~]# mkdir –p /home/oracle/dbinput
    # cd /home/oracle/dbinput
  4. ディレクトリに入力ファイルを作成します。 次のサンプル・ファイルは、オブジェクト・ストレージの既存のバケットにバックアップを格納するように構成されたデータベースを作成します。 パラメータの説明については、「データベース・パラメータの作成」を参照してください。

    {
      "object": "db",
      "action": "start",
      "operation": "createdb",
      "params": {
        "nodelist":              "",
        "dbname":                "exadb",
        "edition":               "EE_EP",
        "version":               "12.1.0.2",
        "adminPassword":         "<password>",
        "sid":                   "exadb",
        "pdbName":               "PDB1",
        "charset":               "AL32UTF8",
        "ncharset":              "AL16UTF16",
        "backupDestination":     "OSS",
        "cloudStorageContainer": "https://swiftobjectstorage.<region_name>.oraclecloud.com/v1/mycompany/DBBackups", 
        "cloudStorageUser":      "<name@example.com>",
        "cloudStoragePwd":       "<auth_token>"
      },
      "outputfile": "/home/oracle/createdb.out",
      "FLAGS": ""
    }
  5. ユーティリティを実行し、入力ファイルを指定します。

    [root@dbsys ~]# /var/opt/oracle/dbaasapi/dbaasapi -i myinput.json
    
  6. 出力ファイルを確認し、IDを書き留めます。

    [root@dbsys ~]# cat /home/oracle/createdb.out
    {
       "msg" : "",
       "object" : "db",
       "status" : "Starting",
       "errmsg" : "",
       "outputfile" : "/home/oracle/createdb.out",
       "action" : "start",
       "id" : "170",
       "operation" : "createdb",
       "logfile" : "/var/opt/oracle/log/gsa1/dbaasapi/db/createdb/1.log"
    } 
  7. JSONファイルを作成して、データベースの作成状況を確認します。 "status"の動作に注意してください。 IDとdbnameを前のステップの値に置き換えます。

    {
      "object": "db",
      "action": "status",
      "operation": "createdb",
      "id": 170,
      "params": {
        "dbname": "exadb"
      },
      "outputfile": "/home/oracle/createdb.out",
      "FLAGS": ""
    }  
  8. ステータス・ファイルを入力としてユーティリティを実行し、ユーティリティ出力を確認します。

    レスポンスが操作の成功または失敗を示すまで、定期的にステータス・アクションを再実行してください。

    [root@dbsys ~]# /var/opt/oracle/dbaasapi/dbaasapi -i db_status.json
      
    [root@dbsys ~]# cat /home/oracle/createdb.out
     
    {
       "msg" : "Sync sqlnet file...[done]\\n##Done executing tde\\nWARN: Could not register elogger_parameters: elogger.pm::_init: /var/opt/oracle/dbaas_acfs/events does not exist\\n##Invoking assistant bkup\\nUsing cmd : /var/opt/oracle/ocde/assistants/bkup/bkup -out /var/opt/oracle/ocde/res/bkup.out -sid=\"exadb1\" -reco_grp=\"RECOC1\" -hostname=\"ed1db01.data.customer1.oraclevcn.com\" -oracle_home=\"/u02/app/oracle/product/12.1.0/dbhome_5\" -dbname=\"exadb\" -dbtype=\"exarac\" -exabm=\"yes\" -edition=\"enterprise\" -bkup_cfg_files=\"no\" -acfs_vol_dir=\"/var/opt/oracle/dbaas_acfs\" -bkup_oss_url=\"bkup_oss_url\" -bkup_oss_user=\"bkup_oss_user\" -version=\"12102\" -oracle_base=\"/u02/app/oracle\" -firstrun=\"no\" -action=\"config\" -bkup_oss=\"no\" -bkup_disk=\"no\" -data_grp=\"DATAC1\" -action=config \\n\\n##Done executing bkup\\nWARN: Could not register elogger_parameters: elogger.pm::_init: /var/opt/oracle/dbaas_acfs/events does not existRemoved all entries from creg file : /var/opt/oracle/creg/exadb.ini matching passwd or decrypt_key\\n\\n#### Completed OCDE Successfully ####\\nWARN: Could not register elogger_parameters: elogger.pm::_init: /var/opt/oracle/dbaas_acfs/events does not exist",
       "object" : "db",
       "status" : "Success",
       "errmsg" : "",
       "outputfile" : "/home/oracle/createdb_exadb.out",
       "action" : "start",
       "id" : "170",
       "operation" : "createdb",
       "logfile" : "/var/opt/oracle/log/exadb/dbaasapi/db/createdb/170.log"
    }

データベース・パラメータの作成

次のパラメータを使用してデータベースを作成します。

パラメータ 説明
オブジェクト "db"
action "start"
operation "createdb"
nodelist "" (空の文字列)。 データベースは、クラスタ内のすべてのノードに作成されます。
dbname 引用符で囲まれたデータベース名。
エディション "EE_EP" (Enterprise Edition - Extreme Performanceのみがサポートされています)。
version 18.0.0.012.2.0.112.1.0.2、または11.2.0.4のようなデータベースのバージョンを引用符で囲みます。
adminPassword 新しいデータベースに使用する管理者(SYSおよびSYSTEM)のパスワード(引用符で囲みます)。 パスワードは9〜30文字で、大文字2文字、小文字2文字、数字2文字、特殊文字2文字以上を含む必要があります。 特殊文字は、_、#、または -でなければなりません。
sid 引用符で囲まれたデータベースのSID。
pdbName 差し込み可能なデータベースの名前(引用符で囲みます)。
charset

引用符で囲まれたデータベースの文字セット。

指定できる値
ncharset データベースの各国語キャラクタ・セット。 AL16UTF16またはUTF8の値が引用符で囲まれています。
backupDestination

引用符で囲まれたデータベースのバックアップ先。 次のバックアップ先を構成できます。

NONEバックアップ先が構成されていません。

DISKデータベースのバックアップをローカル・ディスクの高速リカバリ領域に構成します。

OSS Oracle Cloud Infrastructure Object Storageサービスの既存のバケットにデータベース・バックアップを構成します。 すべてのcloudStorageパラメータを指定する必要があります。

BOTH オブジェクト・ストレージ内のローカル・ディスクと既存のバケットの両方にデータベース・バックアップを構成します。 すべてのcloudStorageパラメータを指定する必要があります。

例えば:

"backupDestination":"BOTH"

cloudStorageContainer=<swift_url>

バックアップ先をOSSまたはBOTHに指定する場合は必須です。 オブジェクト・ストレージ URL、Oracle Cloud Infrastructureテナント、オブジェクト・ストア内の既存のバケットをバックアップ先として使用する形式は次のとおりです:

https://swiftobjectstorage.<region_name>.oraclecloud.com/v1/<tenant>/<bucket>

リージョン名文字列を検索するには、「リージョンと可用性ドメイン」を参照してください。

例えば:

"cloudStorageContainer":"https://swiftobjectstorage.<region_name>.oraclecloud.com/v1/<company_name>/DBBackups"

cloudStorageUser=<user_name>

バックアップ先をOSSまたはBOTHに指定する場合は必須です。 Oracle Cloud Infrastructureユーザー・アカウントのユーザー名。たとえば、次のようになります:

"cloudStorageUser":"name@company.com"

これは、コンソールにサインインするために使用するユーザー名です。 ユーザー名は、「前提条件」で説明されているように、Administratorsグループのメンバーである必要があります。

cloudStoragePwd=<auth_token>

バックアップ先をOSSまたはBOTHに指定する場合は必須です。 ConsoleまたはIAM APIを使用して生成された「認証トークン」は、次のように引用符で囲みます:

"cloudStoragePwd":"<auth_token>"

詳細は、「ユーザー資格証明の管理」を参照してください。

これはOracle Cloud Infrastructureユーザーのパスワードではありません。

outputfile リクエストの出力の絶対パス。たとえば、"outputfile":"/home/oracle/createdb.out"
FLAGS "" (空の文字列)。

データベースの削除

プロダクション(非テスト)データベースを削除する前に、最終バックアップを作成することをお薦めします。 Exadataデータベースをバックアップする方法については、「bkup_apiを使用したExadata Databaseバックアップの管理」を参照してください。

  1. SSHをExadata DBシステムのコンピュート・ノードに追加します。

    ssh -i <private_key_path> opc@<node_ip_address>
  2. opcとしてログインし、rootユーザーにsudoします。

    login as: opc
    			
    [opc@dbsys ~]$ sudo su - 
    
  3. 入力ファイル用のディレクトリを作成し、そのディレクトリに移動します。

    [root@dbsys ~]# mkdir –p /home/oracle/dbinput
    
    
    # cd /home/oracle/dbinput
  4. ディレクトリに入力ファイルを作成し、削除するデータベース名と出力ファイルを指定します。 詳細は、「データベース・パラメータの削除」を参照してください。

    {
      "object":  "db",
      "action":  "start",
      "operation": "deletedb",
      "params": {
        "dbname": "exadb"
      },
       "outputfile":   "/home/oracle/delete_exadb.out",
       "FLAGS": ""
    }
  5. ユーティリティを実行し、入力ファイルを指定します。

    [root@dbsys ~]# /var/opt/oracle/dbaasapi/dbaasapi -i myinput.json
    
  6. 出力ファイルを確認し、IDを書き留めます。

    [root@ed1db01 ~]# cat /home/oracle/delete_exadb.out
     
    {
       "msg" : "",
       "object" : "db",
       "status" : "Starting",
       "errmsg" : "",
       "outputfile" : "/home/oracle/deletedb.out",
       "action" : "start",
       "id" : "17",
       "operation" : "deletedb",
       "logfile" : "/var/opt/oracle/log/exadb/dbaasapi/db/deletedb/17.log"
    }
  7. JSONファイルを作成して、データベースの削除ステータスを確認します。 以下のサンプル・ファイルの"status"の動作に注意してください。 IDとdbnameを前のステップの値に置き換えます。

    {
      "object": "db",
      "action": "status",
      "operation": "deletedb",
      "id": 17,
      "params": {
        "dbname": "exadb"
      },
      "outputfile": "/home/oracle/deletedb.out",
      "FLAGS": ""
    }  
  8. ステータス・ファイルを入力としてユーティリティを実行し、ユーティリティ出力を確認します。

    操作が成功したことをレスポンスが示すまで、定期的に状況アクションを再実行してください。

    [root@dbsys ~]#  /var/opt/oracle/dbaasapi/dbaasapi -i db_status.json
    
    [root@dbsys ~]# cat /home/oracle/deletedb.out
     
    {
       "msg" : "Using cmd : su - root -c \"/var/opt/oracle/ocde/assistants/dg/dgcc -dbname exadb -action delete\" \\n\\n##Done executing dg\\nWARN: Could not register elogger_parameters: elogger.pm::_init: /var/opt/oracle/dbaas_acfs/events does not exist\\n##Invoking assistant bkup\\nUsing cmd : /var/opt/oracle/ocde/assistants/bkup/bkup -out /var/opt/oracle/ocde/res/bkup.out -bkup_oss_url=\"bkup_oss_url\" -bkup_daily_time=\"0:13\" -bkup_oss_user=\"bkup_oss_user\" -dbname=\"exadb\" -dbtype=\"exarac\" -exabm=\"yes\" -firstrun=\"no\" -action=\"delete\" -bkup_cfg_files=\"no\" -bkup_oss=\"no\" -bkup_disk=\"no\" -action=delete \\n\\n##Done executing bkup\\nWARN: Could not register elogger_parameters: elogger.pm::_init: /var/opt/oracle/dbaas_acfs/events does not exist\\n##Invoking assistant dbda\\nUsing cmd : /var/opt/oracle/ocde/assistants/dbda/dbda -out /var/opt/oracle/ocde/res/dbda.out -em=\"no\" -pga_target=\"2000\" -dbtype=\"exarac\" -sga_target=\"2800\" -action=\"delete\" -build=\"no\" -nid=\"no\" -dbname=\"exadb\" -action=delete \\n",
       "object" : "db",
       "status" : "InProgress",
       "errmsg" : "",
       "outputfile" : "/home/oracle/deletedb.out",
       "action" : "start",
       "id" : "17",
       "operation" : "deletedb",
       "logfile" : "/var/opt/oracle/log/exadb/dbaasapi/db/deletedb/17.log"
    }

データベース・パラメータの削除

データベースを削除するには、次のパラメータを使用します。

パラメータ 説明
オブジェクト "db"
action "start"
operation "deletedb"
dbname 引用符で囲まれたデータベース名。
outputfile リクエストの出力の絶対パス。たとえば、"/home/oracle/deletedb.out"
FLAGS "" (空の文字列)。