데이터베이스 연결 구성 정보

자동화 스크립트를 설치하고 기능적인 Node-RED, MosquittoOracle Database 인스턴스를 사용하는 단계를 수행하는 방법을 알아봅니다. 또한 서로 연결하도록 여러 솔루션 구성 요소를 구성하는 것도 포함됩니다.

스크립트를 실행합니다

GitHub 저장소의 스크립트는 환경 프로비전을 자동화하고 종속성을 설치합니다.

  1. GitHub 저장소에 대한 링크는 Download Code를 참조하십시오.
  2. 스크립트를 실행합니다.
  3. 스크립트가 인프라를 프로비저닝합니다.
    자동화의 시작은 다음과 같습니다.
    1. VCN 및 서브넷을 생성하고 필요한 포트를 엽니다.
    2. Oracle Linux를 운영 체제로 사용하여 OCI Compute 인스턴스를 프로비저닝합니다.
  4. 스크립트가 소프트웨어를 설치합니다.
    1. 인스턴스에 Oracle Database(무료 개발자)를 설치합니다.
    2. Node-RED에 대한 스키마 및 테이블을 생성하고 스키마 사용자에게 필요한 권한을 제공합니다.
    3. 노드 및 NPM과 같은 Node-RED 종속성을 설치합니다.
    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 세부정보 화면이 열립니다.

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
    );

노드-RED 연결 구성

이전에 설정된 Autonomous Database에 Node-RED를 연결합니다.

  1. OCI에서는 Autonomous Database를 탐색합니다.
  2. 데이터베이스 연결을 누릅니다.
  3. 연결 화면을 복사합니다.
  4. 프로비저닝된 Node-RED 서버에 SSH를 통해 연결합니다.
    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. 이전에 생성한 데이터베이스 유저와 동일한 작업 영역을 생성하도록 form을 완성합니다.
  4. APEX 대시보드를 실행합니다.
  5. 애플리케이션 생성을 누릅니다.
  6. 샘플 차트를 선택합니다.
  7. 테이블에서 데이터를 읽도록 차트를 구성합니다.