IBM Db2 CLP을 사용하여 Amazon RDS for Db2 DB 인스턴스에 연결 - Amazon Relational Database Service

IBM Db2 CLP을 사용하여 Amazon RDS for Db2 DB 인스턴스에 연결

IBM Db2 CLP와 같은 명령줄 유틸리티를 사용하여 Amazon RDS for Db2 DB 인스턴스에 연결할 수 있습니다. 이 유틸리티는 IBM Data Server Runtime Client의 일부입니다. IBM Fix Central에서 클라이언트를 다운로드하려면 IBM Support의 IBM 데이터 서버 클라이언트 패키지 버전 11.5 Mod 8 수정 팩 0을 참조하세요.

용어

다음 용어는 RDS for Db2 DB 인스턴스에 연결할 때 사용되는 명령을 설명하는 데 도움이 됩니다.

catalog tcpip node

이 명령은 로컬 Db2 클라이언트에 원격 데이터베이스 노드를 등록하여 노드를 클라이언트 애플리케이션에 액세스할 수 있도록 합니다. 노드를 카탈로그화하려면 서버의 호스트 이름, 포트 번호, 통신 프로토콜과 같은 정보를 제공합니다. 그러면 카탈로그화된 노드는 하나 이상의 원격 데이터베이스가 있는 대상 서버를 나타냅니다. 자세한 내용은 IBM Db2 설명서의 CATALOG TCPIP/TCPIP4/TCPIP6 NODE 명령을 참조하세요.

catalog database

이 명령은 로컬 Db2 클라이언트에 원격 데이터베이스를 등록하여 데이터베이스를 클라이언트 애플리케이션에 액세스할 수 있도록 합니다. 데이터베이스를 카탈로그화하려면 데이터베이스의 별칭, 데이터베이스가 있는 노드, 데이터베이스 연결에 필요한 인증 유형 등의 정보를 제공합니다. 자세한 내용은 IBM Db2 설명서의 CATALOG DATABASE 명령을 참조하세요.

클라이언트 설치

downloading the package for Linux 후에 루트 또는 관리자 권한을 사용하여 클라이언트를 설치합니다.

참고

AIX 또는 Windows에 클라이언트를 설치하려면 동일한 절차를 따르되, 운영 체제에 맞게 명령을 수정하세요.

Linux에 클라이언트를 설치하려면
  1. ./db2_install -f sysreq를 실행하고 yes를 선택하여 라이선스를 수락합니다.

  2. 클라이언트를 설치할 위치를 선택합니다.

  3. clientInstallDir/instance/db2icrt -s client instance_name을 실행합니다. instance_name을 Linux에서 올바른 운영 체제 사용자로 바꿉니다. Linux에서 Db2 DB 인스턴스 이름은 운영 체제 사용자 이름에 연결됩니다.

    이 명령은 Linux에서 지정된 사용자의 홈 디렉터리에 sqllib 디렉터리를 만듭니다.

DB 인스턴스에 연결

RDS for Db2 DB 인스턴스에 연결하려면 인스턴스의 DNS 이름과 포트 번호가 필요합니다. 찾는 방법에 대한 자세한 내용은 엔드포인트 찾기 섹션을 참조하세요. 또한 RDS for Db2 DB 인스턴스를 만들 때 정의한 데이터베이스 이름, 마스터 사용자 이름, 마스터 암호도 알아야 합니다. 찾는 방법에 대한 자세한 내용은 DB 인스턴스 생성 섹션을 참조하세요.

