Azure VM에서 실행되는 Oracle Database Gateway Server를 사용하여 데이터 로드

Azure용 OracleDBAzure 애플리케이션이 OCI 데이터베이스에서 데이터를 로드하고 쿼리할 수 있게 해줍니다. 이 아키텍처는 Oracle Exadata Database Service on Dedicated InfrastructureAzure용 OracleDB에서 제공하는 인프라를 활용하여 Azure 가상 머신에서 실행되는 Oracle Database Gateway for SQL Server 소프트웨어를 통해 데이터베이스 링크를 사용하여 Azure SQL Server에서 데이터를 로드하는 방법을 설명합니다.

구조

This architecture uses Oracle Database Gateway for SQL Server running in an Azure virtual machine to load data from Azure SQL Server to Oracle Exadata Database Service on Dedicated Infrastructure. Oracle Database Gateway for SQL Server는 Azure 전용 끝점을 사용하여 대기 시간이 짧은 네트워크 링크를 사용하여 Azure SQL Server에 접속합니다.

다음 다이어그램은 이 구조를 보여줍니다.



exadata-db-azure-odsa-azure-vm.zip

이 아키텍처에 대해 다음 사항에 유의하십시오.

  • Oracle Database Gateway for SQL Server 소프트웨어는 Azure 가상 머신에서 실행할 수 있습니다. Oracle Database Gateway for SQL Server 요구사항 및 크기 조정 지침에 따라 CPU, 메모리 및 디스크 크기를 Azure 가상 머신에 지정해야 합니다. 자세한 내용은 아래의 Oracle Database Gateway for SQL Server 시스템 요구 사항을 참조하십시오.
  • Oracle Exadata Database Service on Dedicated InfrastructureOracle Database Gateway를 실행하는 Azure 가상 머신의 호스트 이름과 IP 주소를 확인해야 합니다. Oracle Database Gateway 서버에서 /etc/hosts 파일을 편집하거나, Oracle Exadata Database Service on Dedicated Infrastructure가 구성된 OCI VCN(가상 클라우드 네트워크)에서 전용 DNS 영역을 구성합니다.
  • Oracle Exadata Database Service on Dedicated Infrastructure 데이터베이스에서는 기본적으로 global_names 매개변수가 TRUE로 설정됩니다. 따라서 Azure SQL Server에 대한 데이터베이스 링크를 생성할 때 정규화된 데이터베이스 이름을 사용해야 합니다.

시작하기 전에

시작하기 전에 이 설정에 사용된 주요 소프트웨어 구성 요소의 버전을 확인하고 필요한 소프트웨어 패키지를 다운로드한 다음 제품 설명서에서 나중에 참조할 수 있도록 검토하십시오.

소프트웨어 요구사항 검토

이러한 지침은 다음 소프트웨어 및 하드웨어 버전에서 테스트됩니다.

  • Oracle Exadata Database Service on Dedicated Infrastructure X8M-2
  • Oracle Database 19.16
  • Azure SQL 서버

다음 소프트웨어 패키지를 다운로드합니다.

필수 서비스 및 역할 정보

이 솔루션을 사용하려면 다음 서비스가 필요합니다.

  • OracleDB for Azure with Oracle Exadata Database Service on Dedicated Infrastructure(Azure의 경우)
  • Oracle Cloud Infrastructure
  • Azure 가상 머신

각 서비스에 필요한 역할입니다.

서비스 이름: 역할 다음에 필요...
Oracle Exadata Database Service on Dedicated Infrastructure: sys con 데이터베이스 링크를 구성합니다.
Oracle Cloud Infrastructure: VCN Admin 보안 규칙을 추가하고 DNS를 수정하여 Azure 끝점 및 Azure VM으로 분석합니다.
Azure 가상 머신: root Oracle Database Gateway 소프트웨어를 설치 및 구성할 oracle 유저를 생성합니다. 포트 1521에 대한 연결을 허용하도록 로컬 방화벽을 수정합니다.

필요한 클라우드 서비스를 이용하려면 Oracle 솔루션을 위한 Oracle Cloud 서비스를 얻는 방법 알아보기를 참조하십시오.

Azure 가상 머신에서 실행되는 Oracle Database Gateway에 대한 고려 사항

Azure 가상 머신에서 Oracle Database Gateway for SQL Server를 실행하는 것은 Azure 서비스에 익숙하지만 익숙한 OCI 서비스가 아닌 고객에게 이상적입니다.

