메뉴
Amazon Relational Database Service
사용 설명서 (API Version 2014-10-31)

Oracle 데이터베이스 엔진을 실행하는 DB 인스턴스에서 데이터베이스에 연결

Amazon RDS가 Oracle DB 인스턴스를 프로비저닝한 후에는 표준 SQL 클라이언트 애플리케이션을 사용해 DB 인스턴스에 연결할 수 있습니다. 이번 주제에서는 Oracle SQL Developer 또는 SQL*Plus를 사용해 Oracle 데이터베이스 엔진을 실행하는 DB 인스턴스에 연결합니다.

사용자가 샘플 DB 인스턴스를 만들어 연결하는 절차를 실습하는 예제는 Oracle DB 인스턴스를 만들고 Oracle DB 인스턴스의 데이터베이스에 연결 단원을 참조하십시오.

DB 인스턴스의 엔드포인트 찾기

각 Amazon RDS DB 인스턴스마다 엔드포인트가 있으며, 엔드포인트에는 각각 DB 인스턴스에 연결할 수 있는 DNS 이름과 포트 번호가 있습니다. SQL 클라이언트 애플리케이션을 사용해 DB 인스턴스에 연결하려면 DB 인스턴스에 연결할 수 있는 DNS 이름과 포트 번호가 필요합니다.

DB 인스턴스 엔드포인트는 Amazon RDS 콘솔 또는 AWS CLI를 사용하여 찾을 수 있습니다.

AWS Management Console

콘솔을 사용하여 엔드포인트를 찾으려면

  1. AWS Management Console에 로그인한 다음 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 콘솔의 오른쪽 상단 모서리에서 DB 인스턴스의 AWS 리전을 선택합니다.

  3. DB 인스턴스에 대한 DNS 이름과 포트 번호를 찾습니다.

    1. [Instances]를 선택해 DB 인스턴스 목록을 표시합니다.

    2. Oracle DB 인스턴스에 해당하는 행을 선택해 DB 인스턴스에 대한 요약 정보를 표시합니다.

       DB 인스턴스 엔드포인트 및 포트 찾기
    3. 엔드포인트를 복사합니다. [Endpoint] 필드는 두 부분이 콜론(:)으로 구분되어 있습니다. 콜론 이전 부분은 인스턴스의 DNS 이름이고, 콜론 이후 부분은 포트 번호입니다. 반드시 두 부분 모두 복사해야 합니다.

CLI

AWS CLI를 사용하여 Oracle DB 인스턴스의 엔드포인트를 찾으려면 describe-db-instances 명령을 호출하십시오.

예 AWS CLI를 사용하여 엔드포인트를 찾으려면

Copy
aws rds describe-db-instances

출력에서 Endpoint를 검색하여 DB 인스턴스의 DNS 이름과 포트 번호를 찾습니다. DNS 이름은 출력의 Address 라인에 포함되어 있습니다. 다음은 JSON 엔드포인트 출력의 예입니다.


"Endpoint": {
    "HostedZoneId": "Z1PVIF0B656C1W",
    "Port": 3306,
    "Address": "myinstance.123456789012.us-west-2.rds.amazonaws.com"
},    
                

참고

출력에는 여러 DB 인스턴스 정보가 포함될 수 있습니다.

Oracle SQL Developer를 사용하여 DB 인스턴스에 연결

이 절차에서는 Oracle SQL Developer를 사용하여 DB 인스턴스에 연결합니다. 이 유틸리티의 독립 실행형 버전을 다운로드하려면 Oracle SQL Developer 다운로드 페이지를 참조하십시오.

DB 인스턴스에 연결하려면 인스턴스의 DNS 이름과 포트 번호가 필요합니다. DB 인스턴스의 DNS 이름 및 포트 번호를 찾는 자세한 내용은 DB 인스턴스의 엔드포인트 찾기를 참조하십시오.