IBM Db2 CLP를 사용하여 RDS for Db2 DB 인스턴스에 연결하려면
  1. IBM Db2 CLP 클라이언트 설치 중에 지정한 사용자 이름으로 로그인합니다.

  2. RDS for Db2 DB 인스턴스를 카탈로그화합니다. 다음 예제에서 node_name, dns_name, port를 로컬 카탈로그의 노드 이름, DB 인스턴스의 DNS 이름, 포트 번호로 대체합니다.

    db2 catalog TCPIP node node_name remote dns_name server port

    db2 catalog TCPIP node remnode remote database-1.123456789012.us-east-1.amazonaws.com server 50000
  3. rdsadmin 데이터베이스와 데이터베이스를 카탈로그화합니다. 그러면 Amazon RDS 저장 프로시저로 rdsadmin 데이터베이스에 연결하여 일부 관리 작업을 수행할 수 있습니다. 자세한 내용은 RDS for Db2 DB 인스턴스 관리 단원을 참조하십시오.

    다음 예제에서 database_alias, node_name, database_name을 이 데이터베이스의 별칭, 이전 단계에서 정의한 노드 이름, 데이터베이스 이름으로 바꿉니다. server_encrypt에서는 네트워크를 통해 사용자 이름과 암호를 암호화합니다.

    db2 catalog database rdsadmin [ as database_alias ] at node node_name authentication server_encrypt db2 catalog database database_name [ as database_alias ] at node node_name authentication server_encrypt

    db2 catalog database rdsadmin at node remnode authentication server_encrypt db2 catalog database testdb as rdsdb2 at node remnode authentication server_encrypt
  4. RDS for Db2 데이터베이스에 연결합니다. 다음 예제에서 rds_database_alias, master_username, master_password를 RDS for Db2 DB 인스턴스의 마스터 암호, 마스터 사용자 이름, 데이터베이스 이름으로 바꿉니다.

    db2 connect to rds_database_alias user master_username using master_password

    다음 예제와 비슷한 출력이 생성됩니다.

    Database Connection Information Database server = DB2/LINUXX8664 11.5.9.0 SQL authorization ID = ADMIN Local database alias = TESTDB
  5. 쿼리를 실행하고 결과를 확인합니다. 다음 예제는 생성한 데이터베이스를 선택하는 SQL 문을 보여줍니다.

    db2 "select current server from sysibm.dual"

    다음 예제와 비슷한 출력이 생성됩니다.

    1 ------------------ TESTDB 1 record(s) selected.

RDS for Db2 DB 인스턴스에 대한 연결 문제 해결

다음 NULLID 오류는 보통 클라이언트와 RDS for Db2 서버 버전이 일치하지 않아 발생합니다. 지원되는 Db2 클라이언트 버전은 IBM Db2 설명서의 지원되는 클라이언트, 드라이버 및 서버 수준 조합을 참조하세요.

db2 "select * from syscat.tables" SQL0805N Package "NULLID.SQLC2O29 0X4141414141454A69" was not found. SQLSTATE=51002

이 오류가 발생한 후에는 이전 Db2 클라이언트의 패키지를 RDS for Db2에서 지원하는 Db2 서버 버전에 바인딩해야 합니다.

이전 Db2 클라이언트의 패키지를 최신 Db2 서버에 바인딩하려면
  1. 클라이언트 머신에서 바인딩할 파일을 찾습니다. 일반적으로 이러한 파일은 Db2 클라이언트 설치 경로의 bnd 디렉터리에 있으며 확장자는 .bnd입니다.

  2. Db2 서버에 연결합니다. 다음 예제에서 database_name을 Db2 서버 이름으로 바꿉니다. master_usernamemaster_password를 사용자 정보로 대체합니다. 이 사용자에게는 DBADM 권한이 있습니다.

    db2 connect to database_name user master_username using master_password
  3. 패키지를 바인딩하려면 bind 명령을 실행합니다.

    1. 클라이언트 머신에서 바인딩 파일이 있는 디렉터리로 이동합니다.

    2. 각 파일에 대해 bind 명령을 실행합니다.

      다음 옵션이 필요합니다.

      • blocking all - 단일 데이터베이스 요청으로 바인딩할 파일의 모든 패키지를 바인딩합니다.

      • grant public - 패키지를 실행할 public 권한을 부여합니다.

      • sqlerror continue - 오류가 발생해도 bind 프로세스가 계속되도록 지정합니다.

      bind 명령에 대한 자세한 내용은 IBM Db2 설명서의 BIND 명령을 참조하세요.

  4. syscat.package 카탈로그 뷰를 쿼리하거나 bind 명령 이후에 반환되는 메시지를 확인하여 바인딩이 성공했는지 확인합니다.

자세한 내용은 IBM Support의 DB2 v11.5 바인딩 파일 및 패키지 이름 목록을 참조하세요.