Azure VM에서 실행되는 Oracle Database Gateway의 이점

  • Oracle Database Gateway for SQL Server는 Oracle에서 개발 및 지원합니다.
  • Oracle Exadata Database Service on Dedicated Infrastructure에 추가 타사 소프트웨어를 설치할 필요가 없으므로 환경을 쉽게 업데이트하고 유지 관리할 수 있습니다.
  • Oracle Database Gateway for SQL ServerOracle Exadata Database Service on Dedicated Infrastructure의 개별 컴퓨팅 인스턴스에서 실행되므로 두 환경을 더 쉽게 업데이트하고 유지할 수 있습니다. 또한 Oracle Database Gateway 소프트웨어는 가격이 더 높은 전문화된 Oracle Exadata Database Service on Dedicated Infrastructure OCPU에서 실행되지 않고 비용이 저렴한 Azure OCPU에서 실행되므로 솔루션이 더 저렴할 수 있습니다.
  • Oracle Database Gateway Server와 Azure SQL Server 간의 통신은 암호화됩니다(Azure SQL Server 기본 구성에 의해 적용됨).
  • Oracle Database와 Azure SQL Server 데이터베이스 간의 데이터 유형 변환 및 매핑은 Oracle Database Gateway 소프트웨어에서 자동으로 관리됩니다.
  • Azure SQL Server의 호스트 이름 해상도는 Azure 가상 머신 수준에서 Azure에 의해 자동으로 관리됩니다.

Azure 가상 머신에서 실행되는 Oracle Database Gateway의 단점

  • Oracle Database Gateway 소프트웨어에 대한 추가 라이센스가 필요할 수 있습니다.
  • Oracle Database Gateway 서버를 구성할 때 Oracle Exadata Database Service on Dedicated InfrastructureOracle Database Gateway 서버 간의 통신은 기본적으로 암호화되지 않습니다. Oracle Database Gateway sqlnet.ora의 추가 구성은 Oracle Exadata Database Service on Dedicated Infrastructure에서 Oracle Database Gateway 서버로의 암호화를 적용하는 데 필요합니다.

