Node.js 애플리케이션 빌드

Autonomous Database에 액세스하는 Node.js 애플리케이션을 구축하려면 먼저 Autonomous Database의 지속적인 가용성 및 고성능 기능을 활용할 수 있는 데이터베이스 액세스를 지원하도록 개발 시스템을 구성합니다.

개발 시스템을 구성한 후에는 응용 프로그램에서 데이터베이스 연결 및 SQL 문을 코딩하여 지속적인 가용성 및 고성능 기능을 활용합니다.

참고:

다음 항목을 읽는 대신 "체험하기"를 수행하려면 Oracle Autonomous Database Dedicated for Developers and Database Users WorkshopLab 3: Build and Deploy Node.js Application을 참조하십시오.

Node.js 개발 시스템 구성

Node.js 애플리케이션이 Autonomous Database의 지속적인 가용성 및 고성능 기능을 활용할 수 있도록 개발 시스템을 구성하려면 다음 단계를 수행합니다.

  1. Node.js를 다운로드하고 설치합니다.
  2. Oracle Instant Client를 다운로드하고 설치합니다.
  3. node-oracledb를 다운로드하고 설치합니다.
  4. 데이터베이스에 대한 클라이언트 인증서를 다운로드하고 Oracle Instant Client에서 사용할 수 있도록 설정합니다.

시작하기 전에

성공적으로 구성하려면 개발 시스템이 특정 기준을 충족해야 합니다.

Node.js 다운로드 및 설치

시스템의 OS 및 아키텍처에 대해 Node.js를 다운로드하고 설치합니다.

  • Oracle Linux:

    다음 명령을 실행하여 최신 버전의 Node.js를 다운로드하고 설치합니다.

    sudo yum install -y oracle-release-el7 oracle-nodejs-release-el7
    sudo yum install -y nodejs 
  • 기타 OSes 및 아키텍처:

    Node.js 다운로드 페이지로 이동하여 시스템의 OS 및 아키텍처에 대한 최신 LTS(장기 지원) 버전을 선택하고 설치합니다.

Oracle Instant Client 다운로드 및 설치

Oracle Instant Client 라이브러리 버전 19.6 이상이 필요합니다.

