※本記事は、Andy Tael (Senior Principal Product Manager)による”Oracle Cloud Infrastructure Cloud Shell and Oracle Autonomous Database“を翻訳したものです。
2020年4月30日
本ブログでは、Oracle Cloud InfrastructureのCLIとOracle Cloud Infrastructureのクラウド・シェルにあるSQL*Plusを使用して、Oracle Autonomous Database(無償版)を作成し、接続するステップを紹介します。なお、これを実施するには、無償アカウントに登録しておく(または既存のテナンシを使用)必要があり、また本ブログのステップに相応する、Linuxのシェルに関する基本的なスキルが必要です。
クラウド・シェルは、Oracle CloudコンソールからアクセスできるWebブラウザ・ベースのターミナルで、Oracle Cloud Infrastructureの全ユーザーが利用可能です。無償にて利用可能(月次テナンシの範囲内で)で、事前承認されたCLIにてLinuxのシェルにアクセスできます。また Oracle Cloud Infrastructureのチュートリアルおよびラボで活用できる便利なツールも提供されます。クラウド・シェルは永続フレームとしてコンソールに表示され、ユーザーがコンソールの別のエリアへ移動している間も常にアクティブです。
Oracle Cloud InfrastructureのAutonomous Databaseはフル・マネージドの事前構成済みデータベース環境で、「Autonomous Transaction Processing」と「Autonomous Data Warehouse」の2種類のワークロードがあります。ハードウェアの構成や管理も、ソフトウェアのインストールも不要です。プロビジョニング後は、可用性やパフォーマンスに影響を与えることなく、いつでもデータベースのCPUコア数やストレージ容量を増やすことができます。
無償アカウントを作成したら(必要であれば)、以下のステップにて、クラウド・シェルを使用してAutonomous Databaseを作成し、接続します。各ステップの詳細は、このブログの後半をご覧ください。
- ご利用のテナンシにてクラウド・シェルを開きます。
- ステップの簡略化とタイプミス回避のため、環境変数を設定します。
- Autonomous Databaseをデプロイするコンパートメント用にOracle Cloud識別子(OCID)を取得します。
- Autonomous Databasを作成します(この例では、「Autonomous Transaction Processing」タイプとFree)。
- Autonomous Database用にOCIDを取得します。
- ウォレット・ファイル用のディレクトリ構造を作成し、ウォレットをダウンロードします。
- Autonomous Databaseに接続します。
以下のステップで使用するコマンドはすべて、GitHubレポジトリからダウンロードできます。クラウド・シェル環境にはGitもあるため、レポジトリをクラウド・シェル環境に複製することも可能です。
また tmuxを使用すれば、セッションを失うこともありません。こちらがその早見表になります。
ステップ1:クラウド・シェルを開く
Oracle Cloud Infrastructureのテナンシにサインインし、コンソールのヘッダーにあるコマンド・プロンプト・アイコンをクリックします。

これでクラウド・シェル環境が作成され、コマンドを実行したりAutonomous Databaseに接続したりすることが可能になります。

また、以下のようにURLを作成してクラウド・シェルを直接開くという方法もあります。この場合、<region>と<tenancy>には実際の値を入れる必要があります。
https://console.us-<region>-1.oraclecloud.com/a/<tenancy>?cloudshell=true
ステップ2:Gitレポジトリを複製し、環境変数を設定する
- Gitレポジトリを複製します。Gitはクラウド・シェルに事前インストールされています。
andy_tael@cloudshell:oci_cs_adb (us-ashburn-1)$ git clone https://github.com/andytael/oci_cs_adb
- クラウド・シェルのGitレポジトリを変更してしまわないよう、ディレクトリを作業用ディレクトリに変更してから、リモートのオリジナルを削除します。(ブランチを作成し、レポジトリに加えたり、レポジトリを改善したりすることは自由です)
andy_tael@cloudshell:oci_cs_adb (us-ashburn-1)$ cd oci_cs_adb andy_tael@cloudshell:oci_cs_adb (us-ashburn-1)$ git remote remove origin
Gitの作業用ディレクトリには以下のファイルがあるはずです。
- env_vars.sh:環境変数を設定します。
- get_ocid_comp.sh:コンパートメント用にOCIDを取得します。
- create_atp_free.sh:Autonomous Database(Autonomous Transaction Processing)を作成します。
- get_adb_ocid.sh:作成したAutonomous Database用にOCIDを取得します。
- get_wallet.sh:作成したAutonomous Database用にウォレットを取得します。
- get_conn_string.sh:このファイルは使用しません。
- README.md:このファイルは使用しません。これはGitHubレポジトリの一部です。

- 「vim」を使用して「env_vars.sh」ファイルを編集し、「comp_name」変数および「db_name」変数を設定します。続いてファイルを保存します。
andy_tael@cloudshell:oci_cs_adb (us-ashburn-1)$ vi env_vars.sh
- 環境変数を設定します。
andy_tael@cloudshell:oci_cs_adb (us-ashburn-1)$ source env_vars.sh
ステップ3:コンパートメント用にOCIDを取得する
クラウド・シェルにはOracle Cloud InfrastructureのCLIが事前インストールされているので、このCLIを使用してデータを取得します(さらにリソースを作成します)。Autonomous Databaseをデプロイするコンパートメント用にOCIDを取得します。
andy_tael@cloudshell:oci_cs_adb (us-ashburn-1)$ source get_ocid_comp.sh
このコマンドは、コンパートメントのOCIDを返します。OCIDを返さない場合は、環境変数を確認してください。

ステップ4:Autonomous Databaseを作成する
以下のコマンドを実行して、「ocid_comp」にて指定された(ステップ3)コンパートメントにAutonomous Database(Autonomous Transaction ProcessingまたはOLTP)を作成します。名前および表示名(コンソールにて使用)は「db_name」変数にて指定します。データベースの管理者用パスワードは「db_pwd」変数にて指定します。
andy_tael@cloudshell:oci_cs_adb (us-ashburn-1)$ source create_atp_free.sh

このプロセスには数分かかることがあります。Autonomous Databaseの作成状況を確認するには、「check_atp_status.sh」スクリプトまたはコンソールを使用します。
andy_tael@cloudshell:oci_cs_adb (us-ashburn-1)$ source check_atp_status.sh

ステップ5:Autonomous Database用にOCIDを取得する
ウォレット・ファイルをダウンロードするには、Autonomous Database用のOCIDが必要です。次のコマンドを実行します。
andy_tael@cloudshell:oci_cs_adb (us-ashburn-1)$ source get_adb_ocid.sh

ステップ6:ウォレット・ファイル用のディレクトリ構造を作成し、ウォレットをダウンロードする
Autonomous Databaseに接続するには、ウォレット・ファイルが必要です。次のコマンドを実行し、必要なディレクトリ構造を作成し、ウォレットを解凍します。
andy_tael@cloudshell:oci_cs_adb (us-ashburn-1)$ source get_wallet.sh

ステップ7:Autonomous Databaseに接続する
次のコマンドを実行し、ウォレット・ファイルが置かれている場所を反映するように、「sqlnet.ora」ファイルを編集します。オリジナルの「sqlnet.ora」ファイルのコピーは「$TNS_ADMIN」に保存されます。
andy_tael@cloudshell:oci_cs_adb (us-ashburn-1)$ source fix_sqlnet.sh

すべてが正しく実行された場合、クラウド・シェルにて次のコマンドを実行することで、Autonomous Databaseに接続できます。
sqlplus admin/${db_pwd}@${conn_string}

QUITコマンドにて、SQL*Plusから退出します。
お疲れさまでした。
@
