Connexion à une instance Exadata Cloud Infrastructure

Cette rubrique décrit comment se connecter à une instance Exadata Cloud Infrastructure à l'aide de SSH ou de SQL Developer.

Le mode de connexion dépend de la configuration de votre réseau en nuage. Vous pouvez trouver des informations sur différents scénarios de réseau dans Aperçu du service de réseau. Mais pour obtenir des recommandations particulières concernant le mode de connexion à une base de données en nuage, communiquez avec l'administrateur de la sécurité de réseau.

Note

Les serveurs Exadata Cloud Infrastructure ne peuvent pas être associés à des domaines Active Directory, et le service ne prend pas en charge l'utilisation d'Active Directory pour l'authentification et l'autorisation des utilisateurs.

Préalables

Liste des exigences relatives à l'accès SSH à un noeud de calcul dans une instance Exadata Cloud Infrastructure.

Vous avez besoin des éléments suivants :

  • Chemin complet du fichier contenant la clé privée associée à la clé publique utilisée lors du lancement du système.

  • Adresse IP publique ou privée de l'instance Exadata Cloud Infrastructure.

    Utilisez l'adresse IP privée pour vous connecter au système à partir de votre réseau sur place ou du réseau en nuage virtuel (VCN). Il peut s'agir de la connexion à partir d'un hôte situé sur place au moyen d'un réseau privé virtuel ou de FastConnect à votre réseau VCN, ou à partir d'un autre hôte du même réseau VCN. Utilisez l'adresse IP publique pour vous connecter au système depuis l'extérieur du nuage (sans réseau privé virtuel). Vous pouvez trouver les adresses IP dans la console Oracle Cloud Infrastructure comme suit :

    • Grappes de machines virtuelles en nuage (nouveau modèle de ressource) : Dans la page Détails de la grappe de machines virtuelles Exadata, cliquez sur Machines virtuelles dans la liste Ressources.
    • Systèmes de base de données : Dans la page Détails du système de BD, cliquez sur Noeuds dans la liste Ressources.

    Les valeurs s'affichent dans les colonnes adresse IP publique et adresse IP privée et nom DNS de la table affichant les machines virtuelles ou les noeuds de l'instance Exadata Cloud Infrastructure.

Paramètre de port du module d'écoute SCAN

Lors de la création d'une grappe de machines virtuelles en nuage, vous pouvez éventuellement désigner un autre numéro de port de module d'écoute SCAN.

Le port du module d'écoute SCAN par défaut pour les grappes de machines virtuelles en nuage est 1521. Lors de l'utilisation de la console pour créer une ressource de grappe de machines virtuelles en nuage, vous pouvez éventuellement désigner un autre numéro de port de module d'écoute SCAN. Dans la console OCI, cette option s'affiche sous Options avancées lors de la création de la grappe.

Note

La modification manuelle du port du module d'écoute SCAN d'une grappe de machines virtuelles après le provisionnement à l'aide du logiciel dorsal n'est pas prise en charge. Cette modification peut entraîner l'échec du provisionnement de Data Guard.

Connexion à une machine virtuelle avec SSH

Vous pouvez vous connecter aux machines virtuelles dans un système Exadata Cloud Infrastructure à l'aide d'une connexion SSH.

La plupart des systèmes de style Unix (y compris Linux, Oracle Solaris et macOS) incluent un client SSH. Pour les systèmes Microsoft Windows, vous pouvez télécharger un client SSH gratuit nommé PuTTY à partir du site suivant : "http://www.putty.org".

Rubriques connexes

Connexion à partir d'un système de style Unix

Pour accéder à une machine virtuelle sur un système Oracle ExaDB-D à partir d'un système de style Unix à l'aide de SSH, utilisez la procédure suivante.

  • Entrez la commande SSH suivante pour accéder à la machine virtuelle :
    ssh –i private-key user@node

    Dans la syntaxe précédente :

    • private-key est le chemin complet et le nom du fichier qui contient la clé privée SSH correspondant à une clé publique enregistrée dans le système.
    • user est l'utilisateur du système d'exploitation que vous voulez utiliser pour vous connecter :
      • Pour effectuer des opérations en tant que responsable du logiciel Oracle Database, connectez-vous en tant qu'utilisateur opc et su oracle. L'utilisateur oracle ne dispose pas de l'accès d'utilisateur root à la machine virtuelle.
      • Pour effectuer des opérations nécessitant un accès root à la machine virtuelle, telles que l'application de correctifs, connectez-vous en tant qu'utilisateur opc. L'utilisateur opc peut utiliser la commande sudo -s pour obtenir l'accès root à la machine virtuelle.
    • node est le nom d'hôte ou l'adresse IP de la machine virtuelle à laquelle vous voulez accéder.