시스템의 OS 및 아키텍처에 대한 Oracle Instant Client 기본 패키지를 다운로드하고 설치합니다.

  • Oracle Linux:

    다음 명령을 실행하여 Oracle Instant Client 기본 패키지를 다운로드하고 설치합니다.

    sudo yum -y install oracle-release-el7
    sudo yum -y install oracle-instantclient19.3-basic

    (모든 Instant Client 패키지 목록을 보려면 http://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/index.html으로 이동하십시오.)

  • 기타 OSes 및 아키텍처:

    1. Oracle Instant Client 다운로드 페이지로 이동하고 시스템의 OS 및 아키텍처에 대한 다운로드를 선택합니다.

    2. 다운로드 페이지에서 Oracle Technology Network 라이센스 계약에 동의하고 최신 버전의 기본 패키지를 다운로드한 다음 다운로드 페이지 하단의 지침에 따라 설치합니다.

node-oracledb 다운로드 및 설치

시스템의 OS 및 아키텍처용 Node.js용 node-oracledb 추가 기능을 다운로드하고 설치합니다.

  • Oracle Linux:

    다음 명령을 실행하여 최신 버전의 node-oracledb를 다운로드하고 설치합니다.

    sudo yum install -y oracle-release-el7 oracle-nodejs-release-el7
    sudo yum install -y node-oracledb-node10
  • 기타 OSes 및 아키텍처:

    Installing node-oracledb 페이지로 이동하여 OS 및 아키텍처에 대한 "My database is on another machine" 지침을 선택한 다음 Install the add-on 지침을 따릅니다.

데이터베이스에 대한 클라이언트 인증서 다운로드 및 설치

  1. 데이터베이스에 대한 클라이언트 인증서가 포함된 zip 파일을 컴퓨터의 보안 디렉토리에 다운로드합니다.

    이 zip 파일은 Oracle Cloud 콘솔의 데이터베이스 세부정보 페이지에서 다운로드할 수 있습니다. 이 페이지에 액세스할 수 있도록 허용하는 Oracle Cloud 사용자 계정이 있으면 다음과 같이 인증서를 다운로드하십시오. 해당 계정이 없는 경우 zip 파일을 보호하는 데 사용된 비밀번호와 함께 데이터베이스 관리자로부터 zip 파일을 가져와야 합니다.

    1. 웹 브라우저에서 Oracle Cloud에 사인인하고 Autonomous Database에 대한 세부정보 페이지로 이동합니다.

    2. DB 연결을 누릅니다.

    3. 데이터베이스 접속 페이지에서 다운로드를 누릅니다.

    4. 전자 지갑 다운로드 대화상자의 암호 필드에 전자 지갑 비밀번호를 입력하고 암호 확인 필드에서 비밀번호를 확인합니다.

      비밀번호는 길이가 8자 이상이어야 하며 하나 이상의 문자 및 하나 이상의 숫자 또는 하나 이상의 특수 문자를 포함해야 합니다.

    5. 다운로드를 눌러 클라이언트 인증서 zip 파일을 보안 디렉토리에 저장합니다.

  2. zip 파일을 다운로드한 후 다음 단계를 수행합니다.

    1. 클라이언트 인증서 zip 파일의 압축을 풉니다.

    2. 클라이언트 인증서에 제공된 sqlnet.ora 파일을 편집하여 "?/network/admin"를 클라이언트 인증서의 압축을 푼 디렉토리의 전체 경로로 바꿉니다. 예를 들어, 다음과 같이 변경합니다.

      (DIRECTORY="?/network/admin")

      대상은 다음과 같습니다.

      (DIRECTORY="/users/jdoe/adbcredentials")
    3. 클라이언트 인증서의 압축을 푼 디렉토리의 전체 경로로 값을 설정하여 TNS_ADMIN 환경 변수를 생성합니다.

코드 데이터베이스 연결 및 SQL 문

Autonomous Database에 대한 Node.js 애플리케이션 접속을 지원하도록 개발 시스템을 구성한 후 다음 단계에 따라 애플리케이션의 데이터베이스 사용 성능을 최적화합니다.

  1. node-oracledb 추가 기능에 대한 종속성을 응용 프로그램의 package.json 파일에 추가합니다.

  2. 고성능 및 지속적인 가용성을 위한 코드 연결.

package.json에 node-oracledb 종속성 추가

oracledb 패키지 및 버전을 추가하여 응용 프로그램의 package.json 파일에서 dependencies 객체를 편집합니다. npm init 명령을 사용하여 package.json가 없는 경우 생성합니다. 예:

. . .
"dependencies": {
  . . .,
  "oracledb": "^4.0",
  . . .
},
. . .

dependencies 객체에 대한 자세한 내용은 npm-package.json 페이지를 참조하십시오. 설치된 oracledb 버전을 표시하려면 다음과 같이 npm list 명령을 사용할 수 있습니다.

npm list -g --depth=0

고성능 및 지속적인 가용성을 위한 코드 연결

높은 성능과 지속적인 가용성을 달성하려면 데이터베이스에 연결할 때 다음 지침을 따르십시오.

예:

pool = await oracledb.createPool({
  events: true,
  user: "appuser",
  password: process.env.MY_PASSWORD_ENV_VAR,
  connectString: "tp_tls"
});

이 예에서는 tp_tls 데이터베이스 서비스에 대한 연결용 풀을 만들고 events 등록 정보를 true로 설정하여 FAN을 사용으로 설정합니다.

추가 리소스

node-oracledb에 대한 자세한 내용을 보려면 API 참조 및 사용 설명서가 모두 포함된 node-oracledb Documentation 페이지로 이동하십시오.

다양한 node-oracledb 기능을 보여 주는 코드 예를 보려면 node-oracledb examples 폴더로 이동하십시오.