수정팩 설치 후 바인드 파일 바인딩

서버에서 수정팩 설치의 일부로 데이터베이스 유틸리티 (IMPORT, EXPORT, REORG, 명령행 처리기) 및 CLI 바인드 파일의 바인딩이 자동으로 발생합니다. 그러나 클라이언트에 수정팩을 설치하거나 오류가 발생하면 데이터베이스 유틸리티 및 CLI 바인드 파일을 수동으로 바인드할 수 있습니다. 바인딩 파일의 서로 다른 하위 집합은 Db2 및 호스트 또는 System i 데이터베이스 서버에 대해 서로 다른 하위 집합을 바인딩해야 합니다.

시작하기 전에

BIND 명령을 수행하는 데 필요한 권한이 있는지 확인하십시오.

이 타스크에 대한 정보

RESTRICTIVE 모드로 작성된 데이터베이스에 일부 사용자만 액세스하게 하려면 RESTRICTIVE 모드로 작성된 데이터베이스에 대해 특권을 PUBLIC으로 부여하지 마십시오.
기존 페더레이션 데이터베이스가 있는 경우 db2dsproc.bnddb2stats.bnd 바인딩 파일을 설치한 후 Db2® 수정 팩을 설치해야 합니다. 바인드 파일을 바인딩하려면 다음 권한 중 하나가 있어야 합니다.
  • DBADM 권한
  • 스키마에 대한 ALTERIN 특권
  • 패키지의 BIND 특권

프로시저

