關於設定資料庫連線

瞭解如何安裝自動化命令檔,並執行導致 Node-REDMosquittoOracle Database 執行處理的步驟。這也包括設定不同的解決方案元件以相互連線。

執行命令檔

GitHub 儲存區域中的程序檔可自動佈建環境並安裝相依性。

  1. 如需 GitHub 儲存庫的連結,請參閱「下載代碼」。
  2. 執行命令檔。
  3. 此命令檔會佈建基礎架構。
    自動化從:
    1. 建立 VCN 和子網路,然後開啟必要的連接埠。
    2. 啟動設定 OCI Compute 執行處理 (使用 Oracle Linux 作為作業系統)。
  4. 此程序檔會安裝軟體。
    1. 在執行處理上安裝 Oracle Database (免費的開發人員)。
    2. 建立 Node-RED 的綱要和表格,並提供綱要使用者必要的權限。
    3. 安裝 Node-RED 相依性,例如節點和 NPM。
    4. 安裝 Node-RED
    5. 安裝 Mosquitto 伺服器。
    6. 更新 sfw 規則,以允許外部存取這些連接埠。
    7. 安裝 Oracle 從屬端和必要的 Node-RED Oracle Database Plugin node-red-contrib-oracledb-mod
    8. 部署訂閱 Mosquitto 主題的 Node-RED 流程,並將資料放入資料庫。

連線資料庫

啟動並執行所有項目 (大約需要 15 分鐘) 之後,您必須將使用者名稱和密碼新增至 Node-RED ,才能連線至資料庫。

  1. 登入 Node-RED <Machine IP>:1880
  2. 按兩下 oracledb 節點。
  3. 按一下編輯按鈕。
  4. 取代為 Oracle Autonomous Database

建立 Autonomous Database

使用 OCI 設定 Oracle Autonomous Database

  1. 在 OCI 中,瀏覽至 Autonomous Database
  2. 按一下建立自治式資料庫
  3. 選擇工作負載類型下,選取交易處理
  4. 啟用運算自動調整
  5. 建立管理員證明資料底下,輸入您的密碼。
  6. 在畫面底部,按一下建立 Autonomous Database
    Autonomous Database 詳細資訊畫面隨即開啟。

設定 Autonomous Database

設定 Node-RED 所需的使用者與綱要,並建立用來測試解決方案的測試表格。

  1. Autonomous Database 詳細資訊畫面上,按一下資料庫動作 > SQL
    資料庫動作 | SQL 編輯器隨即開啟。
  2. 執行下列命令檔以建立綱要和使用者、提供必要的授權,以及建立起始測試表格。
    CREATEUSER nodered IDENTIFIED BY<YourPassword>;
    GRANTCREATE SESSION TO nodered;
    GRANTCREATETABLETO nodered;
    GRANTCREATEPROCEDURETO nodered;
    GRANTCREATETRIGGERTO nodered;
    GRANTCREATEVIEWTO nodered;
    ALTERUSER C##NODERED QUOTA UNLIMITED ON USERS;
    CREATETABLE nodered.nodered (col1 varchar2(500),col2 varchar2(500));
    CREATETABLE nodered.sensor_data (
      id NUMBER GENERATED ALWAYS ASIDENTITY, -- Optional auto-generated ID column
      vibration NUMBER,
      sound NUMBER,
      temp NUMBER,
      humi NUMBER,
    timestampTIMESTAMPDEFAULTCURRENT_TIMESTAMP
    );

設定 Node-RED 連線

Node-RED 連線至先前設定的 Autonomous Database。

  1. 在 OCI 中,瀏覽 Autonomous Database
  2. 按一下資料庫連線
  3. 複製連線畫面。
  4. 連線 (透過 SSH) 至已啟動設定的 Node-RED 伺服器。
    1. 編輯 tnsnames.ora
    2. 新增連線字串:vi /opt/oracle/product/$DBHOME/dbhomeFree/network/admin/tnsnames.ora
    3. 貼上連線字串。
    4. 將連線字串重新命名為:adb = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.eu-frankfurt-1.oraclecloud.com))(connect_data=(service_name=ixcsyvrmtjm8ebr_iottest_high.adb.oraclecloud.com))(security=(ssl_server_dn_match=yes)))
  5. 瀏覽至 Node-RED 主控台。
  6. 編輯 oracledb 節點。
  7. 修改伺服器連線與安全。

    附註:

    如果出現 ORA-12506: TNS:listener rejected connection based on service ACL filtering 錯誤,請修改「存取控制清單」以包含 Node-RED 伺服器的 IP。您也必須新增要連線之機器的 IP,並停用 mTLS 的需求。

設定 Oracle APEX

您可以使用 Kaggle 或您自己的感測器資料。

  1. 啟動資料庫動作。
  2. 按一下 APEX WORKSPACES
  3. 完成表單以建立工作區,確保您使用先前建立的相同資料庫使用者。
  4. 啟動 APEX 儀表板。
  5. 按一下建立應用程式
  6. 選取圖表範例
  7. 設定圖表以從表格讀取資料。