Azure Virtual Machine에서 실행되는 Oracle Database Gateway 구성

  1. Azure 콘솔에 로그인하여 Oracle Exadata Database Service on Dedicated Infrastructure 데이터베이스가 데이터를 로드하고 질의할 Azure SQL Server 데이터베이스에 대한 정보를 가져옵니다. 이 정보는 Oracle Database Gateway 서버에 Azure SQL Server 데이터베이스에 연결하는 방법을 알려주는 데 필요합니다.
    다음 세부 정보를 얻습니다.
    • 데이터베이스 이름: Azure SQL Server 데이터베이스의 이름입니다.
    • 전체 서버 이름: Azure SQL Server 데이터베이스가 실행 중인 SQL Server의 전체 호스트 이름(일반적으로 servername.database.windows.net 형식)입니다.
    • Azure SQL Server 전용 끝점: Azure SQL Server에 접속된 Azure vnet의 Azure SQL Server 전용 끝점의 이름 및 IP 주소입니다. 아직 전용 끝점이 없는 경우 Azure SQL Server에 대한 끝점을 생성하고 이름과 IP 주소를 기록합니다.
    • Azure SQL Server 사용자 이름: Azure SQL Server 데이터베이스 또는 스키마(일반적으로 sqladmin)에 접속하도록 허용된 기존 Azure SQL Server 사용자의 이름입니다.
    • Azure SQL Server 사용자 비밀번호: Azure SQL Server 사용자가 Azure SQL Server 데이터베이스 및 스키마에 접속하기 위한 비밀번호입니다.
  2. Azure용 OracleDB에 대해 구성된 vnet에서 Linux 7.9를 실행하는 Azure 가상 머신을 생성합니다. 이 가상 머신은 Oracle Database Gateway for SQL Server를 실행합니다. 이 가상 머신에 지정된 hostnameIP 주소(Azure vnet)를 기록해 두면 Oracle Database Gateway 서버에 연결하는 방법을 Oracle Exadata Database Service on Dedicated Infrastructure 데이터베이스에 알릴 때 이 정보가 필요합니다. 호스트 이름은 대개 servername.windows.net 형식입니다.
  3. OCI 기본 메뉴에서 네트워킹/DNS 관리를 선택하여 전용 DNS 영역을 생성합니다. 새 전용 DNS 영역에서 이전 단계에서 생성된 Azure VM의 레코드 호스트 이름 및 IP 주소를 추가합니다.
  4. OCI 기본 메뉴에서 네트워킹/DNS 관리를 선택하여 DNS 전용 뷰를 생성합니다. 이전 단계에서 생성된 전용 DNS 영역을 새로 생성된 이 DNS 전용 뷰에 추가하고 변경사항을 활성화합니다.
  5. OCI 기본 메뉴에서 네트워킹/VCN(가상 클라이언트 네트워크)을 선택합니다. Oracle Database Gateway Oracle Exadata Database Service on Dedicated Infrastructure 서비스를 프로비저닝할 때 생성된 VCN을 선택합니다(필요한 경우 구획 변경). DNS 분석기 링크를 누른 다음 이전 단계에서 생성된 DNS 전용 뷰를 DNS 분석기에 추가합니다. 이를 통해 Oracle Exadata Database Service on Dedicated Infrastructure에서 Oracle Database Gateway를 실행하는 Azure VM으로의 이름 및 IP 주소 분석을 수행할 수 있습니다.
  6. Oracle Exadata Database Service on Dedicated Infrastructure VM 클러스터 노드 중 하나에 로그인하여 nslookup를 사용하여 Oracle Database Gateway를 실행할 Azure VM에 대해 호스트 이름-IP 주소 분석이 작동하는지 확인합니다.
    예:
    [opc@exa_dbnodex ~]$ nslookup servername.windows.net
    Server: 169.254.169.254
    Address: 169.254.169.254#53
    Non-authoritative answer:
    Name: servername.windows.net
    Address: IP_address_of_Azure_VM_from_step_2
    [opc@exa_dbnodex ~]$
    예제의 변수는 다음 값을 가집니다.
    • servername은 1단계의 Azure SQL Server 전용 끝점의 이름입니다.
    • IP_address_of_Azure_VM_from_step_2은 2단계의 Azure VM IP 주소입니다.
  7. 새 Azure 가상 머신에서 이전에 다운로드한 Oracle Database Gateway 소프트웨어를 설치합니다.
  8. Oracle Database Gateway for Azure SQL Server를 구성하여 Azure SQL Server 전용 끝점을 사용하여 Azure SQL Server 데이터베이스에 접속합니다.
    Oracle Database GatewayAzure SQL Server 전용 끝점을 실행하는 Azure 가상 머신은 동일한 Azure vnet에 있습니다.
  9. Oracle Exadata Database Service on Dedicated Infrastructure VM 클러스터의 모든 노드에서 Oracle Database Service on Dedicated Infrastructure 데이터베이스 tnsnames.ora를 구성하여 Oracle Database Gateway for SQL Server로 분석합니다.
    [opc@exa_dbnodex ~]$ sudo su - oracle
    Last login: Tue Sep 13 20:06:30 UTC 2022
    [oracle@ exa_dbnodex ~]$ . ./exadb_name.env
    [oracle@ exa_dbnodex ~]$ cd $ORACLE_HOME
    [oracle@ exa_dbnodex dbhome_1]$ cd network/admin
    [oracle@ exa_dbnodex admin]$ cd exadb_name/
    [oracle@ exa_dbnodex exadb_name]$ tail -10 tnsnames.ora
    Database_Name_From_Step_1 =
    (DESCRIPTION=
    (ADDRESS=(PROTOCOL=tcp)(HOST=Azure_VM_Hostname_From_Step_2)(PORT=15
    21))
    (CONNECT_DATA=(SID=Database_Name_From_Step_1))
    (HS=OK)
    )
    예제의 변수는 다음 값을 가집니다.
    • exadb_nameOracle Exadata Database Service on Dedicated Infrastructure 데이터베이스의 이름입니다.
    • Database_Name_From_Step_1은 단계 1의 데이터베이스 이름입니다.
    • Azure_VM_Hostname_From_Step_2은 2단계의 Azure VM 호스트 이름입니다.
  10. tnsping를 사용하여 Azure 가상 머신에서 실행 중인 Oracle Exadata Database Service on Dedicated Infrastructure 데이터베이스와 Oracle Database Gateway for SQL Server 간의 접속을 테스트합니다. 이 접속은 Azure와 OCI 간에 OracleDB for Azure로 설정된 대기 시간이 짧은 네트워크 링크를 사용합니다.
    [oracle@exajc-dbnodex ~]$ tnsping Database_Name_From_Step_1
    TNS Ping Utility for Linux: Version 19.0.0.0.0 - Production on 16-SEP-2022 21:28:34
    Used parameter files:
    /u02/app/oracle/product/19.0.0.0/dbhome_1/network/admin/exadb_name/s
    qlnet.ora
    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION= 
    (ADDRESS=(PROTOCOL=tcp)(HOST=Azure_VM_Hostname_From_Step_2)(PORT=15
    21)) (CONNECT_DATA=(SID=Database_Name_From_Step_1)) (HS=OK))
    OK (0 msec)
    [oracle@exadbnodex ~]$
    예제의 변수는 다음 값을 가집니다.
    • exadb_nameOracle Exadata Database Service on Dedicated Infrastructure 데이터베이스의 이름입니다.
    • Database_Name_From_Step_1은 단계 1의 데이터베이스 이름입니다.
    • Azure_VM_Hostname_From_Step_2은 2단계의 Azure VM 호스트 이름입니다.
  11. Oracle Exadata Database Service on Dedicated Infrastructure 플러그인할 수 있는 데이터베이스(PDB)(CDB에는 없음)에서 Azure SQL Server 데이터베이스에 대한 데이터베이스 링크를 만듭니다. global_names 매개변수는 기본적으로 Oracle Exadata Database Service on Dedicated Infrastructure 데이터베이스에서 TRUE로 설정되므로 데이터베이스 링크를 생성하려면 전체 데이터베이스 이름을 사용해야 합니다. 데이터베이스 링크가 생성된 후 이 링크를 사용하여 Azure SQL Server 데이터베이스에서 Oracle Exadata Database Service on Dedicated Infrastructure 플러그인할 수 있는 데이터베이스(PDB)로 데이터를 질의하고 로드할 수 있습니다.
    [opc@exadbnodex ~]$ sudo su - oracle
    Last login: Tue Sep 13 20:06:30 UTC 2022
    [oracle@exadbnodex ~]$ . ./exadb_name.env
    [oracle@exadbnodex ~]$sqlplus / as sysdba
    SQL> show pdbs;
    CON_ID CON_NAME OPEN MODE RESTRICTED
    ---------- ------------------------------ ---------- ----------
     2 PDB$SEED READ ONLY NO
     3 PDBName READ WRITE NO
    SQL> alter session set container=PDBName;
    Session altered.
    SQL>create public database 
    link Fully_Qualified_Server_Name_From_Step_1 connect to 
    "Azure_SQL_Server_Username" identified by 
    "Azure_SQL_User_Password" using 
    'Database_Name_From_Step_1';
    Database link created.
    사용자 이름과 비밀번호는 큰 따옴표(" ")로 묶이고, Azure SQL Server 데이터베이스 이름은 작은 따옴표(' ')로 묶입니다.
    예제의 변수는 다음 값을 가집니다.
    • exadb_nameOracle Exadata Database Service on Dedicated Infrastructure 데이터베이스의 이름입니다.
    • PDBName은 플러그인할 수 있는 데이터베이스의 이름입니다.
    • Fully_Qualified_Server_Name_From_Step_1은 1단계에서 Azure SQL Server 데이터베이스가 실행 중인 SQL 서버의 정규화된 호스트 이름입니다.
    • Azure_SQL_Server_Username은 1단계의 기존 Azure SQL Server 사용자 이름입니다.
    • Azure_SQL_User_Password은 1단계에서 데이터베이스에 연결할 Azure SQL Server 사용자의 비밀번호입니다.
    • Database_Name_From_Step_1은 1단계의 Azure SQL Server 데이터베이스 이름입니다.
  12. 다음과 같이 query를 실행하여 새로 생성된 데이터베이스 링크를 테스트합니다.
    SQL> select count(*) from 
    some_table@DatabaseLink_Name;
    예제의 변수는 다음 값을 가집니다.
    • some_table은 질의할 데이터베이스의 테이블 이름입니다.
    • DatabaseLink_Name은 11단계의 데이터베이스 링크 이름입니다.