Connexion à une machine virtuelle à partir d'un système Microsoft Windows à l'aide de PuTTY

Voyez comment accéder à une machine virtuelle à partir d'un système Microsoft Windows à l'aide de PuTTY.

Avant de commencer

Avant d'utiliser le programme PuTTY pour vous connecter à une machine virtuelle, vous devez disposer des éléments suivants :
  • Adresse IP de la machine virtuelle

  • Fichier de clé privée SSH correspondant à la clé publique associée au déploiement. Ce fichier de clé privée doit être dans le format PuTTY .ppk. Si le fichier de clé privée a été créé initialement sur la plate-forme Linux, vous pouvez utiliser le programme PuTTYgen pour le convertir au format .ppk.

Pour vous connecter à une machine virtuelle à l'aide du programme PuTTY sous Windows :

  1. Téléchargez et installez PuTTY.

    Pour télécharger PuTTY, allez à http://www.putty.org/ et cliquez sur le lien Vous pouvez télécharger PuTTY ici.

  2. Exécutez le programme PuTTY (putty.exe).

    La fenêtre de configuration PuTTY s'affiche et présente le panneau Session.

  3. Dans le champ Host Name (or IP address) (Nom d'hôte ou Adresse IP), entrez le nom d'hôte ou l'adresse IP de la machine virtuelle à laquelle vous voulez accéder.
  4. Confirmez que l'option Connection type (Type de connexion) est réglée à SSH.
  5. Dans l'arbre Category (Catégorie), développez Connection (Connexion) si nécessaire, puis cliquez sur Data (Données).

    Le panneau Data (Données) s'affiche.

  6. Dans le champ Auto-login username (Nom d'utilisateur de connexion automatique), entrez le nom d'utilisateur du système d'exploitation sous lequel vous voulez vous connecter :
    1. Connectez-vous en tant qu'utilisateur opc pour effectuer des opérations nécessitant un accès root ou oracle à la machine virtuelle, telles que la sauvegarde ou l'application de correctifs; cet utilisateur peut utiliser la commande sudo pour obtenir un accès root ou oracle à la machine virtuelle.
  7. Confirmez que l'option When username is not specified (Quand le nom d'utilisateur n'est pas spécifié) est réglée à Prompt (Invite).
  8. Dans l'arbre Category (Catégorie), développez SSH, puis cliquez sur Auth (Authentification).

    Le panneau Auth (Authentification) s'affiche.

  9. Cliquez sur le bouton Browse (Parcourir) situé à côté du champ Private key file for authentication (Fichier de clé privée pour l'authentification). Puis, dans la fenêtre Sélectionner un fichier de clé privée, naviguez jusqu'au fichier de clé privée correspondant à la clé publique associée au déploiement et ouvrez-le.
  10. Dans l'arbre Category (Catégorie), cliquez sur Session.

    Le panneau Session s'affiche.

  11. Dans le champ Saved Sessions (Sessions enregistrées), entrez un nom pour la configuration de la connexion. Puis, cliquez sur Enregistrer.
  12. Cliquez sur Open (Ouvrir) pour ouvrir la connexion.

    La fenêtre de configuration PuTTY se ferme et la fenêtre de terminal PuTTY s'affiche.

    S'il s'agit de la première connexion à la machine virtuelle, une fenêtre d'alerte de sécurité PuTTY s'affiche et vous invite à confirmer la clé publique. Cliquez sur Yes (Oui) pour établir la connexion.

Accès à une base de données après la connexion à la machine virtuelle

Après vous être connecté à une machine virtuelle, vous pouvez utiliser la série de commandes suivantes pour identifier une base de données et vous y connecter.

  1. SSH en tant qu'utilisateur opc.
  2. sudo su oracle
  3. À l'aide de l'utilitaire srvctl situé sous le répertoire de base Oracle Grid Infrastructure, listez les bases de données du système. Par exemple :
    /u01/app/12.2.0.1/grid/bin/srvctl config database -v
    nc122   /u02/app/oracle/product/12.2.0/dbhome_6 12.2.0.1.0
    s12c    /u02/app/oracle/product/12.2.0/dbhome_2 12.2.0.1.0
  4. Identifiez les instances de base de données auxquelles vous souhaitez accéder. Par exemple :
    /u01/app/12.2.0.1/grid/bin/srvctl status database -d s12c
    Instance s12c1 is running on node node01
    Instance s12c2 is running on node node02
  5. Configurez les paramètres d'environnement pour la base de données à laquelle vous souhaitez accéder. Par exemple :
    . oraenv
    ORACLE_SID = [oracle] ? s12c
    The Oracle base has been set to /u02/app/oracle
    export ORACLE_SID=s12c1
  6. Vous pouvez utiliser la commande svrctl pour afficher des informations plus détaillées sur la base de données. Par exemple :
    srvctl config database -d s12c
    Database unique name: s12c
    Database name:
    Oracle home: /u02/app/oracle/product/12.2.0/dbhome_2
    Oracle user: oracle
    Spfile: +DATAC4/s12c/spfiles12c.ora
    Password file: +DATAC4/s12c/PASSWORD/passwd
    Domain: example.com
    Start options: open
    Stop options: immediate
    Database role: PRIMARY
    Management policy: AUTOMATIC
    Server pools:
    Disk Groups: DATAC4
    Mount point paths:
    Services:
    Type: RAC
    Start concurrency:
    Stop concurrency:
    OSDBA group: dba
    OSOPER group: racoper
    Database instances: s12c1,s12c2
    Configured nodes: node01,node02
    CSS critical: no
    CPU count: 0
    Memory target: 0
    Maximum memory: 0
    Default network number for database services:
    Database is administrator managed
  7. Vous pouvez accéder à la base de données à l'aide de SQL*Plus. Par exemple :
    sqlplus / as sysdba
    
    SQL*Plus: Release 12.2.0.1.0 Production ...
    
    Copyright (c) 1982, 2016, Oracle.  All rights reserved.
    
    Connected to:
    Oracle Database 12c EE Extreme Perf Release 12.2.0.1.0 - 64bit Production

Utilisation d'Oracle Net Services pour se connecter à une base de données

Oracle Database pour Exadata Cloud Infrastructure prend en charge l'accès à distance à la base de données à l'aide d'Oracle Net Services.

Comme Exadata Cloud Infrastructure utilise Oracle Grid Infrastructure, vous pouvez établir des connexions Oracle Net Services à l'aide de connexions SCAN (Single Client Access Name). SCAN est une fonction qui fournit un mécanisme cohérent permettant aux clients d'accéder aux instances Oracle Database s'exécutant en grappe.

Par défaut, SCAN est associé à trois adresses IP virtuelles. Chaque adresse IP virtuelle SCAN est également associée à un module d'écoute SCAN qui fournit un point d'extrémité pour les connexions Oracle Database à l'aide d'Oracle Net Services. Pour maximiser la disponibilité, Oracle Grid Infrastructure répartit les adresses IP virtuelles SCAN et les modules d'écoute SCAN entre les noeuds disponibles de la grappe. En outre, en cas d'arrêt ou de défaillance d'un noeud, les adresses IP virtuelles SCAN et les modules d'écoute SCAN sont migrés automatiquement vers un noeud survivant. En utilisant les connexions SCAN, vous garantissez aux clients Oracle Database qu'ils disposeront toujours d'un jeu fiable de points d'extrémité de connexion pouvant traiter toutes les bases de données s'exécutant en grappe.

Les modules d'écoute SCAN s'ajoutent aux modules d'écoute Oracle Net, également appelés modules d'écoute de noeuds, exécutés sur chaque noeud de la grappe. Lorsqu'une connexion Oracle Net Services passe par SCAN, le module d'écoute SCAN achemine la connexion vers l'un des modules d'écoute de noeuds et ne joue plus aucun rôle dans la connexion. Une combinaison de facteurs, notamment la disponibilité du module d'écoute, le positionnement de l'instance de la base de données et la répartition de la charge de travail, détermine quel module d'écoute de noeuds reçoit chaque connexion.

Note

Cette documentation présente des exigences de base pour la connexion à vos bases de données Exadata Cloud Infrastructure à l'aide d'Oracle Net Services.

Préalables à la connexion à une base de données avec Oracle Net Services

Vérifiez les préalables pour vous connecter à une instance Oracle Database sur Oracle ExaDB-D à l'aide d'Oracle Net Services.

Pour vous connecter à une instance Oracle Database sur Exadata Cloud Infrastructure avec Oracle Net Services, vous devez disposer des éléments suivants :
  • Les adresses IP virtuelles SCAN, ou le nom d'hôte ou l'adresse IP d'une machine virtuelle qui héberge la base de données à laquelle vous voulez accéder.
  • L'identificateur de base de données : Identificateur du système de base de données (SID) ou nom du service.

Connexion à une base de données à l'aide de SQL Developer

Vous pouvez vous connecter à une base de données avec SQL Developer en utilisant une des méthodes suivantes :

  • Créez un tunnel SSH temporaire depuis votre ordinateur vers la base de données. Cette méthode ne donne accès que pendant la durée de vie du tunnel. (Si vous avez terminé d'utiliser la base de données, veillez à fermer le tunnel SSH en quittant la session SSH).
  • Ouvrez le port utilisé comme module d'écoute SCAN Oracle en mettant à jour la liste de sécurité utilisée pour la grappe de machines virtuelles en nuage ou la ressource de système de base de données dans l'instance du service Exadata Cloud. Le port du module d'écoute SCAN par défaut est 1521. Cette méthode permet un accès plus durable à la base de données. Pour plus d'informations, voir Mise à jour de la liste de sécurité.

Après avoir créé un tunnel SSH ou ouvert le port du module d'écoute SCAN décrit ci-dessus, vous pouvez vous connecter à une instance Exadata Cloud Infrastructure à l'aide d'adresses IP SCAN ou d'adresses IP publiques, selon la façon dont votre réseau est configuré et l'origine de votre connexion. Vous pouvez trouver les adresses IP dans la console, dans la page de détails Base de données.

Pour se connecter à l'aide d'adresses IP SCAN

Vous pouvez vous connecter à la base de données à l'aide des adresses IP SCAN si votre client est sur place et que vous utilisez une connexion FastConnect ou RPV site-à-site.

Vous disposez des options suivantes :
  • Utilisez les adresses IP SCAN privées, comme présenté dans l'exemple tnsnames.ora suivant :

    testdb=
      (DESCRIPTION =
        (ADDRESS_LIST=
          (ADDRESS = (PROTOCOL = TCP)(HOST = <scanIP1>)(PORT = 1521))
          (ADDRESS = (PROTOCOL = TCP)(HOST = <scanIP2>)(PORT = 1521)))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = <dbservice.subnetname.dbvcn.oraclevcn.com>)
        )
      )
  • Définissez un nom SCAN externe dans votre serveur DNS sur place. Votre application peut résoudre le nom SCAN externe aux adresses IP SCAN privées du système de base de données. L'application peut ensuite utiliser une chaîne de connexion incluant le nom SCAN externe. Dans l'exemple tnsnames.ora suivant, extscanname.example.com est défini dans le serveur DNS sur place.

    testdb =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = <extscanname.example.com>)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = <dbservice.subnetname.dbvcn.oraclevcn.com>)
        )
      )