SQL Developer를 사용하여 DB 인스턴스에 연결하려면

  1. Oracle SQL Developer를 시작합니다.

  2. [Connections] 탭에서 [add (+)] 아이콘을 선택합니다.

     더하기 아이콘이 강조 표시되어 있는 Oracle SQL Developer
  3. [New/Select Database Connection] 대화 상자에 다음과 같이 DB instance 정보를 입력합니다.

    • [Connection Name]에 연결을 설명하는 이름(예: Oracle-RDS)을 입력합니다.

    • [Username]에 DB 인스턴스의 데이터베이스 관리자 이름을 입력합니다.

    • [Password]에 데이터베이스 관리자 암호를 입력합니다.

    • [Hostname]에 DB 인스턴스의 DNS 이름을 입력하거나 붙여 넣습니다.

    • [Port]에 포트 번호를 입력합니다.

    • [SID]에 Oracle 데이터베이스 SID를 입력합니다.

    정보가 모두 입력된 대화 상자는 다음과 비슷한 모습이 되어야 합니다.

     Oracle SQL Developer에서 새로운 연결 생성
  4. [Connect]를 클릭합니다.

  5. 이제 자체 데이터베이스 생성을 시작하고 평소대로 DB 인스턴스와 데이터베이스에 대한 쿼리 실행을 시작할 수 있습니다. DB 인스턴스에 대한 테스트 쿼리를 실행하려면 다음 중 하나를 수행합니다.

    1. 연결을 위한 [Worksheet] 탭에 다음 SQL 쿼리를 입력합니다.

      Copy
      SELECT NAME FROM V$DATABASE;
    2. [execute] 아이콘을 클릭하여 쿼리를 실행합니다.

       Oracle SQL Developer에서 execute 아이콘을 사용하여 쿼리 실행

      SQL Developer가 데이터베이스 이름을 반환합니다.

       Oracle SQL Developer의 쿼리 결과

SQL*Plus를 사용하여 DB 인스턴스에 연결

SQL*Plus 같은 유틸리티를 사용하면 Oracle을 실행하는 Amazon RDS DB 인스턴스에 연결할 수 있습니다. SQL*Plus의 독립 실행형 버전을 다운로드하려면 SQL*Plus 사용 설명서 및 참조를 참조하십시오.

DB 인스턴스에 연결하려면 인스턴스의 DNS 이름과 포트 번호가 필요합니다. DB 인스턴스의 DNS 이름 및 포트 번호를 찾는 자세한 내용은 DB 인스턴스의 엔드포인트 찾기를 참조하십시오.

예 SQL*Plus를 사용하여 Oracle DB 인스턴스에 연결하려면

다음 예제에서 DB 인스턴스를 DNS 이름으로 대체한 다음, 포트 번호와 Oracle SID를 입력합니다. SID 값은 DB 인스턴스의 이름이 아니라, DB 인스턴스를 생성할 때 지정한 DB 인스턴스의 데이터베이스 이름입니다.

Linux, OS X, Unix의 경우:

Copy
sqlplus 'mydbusr@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dns_name)(PORT=port))(CONNECT_DATA=(SID=database_name)))'

Windows의 경우:

Copy
sqlplus mydbusr@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dns_name)(PORT=port))(CONNECT_DATA=(SID=database_name)))

출력은 다음과 비슷합니다.


SQL*Plus: Release 12.1.0.2.0 Production on Mon Aug 21 09:42:20 2017                
            

사용자 암호를 입력하면 SQL 프롬프트가 표시됩니다.


 SQL>               
            

참고

sqlplus USER/PASSWORD@LONGER-THAN-63-CHARS-RDS-ENDPOINT-HERE:1521/DATABASE_IDENTIFIER와 같은 짧은 형식의 연결 문자열(Easy Connect 또는 EZCONNECT)이 최대 문자 제한에 걸릴 수 있으며, 이런 문자열을 연결할 때 사용하면 안 됩니다.

보안 그룹 고려 사항