Oracle Database Gateway Server 설치

이 단계에서는 Oracle Linux 7.9를 실행하는 Azure 가상 머신에 Oracle Database Gateway Server 소프트웨어를 설치하는 방법에 대해 설명합니다.

  1. yum를 사용하여 Oracle 필요 조건 패키지를 설치합니다.
    [root@dbgw ~]# yum install oracle-database-preinstall-19c
  2. user, oracledba 그룹을 생성합니다.
    [root@dbgw ~]# useradd -u 1001 -g dba -d /home/oracle -m -s /bin/bash oracle
    [root@dbgw ~]# groupadd -g 1001 dba
  3. Oracle Database Gateway Server 19.3의 설치 디렉토리를 생성합니다.
    [root@dbgw ~]# mkdir /u01
    [root@dbgw ~]# chown oracle:dba /u01
  4. 포트 1521에 대한 연결을 허용하도록 로컬 방화벽을 수정합니다.
    [root@dbgw ~]# firewall-cmd --get-active-zones
    public
    interfaces: eth0
    [root@dbgw ~]# firewall-cmd --zone=public --add-port=1521/tcp –permanent
    [root@dbgw ~]# firewall-cmd --reload
    [root@dbgw ~]# firewall-cmd --zone=public --list-ports
    1521/tcp
    [root@dbgw ~]# systemctl stop firewalld
    [root@dbgw ~]# systemctl start firewalld
  5. 이전에 다운로드한 Oracle Database Gateway 19.3 zip 파일을 Linux VM의 /home/oracle 디렉토리에 복사한 다음 Oracle Database Gateway 19.3 zip 파일의 압축을 풉니다.
    [oracle@dbgw ~]$ unzip LINUX.X64_193000_gateways.zip
  6. 포함된 템플리트에서 설치 응답 파일을 만듭니다.
    [oracle@dbgw response]$ cd /home/oracle/gateways/response/
    [oracle@dbgw response]$ cp tg.rsp/home/oracle/tg-jc.rsp
  7. 다음 옵션으로 응답 파일을 수정합니다.
    UNIX_GROUP_NAME=oracle
    INVENTORY_LOCATION=/u01/app/oraInventory
    ORACLE_HOME=/u01/app/oracle/product/gateway
    ORACLE_BASE=/u01/app/oracle
    oracle.install.tg.msqlConStr={Fully_Qualified_Server_Name_From_Step_1,1433,
    Database_Name_From_Step_1,Database_Name_From_Step_1}
    예제의 변수는 다음 값을 가집니다.
    • Fully_Qualified_Server_Name_From_Step_1Azure SQL Server 데이터베이스가 실행 중인 SQL 서버의 정규화된 호스트 이름(1단계)입니다.
    • Database_Name_From_Step_11단계Azure SQL Server 데이터베이스 이름입니다.
  8. 자동 설치를 실행하여 Oracle Database Gateway 19.3을 설치합니다.
    [oracle@dbgw gateways]$./runInstaller -silent -noconfig -
    responseFile /home/oracle/tg-jc.rsp
  9. 사용자 oracle에 대한 Oracle 홈 및 경로를 구성합니다.
    [oracle@dbgw ~]$ tail -6 .bash_profile
    ORACLE_HOME=/u01/app/oracle/product/gateway
    export ORACLE_HOME
    PATH=$PATH:$ORACLE_HOME/bin
    export PATH
    [oracle@dbgw ~]$