Pour se connecter à l'aide d'adresses IP publiques

Vous pouvez utiliser l'adresse IP publique du noeud pour vous connecter à la base de données si le client et la base de données se trouvent dans des réseaux en nuage virtuels différents ou si la base de données se trouve sur un réseau VCN doté d'une passerelle Internet.

Toutefois, des implications importantes sont à prendre en compte :

  • Lorsque le client utilise l'adresse IP publique, il contourne le module d'écoute SCAN et accède à celui du noeud; l'équilibreur de charge côté serveur n'est donc pas disponible.
  • Lorsque le client utilise une adresse IP publique, il ne peut pas profiter de la fonction de basculement d'adresses IP virtuelles. Si un noeud devient indisponible, les tentatives de connexion à ce noeud sont infructueuses jusqu'à la fin du délai de temporisation TCP/IP. Vous pouvez définir des paramètres sqlnet côté client pour limiter la temporisation TCP/IP.

L'exemple tnsnames.ora suivant présente une chaîne de connexion qui inclut le paramètre CONNECT_TIMEOUT pour éviter les temporisations TCP/IP.

test=
  (DESCRIPTION =
    (CONNECT_TIMEOUT=60)
    (ADDRESS_LIST=
      (ADDRESS = (PROTOCOL = TCP)(HOST = <publicIP1>)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = <publicIP2>)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = <dbservice.subnetname.dbvcn.oraclevcn.com>)
    )
  )

