新着情報

Autonomous Database 接続検証 (1/2)

概要

準備

手順

この節では前節で準備したものの詳しい設定手順を説明します。

  1. adb データベース
    No. 操作内容 画像
    1 [Autonomous Databaseの作成]をクリック
    2 [コンパートメント]←事前に定義済みのコンパートメント
    [表示名]←adb
    [データベース名]←adb
    [ワークロードタイプの選択]←データ・ウエアハウス
    [デプロイメント・タイプの選択]←共有インフラストラクチャ
    3 [Always Free]←有効化
    4 [アクセス・タイプ]→全ての場所からのセキュアアクセス
    [ライセンス・タイプの選択]←ライセンス込み
    [Autonomous Databaseの作成]をクリック
    5 アイコン adb が[プロビジョニング中]から[使用可能]に替わったら[データベース・アクション]を選択
    6 [Database Actions]から[SQL]を選択
    7 [ワークシート]へ事前に用意しておいたSQL(後述)を張り付けて一括実行
    成功したら[Database Actions]は閉じます。
    8 [Autonomous Databaseの詳細]から[DB接続]を選択
    9 [クライアント資格証明(ウォレット)のダウンロード]で[インスタンス・ウォレット]を選択し[ウォレットのダウンロード]をクリック
    10 ウォレットに適用するパスワードを入力して[ダウンロード]をクリック
    本稿では省略時初期値の「Wallet_adb.zip」をそのまま受け入れます。
    このウォレットは後述する win_2k19_svr コンピュート・インスタンス上へ Oracle クライアントを構成する時に使用します。

    No.7 の手順で実行した SQL のリストは次のものです。

    create user PLUMSIX identified by Tekit0u_Na_Yu_za_mei
    quota unlimited on DATA
    default tablespace DATA
    temporary tablespace TEMP
    ;
    grant create session, alter session, create table
      , create procedure, select_catalog_role to PLUMSIX;
    create table PLUMSIX.PRODUCTS
    ( ID number(8) primary key
    , NAME varchar2(60)
    );
    insert into PLUMSIX.PRODUCTS ("ID","NAME") values (1000,'受領書管理システム');
    insert into PLUMSIX.PRODUCTS ("ID","NAME") values (1001,'Multi-threaded Unloader');
    insert into PLUMSIX.PRODUCTS ("ID","NAME") values (1002,'静脈認証タイムレコーダー');
    commit;
    
  2. win_2k19_svr コンピュート・インスタンス
    No. 操作内容 画像
    1 [インスタンスの作成]をクリック
    2 [名前]←win_2k19_svr
    [コンパートメントに作成]←adb と同じコンパートメント名
    3 [イメージ]←Windows Server 2019 Standard
    [シェイプ]←VM.Standard.E4.Flex
    4 [作成]をクリック
    5 アイコン win_2k19_svr が[プロビジョニング中]から[実行中]に替わったら[インスタンス・アクション]内の[パブリックIPアドレス]の[コピー]をクリックしクリップボードへ保存します。
    6 Windowsボタンを押して[mstsc -v:]と入力した後 Ctrl-C を押してクリップボードをペーストします。
    7 [リモートデスクトップ接続]を使って作成したインスタンスへ接続します。
    [インスタンス・アクション]内の[初期パスワード]を使ってログインします。
    与えられた初期パスワードは初回ログイン時に変更するよう求められるので対応します。
  3. oci-bucket 標準ストレージ層バケット
    No. 操作内容 画像
    1 [バケットの作成]をクリック
    2 [バケット名]←oci-bucket
    [作成]をクリック
  4. win_2k19_svr 日本語環境の導入
    No. 操作内容 画像
    1 OCI で提供される Windows イメージには日本語の言語対応が含まれていません。MTU は多言語化未対応なのでこのまま使うとメッセージが文字化けしてしまいます。これを防ぐため、Windows の日本語化を行います。
    Windows メニューから[Settings]をクリックし更に[Time & language]をクリックします。
    2 [Add language]をクリック
    10 リストボックスの中から[日本語]を選び[Next]をクリック
    3 MTUを使う為には不必要なので[Speech]と[Handwriting]をアン・チェックし[Install]をクリックします。
    必要があれば[Date & Time]、[Region]も変更します。初期値としてそれぞれタイムゾーンが[UTC +00:00]、地域が[United States]に設定されています。
    日本語化の効果は次回からのログインに反映されます。
  5. OCI-CLIツール の導入
    No. 操作内容 画像
    1 「管理者として実行」オプションを使用してPowerShellコンソールを開きます。
    [Windowsメニュー]ボタンを右ボタンでクリックするとショートカットメニューを表示することが出来、そこから起動することも出来ます。
    2 OCI-CLI のインストールスクリプトを実行する為のリモート実行ポリシーを設定します。
    コマンド:
    Set-ExecutionPolicy RemoteSigned
    3 インストーラー・スクリプトをダウンロードします。
    コマンド:
    Invoke-WebRequest https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.ps1 -OutFile install.ps1
    4 インストーラ・スクリプトを実行します。
    コマンド:
    install.ps1 -AcceptAllDefaults
    5 CLIからOCIへ接続する時の資格証明を自動化する為、構成ファイル(.\oci\config)を用意します。
    構成ファイルの作成には
    user OCID, tenancy OCID, region by index (or name), 及び location of your API Signing private key file
    の4つの情報を事前に入手する必要があります。この作業のショートカットが OCI コンソールに用意されています。右上済の[マイ・プロファイル]をクリック
    6 [アイデンティティー]-[自分のプロファイル]画面のの[リソース]パネルから[AKIキー]を選択します。
    CLI接続の為に専用のAPIキーを作るには[APIキーの追加]ボタンをクリックします。既存のAPIキーを流用してもよい場合は右端のサブメニューボタンをクリックします。本稿では既存のAPIキーを使って説明します。
    7 サブ・メニューから[構成ファイルの表示]を選び、表示された画面のテキストをコピーします。表示されているものが前述のショートカットにあたるです。
    8 コマンド・プロンプトを表示し、構成ファイルの保存用フォルダを作成します。
    コマンド:
    mkdir %UserProfile%\.oci
    更に新しい構成ファイルの名前を指定してメモ帳を開きます。
    コマンド:
    notepad %UserProfile%\.oci\config
    メモ帳が開いたら前のステップでクリップボードへ保存しておいた資格証明情報を貼り付けます。
    <path to your private keyfile> # TODO
    が書き込まれた場所は実際にプライベート鍵(OCIのコンソールやマニュアル上では秘密キーと表現)を保存する予定のフル・パスへ置き換えます。最後に構成ファイルを保存してメモ帳を閉じます。
    9 構成ファイルで置き場所を指定したプライベート鍵はPEM形式で作成されたものが必要で、openssl コマンドなどで作成済みのものを流用する事も、OCIコンソール上で生成する事も出来ます。
    後者の場合は[APIキーの追加]をクリックして表示されるダイアログを利用します。
    10 プライベート鍵を構成ファイルのkey_fileパラメータで指定した場所へ保存します。
    11 構成ファイルの作成とプライベート鍵の配置が正しく行われると、CLIを使ってOCIクラウドのメタ情報等の入手が出来るようになります。下記は名前空間を参照した例です:
    oci os ns get
  6. Visual Studio 2015、2017、2019、および 2022 用 Microsoft Visual C++ 再頒布可能パッケージ の導入
    No. 操作内容 画像
    1 Microsoft 社のHPからダウンロードした実行形式を起動し[インストール]をクリック
    2 [閉じる]をクリックして終了
  7. Oracle Database 19c Client (19.3) for Microsoft Windows x64 (64-bit) の導入
    No. 操作内容 画像
    1 Oracle 社のHPからダウンロードしたZip書庫を解凍し、setup.exe を起動します。
    [インストール・タイプ]←管理者
    [次へ]をクリック
    2 [Windows 組込アカウントの使用]をクリック
    [次へ]をクリック
    3 [Oracle ベース]←C:\app\client\opc
    [ソフトウエアの場所]←C:\app\client\opc\product\19.0.0\client_1
    [次へ]をクリック
    4 [サマリー]を確認後[インストール]をクリック
    5 [閉じる]をクリックして完了
  8. MTU v4.4.1 サンプル版 の導入
    No. 操作内容 画像
    1 当サイトの[ダウンロード]から入手したサンプル版 mtu_x64s.msiを実行
    ウイザードが起動したら[次へ]をクリック
    2 [ソフトウエア使用許諾契約書]をチェック
    [次へ]をクリック
    3 [標準]をクリック
    4 [インストール]をクリック
    5 [終了]をクリック
    RDP接続が閉じられます。セットアップ作業がこの後も続くので再接続して下さい。
  9. Oracle ウォレット の構成
    No. 操作内容 画像
    1 手順 1 の 10 でダウンロードしておいたウォレット(Wallet_adb.zip)を解凍して ORACLE_HOME\network の下に作成した Wallet_adb という名前のディレクトリへ解凍したものを保存します。
    このデモで作成した ORACLE_HOME は C:\app\client\opc\product\19.0.0\client_1 です。
    2 コマンドプロンプトを表示しカレントディレクトリを ORACLE_HOME へ移します。
    コマンド:
    cd /d C:\app\client\opc\product\19.0.0\client_1
    3 Oracle クライアントのユーティリティーを使って、ウォレットを有効化します。
    コマンド:
    mkstore -wrl .\network\Wallet_adb -createCredential adb_high PLUMSIX Tekit0u_Na_Yu_za_mei
    adb_highは接続文字列、PLUMSIX とその後のパスワードは手順 1-7 で使用したものとなります。
    ウォレット・パスワードを入力してください:というプロンプトが表示されますのでウォレット作成時(手順 1-9)に入力したパスワード入力します。
    4 コマンドを入力して前のステップで登録された資格証明が利用可能かどうかを確認します。
    コマンド:
    mkstore -wrl .\network\Wallet_adb -listCredential
  10. Oracle Net サービス の構成
    No. 操作内容 画像
    1 メモ帳を使って .\network\admin\sqlnet.ora を開き、次のパラメータを含むよう編集し、保存します。

    NAMES.DIRECTORY_PATH= (TNSNAMES)
    NAMES.DEFAULT_DOMAIN = plumsix.local
    
    WALLET_LOCATION =
      (SOURCE =
        (METHOD = FILE)
        (METHOD_DATA =
          (DIRECTORY = ?/network/Wallet_adb)
        )
      )
    
    SQLNET.WALLET_OVERRIDE = TRUE
    SSL_CLIENT_AUTHENTICATION = TRUE
    SSL_VERSION = 0
    
    2 メモ帳を使って .\network\admin\tnsnames.ora を開き、次のパラメータを含むよう編集し、保存します。

    adb_high.plumsix.local = 
        (description= 
            (retry_count=20)
            (retry_delay=3)
            (address=
                (protocol=tcps)
                (port=1522)
                (host=adb.ap-tokyo-1.oraclecloud.com)
            )
            (connect_data=
                (service_name=(ウォレットの書庫に含まれている tnsnames.ora から抜き書きする)_adb_high.adb.oraclecloud.com)
            )
            (security=
                (ssl_server_cert_dn="CN=adb.ap-tokyo-1.oraclecloud.com, OU=Oracle ADB TOKYO, O=Oracle Corporation, L=Redwood City, ST=California, C=US")
            )
        )
    
    3 Oracle ウォレットを使って adb へ接続できているか確認します。
    コマンド:
    sqlplus /@adb_high
    show user
    exit
  11. MTU 環境変数 (Env.bat) の編集と製品コンポーネントのインストール
    No. 操作内容 画像
    1 [Windows メニュー]-[Plumsix MTU v4.4 64-bit サンプル版]-[コマンド・プロンプト]をクリック
    2 メモ帳でカレントディレクトリにある Env.bat を開きます。
    英語版のメモ帳はShift-JISコードで書かれた Env.bat を正しく読み込めない為文字化けが発生しますが、編集対象する部分は ASCII のみなので特に支障は有りません。
    出荷時初期値を次の様に書き換えます。

    パラメータ 出荷時初期値 このデモで使用する値
    USERID SYSTEM/MANAGER /@adb_high
    SRC_USER SCOTT/TIGER (空文字列)
    STDOUT 0x0000 0x0003
    STREAM_LOCATOR (空文字列) ipc_pipe://oci os object put -ns {E=TENANCY_NS} -bn oci-bucket –name output/{C}.{X} –force –file –
    FILETRACE _trace_%DTM%.log REPLACE _trace.log REPLACE
    FILEDURATION _duration_%DTM%.log REPLACE _duration.log REPLACE
    EMBED_COLUMN_NAME (空文字列) ,:”:”
    CHARSETID 0 873
    DB_FILE_MULTIBLOCK_READ_COUNT 128 (空文字列)

    ファイルの先頭行に次のステートメントを追加します。

    chcp 932
    for /F "usebackq" %%I in (`powershell -Command ^"oci os ns get ^| ConvertFrom-Json ^| Format-Wide -Property data^"`) do @set TENANCY_NS=%%I
    
    3 Env.bat の編集/保存後、カレントディレクトリにある Install.bat を起動して製品コンポーネント(4つの表と1つのパッケージ仕様)を導入します。
    これで検証の準備は整いました。

検証

MTU の Unload.bat スクリプトを実行して Autonomous Database からデータが抽出できるかどうかを確認します。