关于配置数据库连接

了解如何安装自动化脚本并执行可实现功能性 Node-REDMosquittoOracle Database 实例的步骤。这还包括配置不同的解决方案组件以相互连接。

运行脚本

GitHub 回购中的脚本自动预配环境并安装相关项。

  1. 有关指向 GitHub 资料档案库的链接,请参见“下载代码”。
  2. 运行脚本。
  3. 该脚本预配基础结构。
    自动化从:
    1. 创建 VCN 和子网并打开所需的端口。
    2. 使用 Oracle Linux 作为操作系统预配 OCI Compute 实例。
  4. 该脚本将安装软件。
    1. 在实例上安装 Oracle Database (免费开发人员)。
    2. Node-RED 创建方案和表并为方案用户提供所需的权限。
    3. 安装 Node-RED 相关项,例如 node 和 NPM。
    4. 安装 Node-RED
    5. 安装 Mosquitto 服务器。
    6. 更新 sfw 规则以允许外部访问这些端口。
    7. 安装 Oracle 客户端和所需的 Node-RED Oracle Database 插件 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 details 屏幕。

配置 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. 配置图表以从表中读取数据。