Connexion à une base de données à l'aide de SCAN

Pour créer une connexion Oracle Net Services à l'aide des modules d'écoute SCAN, vous pouvez choisir entre deux approches.

Connexion à une base de données à l'aide d'un descripteur de connexion qui référence toutes les adresses IP virtuelles SCAN

Vous pouvez configurer un descripteur de connexion pour le système du service Oracle Exadata Database sur une infrastructure dédiée à l'aide de plusieurs modules d'écoute SCAN.

Cette approche requiert que vous indiquiez toutes les adresses IP virtuelles SCAN et permet à Oracle Net Services de se connecter à un module d'écoute SCAN disponible.

  1. Utilisez le modèle suivant pour définir un alias Net Services, qui est généralement utilisé pour fournir un nom pratique pour le descripteur de connexion :
    alias-name = (DESCRIPTION=
      (ADDRESS_LIST=
        (ADDRESS=(PROTOCOL=tcp)(HOST=SCAN-VIP-1)(PORT=1521))
        (ADDRESS=(PROTOCOL=tcp)(HOST=SCAN-VIP-2)(PORT=1521))
        (ADDRESS=(PROTOCOL=tcp)(HOST=SCAN-VIP-3)(PORT=1521)))
      (CONNECT_DATA=(sid-or-service-entry)))

    Où :

    alias-name est le nom que vous utilisez pour identifier l'alias.

    SCAN-VIP-[1–3] représente les adresses IP virtuelles SCAN.

    sid-or-service-entry identifie l'IDS de base de données ou le nom du service dans l'un des formats suivants :
    • SID=sid-name. Par exemple : SID=S12C1.
    • SERVICE_NAME=service-name. Par exemple : SERVICE_NAME=PDB1.example.yourcloud.com.
    Note

    Par défaut, Oracle Net Services sélectionne de manière aléatoire l'une des adresses dans la liste pour équilibrer la charge entre les modules d'écoute SCAN.