Oracle Database Gateway for SQL Server 구성

Linux 7.9를 실행하는 Azure 가상 시스템에 Oracle Database Gateway를 설치한 후에는 Azure SQL Server 전용 끝점을 사용하여 Azure SQL Server 데이터베이스에 접속하도록 구성해야 합니다.

  1. OCI 컴퓨트 인스턴스에서 실행 중인 Oracle Database Gateway for SQL Server 초기화 파일에 Azure SQL Server 데이터베이스 정보를 추가합니다. 이 정보는 Oracle Database GatewayAzure SQL Server 데이터베이스에 연결하는 방법을 알려줍니다.
    예:
    [oracle@dbgw ~]$ cd $ORACLE_HOME/dg4msql/admin
    [oracle@dbgw admin]$ cp initdg4msql.ora 
    initDatabase_Name_From_Step_1.ora
    [oracle@dbgw admin]$ cat initDatabase_Name_From_Step_1.ora
    # This is a customized agent init file that contains the HS parameters
    # that are needed for the Database Gateway for Microsoft SQL Server
    # HS init parameters
    #
    HS_FDS_CONNECT_INFO=Fully_Qualified_Server_Name:1433//Database_Name_From_Step_1
    # alternate connect format is hostname/serverinstance/databasename
    HS_DB_NAME=Database_Name_From_Step_1
    HS_DB_DOMAIN=Database_Domain_Name #usually database.windows.net
    HS_FDS_TRACE_LEVEL=OFF
    HS_FDS_RECOVERY_ACCOUNT=RECOVER
    HS_FDS_RECOVERY_PWD=RECOVER
    HS_FDS_ENCRYPT_SESSION=SSL
    HS_FDS_VALIDATE_SERVER_CERT=0
    예제의 변수는 다음 값을 가집니다.
    • Database_Name_From_Step_11단계Azure SQL Server 데이터베이스 호스트 이름입니다.
    • Fully_Qualified_Server_NameAzure SQL Server 데이터베이스가 실행 중인 SQL 서버의 정규화된 호스트 이름(1단계)입니다.
    • Database_Domain_Name은 데이터베이스가 1단계(일반적으로 database.windows.net)에서 상주하는 도메인의 이름입니다.
    Oracle Database Gateway 서버와 Azure SQL Server 간의 접속을 암호화하려면 HS_FDS_ENCRYPT_SESSIONHS_FDS_VALIDATE_SERVER_CERT 매개변수가 필요합니다.
  2. Oracle Database Gateway 서버에서 다음과 같이 이 게이트웨이가 제공하는 게이트웨이 서비스로 분석되도록 tnsnames.ora를 수정합니다.
    [oracle@dbgw ~]$ cat $ORACLE_HOME/network/admin/tnsnames.ora
    # This is a sample tnsnames.ora that contains the NET8 parameters that are
    # needed to connect to an HS Agent
    Azure_SQL_Server_Database_Name =
    (DESCRIPTION=
    (ADDRESS=(PROTOCOL=tcp)(HOST= 
    Azure_VM_Hostname_From_Step_2)(PORT=1521))
    (CONNECT_DATA=(SID=Azure_SQL_Server_Database_Name))
    (HS=OK)
    )
    예제의 변수는 다음 값을 가집니다.
    • Azure_SQL_Server_Database_Name1단계Azure SQL Server 데이터베이스 이름입니다.
    • Azure_VM_Hostname_From_Step_22단계의 Azure VM 호스트 이름입니다.
  3. Oracle Database Gateway 서버에서 Oracle Database Gateway 정보를 포함하도록 listener.ora를 수정합니다.
    예:
    [oracle@dbgw-jc admin]$ cat ../../network/admin/listener.ora
    # This is a sample listener.ora that contains the NET8 parameters that are
    # needed to connect to an HS Agent
    LISTENER =
    (ADDRESS_LIST=
    (ADDRESS=(PROTOCOL=tcp)(HOST=
    Azure_VM_Hostname_From_Step_2)(PORT=1521))
    )
    SID_LIST_LISTENER=
    (SID_LIST=
    (SID_DESC=
     (SID_NAME=Database_Name_From_Step_1)
     (ORACLE_HOME=/u01/app/oracle/product/gateway)
     (PROGRAM=dg4msql)
    )
    )
    예제의 변수는 다음 값을 가집니다.
    • Azure_VM_Hostname_From_Step_22단계의 Azure VM 호스트 이름입니다.
    • Database_Name_From_Step_11단계Azure SQL Server 데이터베이스 이름입니다.
  4. Azure VM에서 실행되는 Oracle Database Gateway 서버에서 리스너를 시작하고 게이트웨이에 대한 접속을 테스트합니다.
    예:
    [oracle@dbgw admin]$lsnrctl start
    [oracle@dbgw admin]$ tnsping Database_Name_From_Step_1
    TNS Ping Utility for Linux: Version 19.0.0.0.0 - Production on 16-SEP-2022 21:18:39
    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST= 
    Azure_VM_Hostname_From_Step_2)(PORT=1521)) 
    (CONNECT_DATA=(SID=Database_Name_From_Step_1)) (HS=OK))
    OK (0 msec)
    [oracle@dbgw-jc admin]$
    예제의 변수는 다음 값을 가집니다.
    • Database_Name_From_Step_11단계Azure SQL Server 데이터베이스 이름입니다.
    • Azure_VM_Hostname_From_Step_22단계의 Azure VM 호스트 이름입니다.