INSERT 명령으로 Db2에서 Amazon RDS for Db2로 데이터 가져오기
INSERT 명령으로 Db2에서 Amazon RDS for Db2로 데이터 가져오기
이 문서는 Amazon RDS 사용자 가이드의 Db2 관련 페이지를 한국어로 설명합니다.
출처: 문서
본문
자체 관리형 Db2 서버의 INSERT 명령을 사용하여 Amazon RDS for Db2 데이터베이스에 데이터를 삽입할 수 있습니다. 이 마이그레이션 방식에서는 원격 RDS for Db2 DB 인스턴스에 대해 별칭(nickname)을 사용합니다. 자체 관리형 Db2 데이터베이스(소스)는 RDS for Db2 데이터베이스(대상)에 연결할 수 있어야 합니다.
중요
INSERT 명령 방식은 작은 테이블을 마이그레이션할 때 유용합니다. 자체 관리형 Db2 데이터베이스와 RDS for Db2 데이터베이스 사이의 네트워크 대역폭이 제한적이라면 다른 마이그레이션 방식을 사용하는 것이 좋습니다. 자세한 내용은 네이티브 Db2 도구를 사용해 Db2에서 Amazon RDS for Db2로 데이터 마이그레이션하기를 참조하세요.
자체 관리형 Db2 데이터베이스에서 RDS for Db2 데이터베이스로 데이터를 복사하려면
-
자체 관리형 Db2 인스턴스에서 RDS for Db2 DB 인스턴스를 카탈로그화합니다.
-
노드를 카탈로그화합니다. 다음 예제에서
dns_ip_address와port를 자체 관리형 Db2 데이터베이스의 DNS 이름이나 IP 주소 및 포트 번호로 바꾸세요.db2 catalog tcpip node remnode REMOTE dns_ip_address SERVER port -
데이터베이스를 카탈로그화합니다. 다음 예제에서
rds_database_name을 RDS for Db2 DB 인스턴스의 데이터베이스 이름으로 바꾸세요.db2 catalog database rds_database_name as remdb at node remnode \ authentication server_encrypt
-
-
자체 관리형 Db2 인스턴스에서 페더레이션(federation)을 활성화합니다. 다음 예제에서
source_database_name을 자체 관리형 Db2 인스턴스의 데이터베이스 이름으로 바꾸세요.db2 update dbm cfg using FEDERATED YES source_database_name -
RDS for Db2 DB 인스턴스에 테이블을 생성합니다.
-
노드를 카탈로그화합니다. 다음 예제에서
dns_ip_address와port를 자체 관리형 Db2 데이터베이스의 DNS 이름이나 IP 주소 및 포트 번호로 바꾸세요.db2 catalog tcpip node srcnode REMOTE dns_ip_address server port -
데이터베이스를 카탈로그화합니다. 다음 예제에서
source_database_name과source_database_alias를 자체 관리형 Db2 데이터베이스의 이름과 이 데이터베이스에 사용할 별칭으로 바꾸세요.db2 catalog database source_database_name as source_database_alias at node srcnode \ authentication server_encrypt
-
-
소스 데이터베이스에 연결(attach)합니다. 다음 예제에서
source_database_alias,user_id,user_password를 이전에 만든 별칭과 자체 관리형 Db2 데이터베이스의 사용자 ID 및 비밀번호로 바꾸세요.db2look -d source_database_alias -i user_id -w user_password -e -l -a -f -wlm \ -cor -createdb -printdbcfg -o db2look.sql -
페더레이션을 설정하고, 자체 관리형 Db2 인스턴스에서 RDS for Db2 데이터베이스 테이블에 대한 별칭을 생성합니다.
-
로컬 데이터베이스에 연결합니다. 다음 예제에서
source_database_name을 자체 관리형 Db2 인스턴스의 데이터베이스 이름으로 바꾸세요.db2 connect to source_database_name -
Db2 데이터 소스에 액세스할 래퍼(wrapper)를 생성합니다.
db2 create wrapper drda -
페더레이션 데이터베이스에 데이터 소스를 정의합니다. 다음 예제에서
admin과admin_password를 자체 관리형 Db2 인스턴스의 자격 증명으로,rds_database_name을 RDS for Db2 DB 인스턴스의 데이터베이스 이름으로 바꾸세요.db2 "create server rdsdb2 type DB2/LUW version '11.5.9.0' \ wrapper drda authorization \"admin\" password \"admin_password\" \ options( dbname 'rds_database_name', node 'remnode')" -
두 데이터베이스의 사용자를 매핑합니다. 다음 예제에서
master_username과master_password를 RDS for Db2 DB 인스턴스의 자격 증명으로 바꾸세요.db2 "create user mapping for user server rdsdb2 \ options (REMOTE_AUTHID 'master_username', REMOTE_PASSWORD 'master_password')" -
RDS for Db2 서버에 대한 연결을 확인합니다.
db2 set passthru rdsdb2 -
원격 RDS for Db2 데이터베이스의 테이블에 대한 별칭을 생성합니다. 다음 예제에서
NICKNAME과TABLE_NAME을 테이블의 별칭과 테이블의 이름으로 바꾸세요.db2 create nickname REMOTE.NICKNAME for RDSDB2.TABLE_NAME.NICKNAME
-
-
원격 RDS for Db2 데이터베이스의 테이블에 데이터를 삽입합니다. 자체 관리형 Db2 인스턴스의 로컬 테이블에 대한 select 문에서 별칭을 사용하세요. 다음 예제에서
NICKNAME과TABLE_NAME을 테이블의 별칭과 테이블의 이름으로 바꾸세요.db2 "INSERT into REMOTE.NICKNAME select * from RDS2DB2.TABLE_NAME.NICKNAME"