Connexion à une base de données à l'aide d'un descripteur de connexion qui référence un nom SCAN personnalisé

Vous pouvez définir un descripteur de connexion pour le système du service Oracle Exadata Database sur une infrastructure dédiée à l'aide d'un nom SCAN personnalisé.

À l'aide de cette approche, vous définissez un nom d'accès client unique personnalisé (SCAN) dans votre serveur DNS, qui se résout en trois adresses IP virtuelles SCAN.

  1. Utilisez le modèle suivant pour définir un alias Net Services référençant le nom SCAN personnalisé :
    alias-name = (DESCRIPTION=
      (ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=scan-name)(PORT=1521)))
      (CONNECT_DATA=(sid-or-service-entry)))

    Où :

    alias-name est le nom que vous utilisez pour identifier l'alias.

    scan-name est le nom SCAN personnalisé.

    sid-or-service-entry identifie l'IDS de base de données ou le nom du service dans l'un des formats suivants :
    • SID=sid-name. Par exemple : SID=S12C1.
    • SERVICE_NAME=service-name. Par exemple : SERVICE_NAME=PDB1.example.yourcloud.com.
    Vous pouvez également utiliser la méthode de connexion simplifiée pour spécifier un descripteur de connexion dans le format suivant :
    scan-name:1521/sid-or-service-entry
    Par exemple :
    exa1scan.example.com:1521/S12C1
    Ou
    exa1scan.example.com:1521/PDB1.example.yourcloud.com

Connexion à une base de données à l'aide d'un module d'écoute de noeud

Pour vous connecter à une instance Oracle Database sur Exadata Cloud Infrastructure avec un descripteur de connexion qui contourne les modules d'écoute SCAN, utilisez cette procédure pour acheminer votre connexion directement vers un module d'écoute de noeud.

Avec cette méthode, vous abandonnez la haute disponibilité et l'équilibrage de charge fournis par SCAN. Cette méthode peut toutefois être préférable si vous voulez diriger des connexions vers un noeud ou une interface réseau spécifique. Par exemple, vous souhaitez garantir que les connexions à partir d'un programme qui effectue des chargements de données en masse utilisent le réseau de sauvegarde.

Grâce à cette approche, vous dirigez votre connexion à l'aide du nom d'hôte ou de l'adresse IP du noeud.

Exemple 4-2 : Définition d'un alias Net Service qui référence directement le noeud

alias-name = (DESCRIPTION=
  (CONNECT_TIMEOUT=timeout)					
  (ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=node)(PORT=1521)))
  (CONNECT_DATA=(sid-or-service-entry)))

Où :

alias-name est le nom que vous utilisez pour identifier l'alias.

timeout indique une période de temporisation (en secondes) qui vous permet de mettre fin à une tentative de connexion sans devoir attendre une temporisation TCP. Le paramètre (CONNECT_TIMEOUT=timeout) est facultatif.

node est le nom d'hôte ou l'adresse IP de la machine virtuelle que vous voulez utiliser.

sid-or-service-entry identifie l'IDS de base de données ou le nom du service dans l'un des formats suivants :
  • SID=sid-name. Par exemple, SID=S12C1.
  • SERVICE_NAME=service-name. Par exemple, SERVICE_NAME=PDB1.example.oraclecloudatcust.com.
Vous pouvez également utiliser la méthode de connexion simplifiée pour spécifier un descripteur de connexion dans le format suivant :
node:1521/sid-or-service-entry
Par exemple :
exa1node01.example.com:1521/S12C1
Ou
exa1node01.example.com:1521/PDB1.example.oraclecloudatcust.com