바인드 파일을 바인딩하려면 다음을 수행하십시오.

  1. 기존 데이터베이스가 있는 Db2 데이터베이스 제품에 수정팩을 설치한 경우, 각 데이터베이스에 대해 다음 명령을 한 번씩 수행하십시오.
    db2 terminate
    db2 CONNECT TO dbname user USERID using PASSWORD
    db2 BIND path\db2schema.bnd BLOCKING ALL GRANT PUBLIC SQLERROR CONTINUE 
    db2 BIND path\@db2ubind.lst BLOCKING ALL GRANT PUBLIC ACTION ADD 
    db2 BIND path\@db2cli.lst BLOCKING ALL GRANT PUBLIC ACTION ADD 
    db2 terminate
    여기서, dbname은 파일을 바인딩할 데이터베이스의 이름이며, path는 바인드 파일이 위치한 디렉토리의 전체 경로 이름(예: INSTHOME\sqllib\bnd, 여기서, INSTHOMEDB2 인스턴스의 홈 디렉토리를 나타냄)입니다. db2ubind.lstdb2cli.lst에는 DB2 데이터베이스 제품이 사용하는 필수 파인드 파일의 목록이 포함되어 있습니다. 이미 바인드된 패키지에서는 SQL0719N 오류가 리턴됩니다. 이는 예측된 결과입니다.
  2. 선택사항: 기존 데이터베이스가 있는 Db2 데이터베이스 제품에 수정팩을 설치한 경우 REBIND 또는 db2rbind 명령을 실행하여 패키지를 리바인드하십시오.

    수정팩을 설치한 후 일부 패키지는 유효하지 않은 것으로 표시됩니다. 유효하지 않은 것으로 표시된 패키지는 암시적으로 애플리케이션이 이를 처음 사용할 때 리바인드됩니다. 이러한 오버헤드를 제거하고 리바인드에 성공하도록 하려면 모든 패키지를 수동으로 리바인딩하십시오. 예를 들어, 다음과 같이 db2rbind 명령을 발행하십시오.

    db2rbind dbname -l logfile all 
    여기서, dbname은 패키지가 유효성이 다시 확인되어야 할 데이터베이스의 이름이고, logfile은 패키지 유효성 다시 확인 프로시저 동안 오류를 기록하는 데 사용될 파일의 이름입니다.
  3. 기존의 공간 사용 가능 데이터베이스가 있는 Db2 데이터베이스 제품에 수정팩을 설치한 경우, 각 데이터베이스에 대해 다음 명령을 한 번씩 수행하십시오.
    db2 terminate 
    db2 CONNECT TO dbname 
    db2 BIND path\BND\@db2gse.lst 
    db2 terminate
    여기서, dbname은 파일을 바인딩할 데이터베이스의 이름이며, path는 바인드 파일이 위치한 디렉토리의 전체 경로 이름(예: INSTHOME\sqllib\bnd, 여기서, INSTHOMEDB2 인스턴스의 홈 디렉토리를 나타냄)입니다. db2gse.lst에는 DB2 Spatial Extender가 제공하는 스토어드 프로시저에 대한 파인드 파일의 이름이 포함되어 있습니다.
  4. 호스트 또는 System i 서버에서 Db2 데이터베이스에 연결하는 경우 다음 조치를 수행하십시오.
    • For Db2 for z/OS 또는 OS/390® :
      db2 terminate 
      db2 CONNECT TO dbname user USERID using PASSWORD
      db2 BIND path\@ddcsmvs.lst BLOCKING ALL SQLERROR CONTINUE GRANT PUBLIC ACTION ADD 
      db2 terminate
    • VM의 DB2 데이터베이스 경우
      db2 terminate 
      db2 CONNECT TO dbname user USERID using PASSWORD
      db2 BIND path\@ddcsvm.lst BLOCKING ALL SQLERROR CONTINUE GRANT PUBLIC ACTION ADD 
      db2 terminate
    • VSE의 DB2 데이터베이스 경우
      db2 terminate 
      db2 CONNECT TO dbname user USERID using PASSWORD
      db2 BIND path\@ddcsvse.lst BLOCKING ALL SQLERROR CONTINUE GRANT PUBLIC ACTION ADD 
      db2 terminate
    • System i의 Db2 데이터베이스의 경우:
      db2 terminate 
      db2 CONNECT TO dbname user USERID using PASSWORD
      db2 BIND path\@ddcs400.lst BLOCKING ALL SQLERROR CONTINUE GRANT PUBLIC ACTION ADD 
      db2 terminate

    여기서 dbname 은 파일을 바인드해야 하는 호스트 또는 System i 데이터베이스의 이름을 나타내며, 여기서 path 는 바인드 파일이 있는 디렉토리의 전체 경로 이름입니다 (예: INSTHOME\sqllib\bnd ). 여기서 INSTHOMEDb2 인스턴스의 홈 디렉토리를 나타냅니다.

  5. 다른 운영 체제 (Linux®, UNIX 또는 Windows) 또는 다른 Db2 버전 또는 서비스 레벨에서 실행 중인 데이터베이스에 연결하는 경우 해당 데이터베이스에 대해 데이터베이스 유틸리티 및 CLI 바인드 파일을 바인드하십시오.
    참고:
    • 다른 DB2 데이터베이스 시스템 또는 동일한 머신의 다른 DB2 사본에 있는 데이터베이스에 연결하는지에 상관없이 필수 조치는 동일합니다.
    • 여러 위치에 수정팩을 설치한 경우, 운영 체제 및 DB2 버전 또는 서비스 레벨의 고유한 조합 각각에 대해 조치를 한 번만 수행하십시오.
    다음 조치를 수행하십시오.
    db2 terminate 
    db2 CONNECT TO dbname user USERID using PASSWORD
    db2 BIND path\@db2ubind.lst BLOCKING ALL GRANT PUBLIC ACTION ADD 
    db2 BIND path\@db2cli.lst BLOCKING ALL GRANT PUBLIC ACTION ADD 
    db2 terminate
    여기서, dbname은 파일을 바인드해야 하는 데이터베이스의 이름을 나타내고 path는 바인드 파일이 있는 디렉토리의 전체 경로 이름을 나타냅니다(예: INSTHOME\sqllib\bnd, 여기서 INSTHOME은 명령을 발행 중인 인스턴스의 홈 디렉토리를 나타냄). db2ubind.lstdb2cli.lst에는 DB2 데이터베이스 제품이 사용하는 필수 파인드 파일의 목록이 포함되어 있습니다. 이미 바인드된 패키지에서는 SQL0719N 오류가 리턴됩니다. 이는 예측된 결과입니다.
  6. 페더레이티드 데이터베이스를 사용 중인 경우, 데이터베이스에 연결하고 db2dsproc.bnddb2stats.bnd 바인드 파일에서 BIND 명령을 실행하십시오.
    다음 조치를 수행하십시오.
    db2 CONNECT TO dbname user USERID using PASSWORD
    db2 bind path/db2dsproc.bnd blocking all grant public 
    db2 bind path/db2stats.bnd blocking all grant public 
    db2 terminate
    여기서 dbname은 페더레이티드 데이터베이스의 이름이고, path는 바인드 파일이 있는 디렉토리의 전체 경로 이름(예: $HOME/sqllib/bnd. 여기서 $HOMEDB2 인스턴스 홈 디렉토리를 나타냄)입니다.