DB 시스템에 접속하는 개요
이 문서에서는 활성 DB 시스템에 연결하는 데 필요한 다양한 설정에 대해 소개합니다. 연결 방법은 사용하는 클라이언트 도구 또는 프로토콜, 연결 목적 및 클라우드 네트워크 설정 방법에 따라 달라집니다.
주:
네트워킹 개요에서 다양한 네트워킹 시나리오에 대한 정보를 찾을 수 있지만, 클라우드에서 데이터베이스에 연결하는 방법에 대한 구체적인 권장 사항은 네트워크 보안 관리자에게 문의하십시오.필요 조건
- 콘솔 또는 API를 사용하여 기본 관리 서비스 접속 문자열을 가져오려면 관리자가 쓴 정책에서 필요한 유형의 액세스 권한을 제공해야 합니다. 이때 콘솔을 사용하거나 SDK, CLI 또는 기타 툴에서 REST API를 사용해도 됩니다. 작업을 수행하려고 시도할 때 사용자에게 권한이 없거나 권한이 부여되지 않았음을 알리는 메시지가 표시되면, 자신에게 부여된 액세스 권한 유형과 작업할 구획이 무엇인지 관리자에게 확인하십시오.
-
데이터베이스에 연결하려면 DB 시스템의 공용 또는 전용 IP 주소가 필요합니다.
전용 IP 주소를 사용하여 온프레미스 네트워크 또는 VCN(가상 클라우드 네트워크) 내에서 시스템에 연결할 수 있습니다. 여기에는 VPN 또는 FastConnect를 통해 VCN 또는 동일한 VCN의 다른 호스트에 연결하는 온프레미스에 위치한 호스트의 연결이 포함됩니다. 공용 IP 주소를 사용하여 VPN 없이 클라우드 외부에서 시스템에 연결합니다. 콘솔에서 다음과 같이 IP 주소를 찾을 수 있습니다.
- DB 시스템 세부정보 페이지에서 노드 탭을 선택합니다.
- The DNS name, Public IP address, and Private IP address are displayed in the table columns.
- DB 시스템에 대한 SSH(보안 셸) 액세스의 경우 DB 시스템이 시작될 때 사용된 퍼블릭 키와 연관된 프라이빗 키가 포함된 파일의 전체 경로가 필요합니다.
연결에 문제가 있는 경우 연결 문제 해결을 참조하십시오.
데이터베이스 서비스 및 연결 문자열
데이터베이스 서비스를 사용하면 필요한 기능에 따라 데이터베이스 Instance에 대한 클라이언트 액세스를 제어할 수 있습니다. 예를 들어, 관리 목적으로만 데이터베이스에 액세스하거나 응용 프로그램을 데이터베이스에 연결해야 할 수 있습니다. 연결 문자열은 데이터베이스 서비스와 관련이 있습니다.
DB 시스템을 프로비저닝하면 기본 데이터베이스 관리 서비스가 자동으로 생성됩니다. 12c 이상 Oracle 데이터베이스의 경우 이 서비스는 CDB 레벨에서 데이터베이스를 관리하기 위한 것입니다. 이 서비스는 제한된 기능을 제공하므로 응용 프로그램 연결에는 적합하지 않습니다. Oracle은 DB 시스템을 생성한 후 초기 데이터베이스에 대한 기본 애플리케이션 서비스를 생성할 것을 권장합니다. 12c 이상 Oracle 데이터베이스의 경우 애플리케이션 서비스가 PDB 레벨에서 접속됩니다. 애플리케이션 서비스가 제공할 수 있는 몇 가지 중요한 기능은 다음과 같습니다.
- 작업 로드 식별
- 로드 밸런싱
- 애플리케이션 연속성 및 Transaction Guard
- 빠른 애플리케이션 통지
- 서비스 이름 기반 자원 지정
이러한 기능 및 기타 고가용성 기능에 대한 자세한 내용은 Client Failover Best Practices for Highly Available Oracle Databases을 참조하십시오.
애플리케이션 서비스 생성
srvctl
유틸리티를 사용하여 애플리케이션 서비스를 생성합니다. 서비스에 접속하려면 먼저 서비스를 시작해야 합니다.
다음 단계를 사용하여 PDB 또는 11g Oracle 데이터베이스에 대한 애플리케이션 서비스를 생성할 수 있습니다.
- DB 시스템 호스트에
opc
으로 로그인합니다. - oracle 유저로 전환하고 관리하려는 Oracle Database로 환경을 설정합니다.
sudo su - oracle . oraenv
ORACLE_SID = [oracle] ? <database_name> The Oracle base has been set to /u01/app/oracle
- 데이터베이스에 대한 응용 프로그램 서비스를 생성합니다. PDB에 대한 애플리케이션 서비스를 생성하는 경우에만
pdb
옵션을 포함합니다.srvctl add service -db <DB_unique_name> -pdb <PDB_name> -service <app_service_name> -role PRIMARY -notification TRUE -session_state dynamic -failovertype transaction -failovermethod basic -commit_outcome TRUE -failoverretry 30 -failoverdelay 10 -replay_init_time 900 -clbgoal SHORT -rlbgoal SERVICE_TIME -preferred <rac_node1>,<rac_node2> -retention 3600
다중 노드 데이터베이스가 RAC에서 노드의 호스트 이름을 지정하는 경우에만 선호 옵션이 필요합니다.
- 응용 프로그램 서비스를 시작합니다.
srvctl start service -db <DB_unique_name> -s <app_service_name>
PDB의 서비스에 대한 자세한 내용은 PDB 관리를 참조하십시오.
데이터베이스 접속 문자열
데이터베이스 관리 또는 응용 프로그램 서비스에 액세스하려면 적절한 연결 문자열을 사용해야 합니다. 콘솔 또는 API를 사용하여 VCN 내에서 기본 관리 서비스에 연결하기 위한 문자열을 가져올 수 있습니다. 12c 이상 Oracle 데이터베이스의 경우 이 서비스는 CDB 레벨에서 데이터베이스를 관리하기 위한 것입니다. 이 문자열은 간단한 연결(Easy Connect) 및 전체 연결 기술자(long) 형식으로 제공됩니다. 호스트 이름 분석을 사용할 수 없는 경우 연결에 대해 긴 형식을 사용합니다. 긴 형식을 사용하여 tnsnames.ora 파일에 별칭을 생성할 수도 있습니다.
VCN 내에서 데이터베이스 서비스에 액세스하기 위해 RAC(Real Application Cluster) DB 시스템에 대한 연결 문자열은 SCAN(Single Client Access Name)을 사용하지만 단일 인스턴스 DB 시스템에 대한 연결 문자열은 대신 호스트 이름을 사용합니다.
전용 SCAN 이름은 2노드 RAC DB 시스템을 실행할 때 생성되는 라운드 로빈 DNS 항목입니다. 전용 SCAN 이름은 VCN 내에서만 확인할 수 있습니다. 클라이언트와 데이터베이스가 동일한 VCN에 있는 경우 연결 메커니즘은 온-프레미스(On-Premise) RAC 데이터베이스와 동일하며 서버측 로드 밸런싱 및 VIP Failover와 같이 VIP 및 SCAN VIP가 제공하는 모든 기능을 사용할 수 있습니다.
주:
DB 시스템에서 DB_UNIQUE_NAME, DB_DOMAIN 또는 리스너 포트를 수동으로 변경하는 경우 콘솔 또는 API에 표시되는 접속 문자열에 변경사항이 반영되지 않습니다. 연결할 때 이러한 파라미터의 실제 값을 사용해야 합니다.접속 문자열 가져오기
콘솔을 사용하여 다음 단계를 통해 기본 관리 서비스에 대한 연결 문자열을 가져올 수 있습니다.
- DB 시스템 목록 페이지에서 작업할 데이터베이스가 포함된 DB 시스템을 선택합니다. 목록 페이지 또는 DB 시스템을 찾는 데 도움이 필요하면 DB 시스템 나열을 참조하십시오.
- 데이터베이스 탭에서 작업할 데이터베이스를 선택합니다.
- 데이터베이스 세부정보 페이지에서 연결 탭을 선택합니다. 연결 문자열 목록이 표시됩니다.
- 적용 가능한 링크를 선택하여 접속 문자열을 보기하거나 복사합니다.
기본 응용 프로그램 서비스 연결 문자열의 일부를 해당 값으로 바꾸어 다른 데이터베이스 서비스에 대한 연결 문자열을 파생할 수 있습니다.
연결 문자열 파생
다음 단계를 수행하여 PDB 관리 서비스 또는 애플리케이션 서비스에 대한 접속 문자열을 파생합니다.
- 절차에 따라 기본 관리 서비스에 대한 간단한 연결 문자열을 가져옵니다. 이 문자열의 형식은 다음과 같아야 합니다.
<hostname|SCAN>:1521/<DB_unique_name>.<DB_domain>
- 적절한 대체를 수행합니다.
-
PDB 관리 서비스의 경우
DB_unique_name
을 PDB 이름으로 바꿉니다.<hostname|SCAN>:1521/<PDB_name>.<DB_domain>
-
응용 프로그램 서비스의 경우
DB_UNIQUE_NAME
을 응용 프로그램 서비스의 이름으로 바꿉니다.<hostname|SCAN>:1521/<app_service_name>.<DB_domain>
-