DB 인스턴스에 연결하려면 DB 인스턴스가 DB 인스턴스에 액세스할 때 사용하는 IP 주소와 네트워크 구성이 할당되어 있는 보안 그룹과 연동되어야 합니다. DB 인스턴스를 생성할 때 DB 인스턴스를 적당한 보안 그룹과 연동할 수 있습니다. 하지만 DB 인스턴스를 생성하면서 따로 설정할 필요가 없는 기본 보안 그룹을 할당한 경우에는 DB 인스턴스 방화벽이 연결을 차단합니다.

새로운 보안 그룹을 생성하여 액세스를 활성화해야 하는 경우에는 DB 인스턴스의 기반을 이루는 Amazon EC2 플랫폼에 따라 생성할 보안 그룹 유형이 결정됩니다. 플랫폼을 확인하려면 EC2-VPC 또는 EC2-Classic 플랫폼을 사용 중인지 확인 단원을 참조하십시오. 일반적으로 DB 인스턴스가 EC2-Classic 플랫폼에 있으면 DB 보안 그룹을 만들고, DB 인스턴스가 VPC 플랫폼에 있으면 VPC 보안 그룹을 만듭니다. 새 보안 그룹 생성에 대한 자세한 내용은 Amazon RDS 보안 그룹 단원을 참조하십시오.

새 보안 그룹을 생성하였으면 보안 그룹과 연동되도록 DB 인스턴스 설정을 변경합니다. 자세한 내용은 Oracle 데이터베이스 엔진 기반 DB 인스턴스의 변경 단원을 참조하십시오.

SSL을 사용하여 DB 인스턴스 연결을 암호화함으로써 보안을 강화할 수 있습니다. 자세한 내용은 Oracle SSL 단원을 참조하십시오.

Oracle DB 인스턴스 연결 문제 해결

다음은 Oracle DB 인스턴스 연결을 시도할 때 발생할 수 있는 문제입니다.

문제 문제 해결 제안

DB 인스턴스에 연결할 수 없습니다.

새로 생성한 DB 인스턴스의 경우, DB 인스턴스를 사용할 준비가 될 때까지 DB 인스턴스의 상태는 [creating]입니다. 상태가 available로 변경되면 DB 인스턴스에 연결할 수 있습니다. DB 인스턴스 클래스와 스토리지의 양에 따라 새 DB 인스턴스를 사용할 수 있을 때까지 최대 20분이 걸릴 수 있습니다.

DB 인스턴스에 연결할 수 없습니다.

DB 인스턴스를 만들 때 지정한 포트를 통해 통신을 보내거나 받을 수 없으면 DB 인스턴스에 연결할 수 없습니다. 네트워크 관리자에게 문의해 DB 인스턴스에 대해 지정한 포트가 인바운드 및 아웃바운드 통신을 허용하는지 확인하십시오.

DB 인스턴스에 연결할 수 없습니다.

로컬 방화벽에서 적용되는 액세스 규칙과 DB 인스턴스의 보안 그룹에 있는 DB 인스턴스에 액세스하기 위한 권한을 부여한 IP 주소가 일치하지 않을 수 있습니다. 방화벽의 아웃바운드 또는 인바운드 규칙에 문제가 있을 가능성이 높습니다. 보안 그룹에 대한 자세한 내용은 Amazon RDS 보안 그룹 단원을 참조하십시오.

보안 그룹의 규칙 설정 절차에 대한 자세한 내용은 자습: Amazon RDS DB 인스턴스에 사용할 Amazon VPC 생성 단원을 참조하십시오.

Connect failed because target host or object does not exist – Oracle, Error: ORA-12545

서버 이름과 포트 번호를 정확하게 지정했는지 확인하십시오. [Server name]에는 DNS 이름을 입력하거나 콘솔에서 붙여 넣습니다.

DB 인스턴스의 DNS 이름 및 포트 번호를 찾는 자세한 내용은 DB 인스턴스의 엔드포인트 찾기를 참조하십시오.

Invalid username/password; logon denied – Oracle, Error: ORA-01017

DB 인스턴스에 연결할 수 있지만 연결이 거부되었습니다. 이 문제는 주로 사용자 이름이나 암호를 잘못 입력하면 발생합니다. 사용자 이름과 암호를 확인하고 다시 시도하십시오.

관련 주제