Configuration d’Oracle Rest Data Services (ORDS) - Amazon Relational Database Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configuration d’Oracle Rest Data Services (ORDS)

La rubrique suivante répertorie les options de configuration pour ORDS 21 et 22 :

Installation et configuration d’ORDS versions 21 et inférieures

Vous êtes maintenant prêt à installer et à configurer Oracle Rest Data Services (ORDS) pour une utilisation avec Oracle APEX. Pour Oracle APEX versions 5.0 et ultérieures, utilisez ORDS versions 19.1 à 21. Pour savoir comment installer ORDS versions 22 et ultérieures, consultez Installation et configuration d’ORDS versions 22 et ultérieures.

Installez l'écouteur sur un hôte distinct tel qu'une EC2 instance Amazon, un serveur local de votre entreprise ou votre ordinateur de bureau. Pour les exemples de cette section, nous supposons que le nom de votre hôte est myapexhost.example.com, et que votre hôte exécute Linux.

Pour installer et configurer ORDS versions 21 et inférieures en vue d’une utilisation avec Oracle APEX
  1. Accédez aux services de données Oracle REST et examinez le fichier Readme. Vérifiez que vous avez la version requise de Java installée.

  2. Créez un nouveau répertoire pour votre installation ORDS.

    mkdir /home/apexuser/ORDS cd /home/apexuser/ORDS
  3. Téléchargez le fichier ords.version.number.zip à partir de Oracle REST data services.

  4. Décompressez le fichier dans le répertoire /home/apexuser/ORDS.

  5. Si vous installez ORDS dans une base de données multi-locataires, ajoutez la ligne suivante au fichier /home/apexuser/ORDS/params/ords_params.properties :

    pdb.disable.lockdown=false
  6. Accordez à l'utilisateur principal les privilèges nécessaires à l'installation d'ORDS.

    Une fois les options pour Oracle APEX installées, octroyez à l’utilisateur principal les privilèges nécessaires à l’installation du schéma ORDS. Pour ce faire, connectez-vous à la base de données et exécutez les commandes suivantes. Remplacez MASTER_USER par le nom en majuscules de votre utilisateur principal.

    Important

    Lorsque vous entrez le nom d'utilisateur, utilisez des majuscules, sauf si vous avez créé l'utilisateur avec un identifiant sensible à la casse. Par exemple, si vous exécutez CREATE USER myuser ou CREATE USER MYUSER, le dictionnaire de données stocke MYUSER. Toutefois, si vous utilisez des guillemets doubles dans CREATE USER "MyUser", le dictionnaire de données stocke MyUser. Pour plus d'informations, consultez Octroi des privilèges SELECT ou EXECUTE aux objets SYS.

    exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_OBJECTS', 'MASTER_USER', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_ROLE_PRIVS', 'MASTER_USER', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_TAB_COLUMNS', 'MASTER_USER', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_CONS_COLUMNS', 'MASTER_USER', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_CONSTRAINTS', 'MASTER_USER', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_OBJECTS', 'MASTER_USER', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_PROCEDURES', 'MASTER_USER', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_TAB_COLUMNS', 'MASTER_USER', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_TABLES', 'MASTER_USER', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_VIEWS', 'MASTER_USER', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('WPIUTL', 'MASTER_USER', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_SESSION', 'MASTER_USER', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_UTILITY', 'MASTER_USER', 'EXECUTE', true);
    Note

    Ces commandes s'appliquent à ORDS versions 19.1 et ultérieures.

  7. Installez le schéma ORDS à l'aide du fichier téléchargé ords.war.

    java -jar ords.war install advanced

    Le programme vous demande les informations suivantes. Les valeurs par défaut sont placées entre crochets. Pour de plus amples informations, veuillez consulter Introduction to Oracle REST Data Services dans la documentation Oracle.

    • Entrez l'emplacement de stockage des données de configuration :

      Saisissez /home/apexuser/ORDS. Il s'agit de l'emplacement des fichiers de configuration ORDS.

    • Spécifiez le type de connexion à la base de données à utiliser. Entrez le numéro pour [1] Basic [2] TNS [3] Custom URL [1] :

      Choisissez le type de connexion souhaité.

    • Entrez le nom du serveur de base de données [localhost] : DB_instance_endpoint

      Choisissez la valeur par défaut ou entrez la valeur correcte.

    • Entrez le port de l'écouteur de base de données [1521] : DB_instance_port

      Choisissez la valeur par défaut ou entrez la valeur correcte.

    • Entrez 1 pour spécifier le nom du service de base de données ou 2 pour spécifier le SID de base de données [1] :

      Choisissez 2 pour spécifier le SID de la base de données.

    • SID de base de données [xe]

      Choisissez la valeur par défaut ou entrez la valeur correcte.

    • Entrez 1 si vous souhaitez utiliser le schéma verify/install Oracle REST Data Services ou 2 pour ignorer cette étape [1] :

      Choisissez 1. Cette étape crée l'utilisateur proxy Oracle REST Data Services nommé ORDS_PUBLIC_USER.

    • Entrez le mot de passe de base de données pour ORDS_PUBLIC_USER :

      Entrez le mot de passe, puis confirmez-le.

    • Nécessite une connexion avec des privilèges d'administrateur pour vérifier le schéma Oracle REST Data Services.

      Entrez le nom d'utilisateur de l'administrateur : master_user

      Entrez le mot de passe de base de données pour master_user : master_user_password

      Confirmez le mot de passe : master_user_password

      Note

      Spécifiez un mot de passe autre que celui indiqué ici, en tant que bonne pratique de sécurité.

    • Entrez l'espace de table par défaut pour ORDS_METADATA [SYSAUX].

      Entrez l'espace de table temporaire pour ORDS_METADATA [TEMP].

      Entrez l'espace de table par défaut pour ORDS_PUBLIC_USER [USERS].

      Entrez l'espace de table temporaire pour ORDS_PUBLIC_USER [TEMP].

    • Entrez 1 si vous souhaitez utiliser PL/SQL Gateway ou 2 pour ignorer cette étape. Si vous utilisez Oracle Application Express ou migrez à partir de mod_plsql, vous devez entrer 1 [1].

      Choisissez la valeur par défaut.

    • Entrez le nom d'utilisateur de la base de données PL/SQL Gateway [APEX_PUBLIC_USER]

      Choisissez la valeur par défaut.

    • Entrez le mot de passe de base de données pour APEX_PUBLIC_USER :

      Entrez le mot de passe, puis confirmez-le.

    • Entrez 1 pour spécifier les mots de passe des utilisateurs de la base de données Application Express RESTful Services (APEX_LISTENER, APEX_REST_PUBLIC_USER) ou 2 pour ignorer cette étape [1] :

      Choisissez 2 pour APEX 4.1.1.V1 ou 1 pour toutes les autres versions d'APEX.

    • [Non nécessaire pour APEX 4.1.1.v1] Mot de passe de base de données pour APEX_LISTENER

      Entrez le mot de passe (si nécessaire), puis confirmez-le.

    • [Non nécessaire pour APEX 4.1.1.v1] Mot de passe de base de données pour APEX_REST_PUBLIC_USER

      Entrez le mot de passe (si nécessaire), puis confirmez-le.

    • Entrez un nombre pour sélectionner une fonction à activer :

      Entrez 1 pour activer toutes les fonctions : SQL Developer Web, REST Enabled SQL et Database API.

    • Entrez 1 si vous souhaitez démarrer en mode autonome ou 2 pour quitter [1] :

      Saisissez 1.

    • Entrez l'emplacement des ressources statiques APEX :

      Si vous avez décompressé les fichiers d'installation APEX dans /home/apexuser, entrez /home/apexuser/apex/images. Sinonunzip_path/apex/images, entrez où se unzip_path trouve le répertoire dans lequel vous avez décompressé le fichier.

    • Entrez 1 si vous utilisez HTTP ou 2 si vous utilisez HTTPS [1] :

      Si vous entrez 1, spécifiez le port HTTP. Si vous entrez 2, spécifiez le port HTTPS et le nom d'hôte SSL. L'option HTTPS vous invite à spécifier comment vous fournirez le certificat :

      • Entrez 1 pour utiliser le certificat auto-signé.

      • Entrez 2 pour fournir votre propre certificat. Si vous entrez 2, spécifiez le chemin d'accès du certificat SSL et le chemin d'accès de la clé privée du certificat SSL.

  8. Définissez un mot de passe pour l'utilisateur admin APEX. Pour ce faire, utilisez SQL*Plus pour vous connecter à votre instance de base de données en tant qu'utilisateur principal, puis exécutez les commandes suivantes.

    EXEC rdsadmin.rdsadmin_util.grant_apex_admin_role; grant APEX_ADMINISTRATOR_ROLE to master; @/home/apexuser/apex/apxchpwd.sql

    Remplacez master par votre identifiant principal. Lorsque le script apxchpwd.sql vous y invite, entrez un nouveau mot de passe admin.

  9. Démarrez l'écouteur ORDS. Exécutez le code suivant.

    java -jar ords.war

    La première fois que vous démarrez ORDS, vous devez fournir l'emplacement des ressources statiques APEX. Ce dossier d'images se trouve dans le répertoire /apex/images du répertoire d'installation d'APEX.

  10. Revenez à la fenêtre d’administration Oracle APEX de votre navigateur et choisissez Administration. Ensuite, choisissez Application Express Internal Administration. Lorsque vous êtes invité à saisir les informations d'identification, entrez les informations suivantes :

    • Nom d'utilisateuradmin

    • Mot de passe – Mot de passe que vous avez défini en utilisant le script apxchpwd.sql.

    ChoisissezLogin, puis définissez un nouveau mot de passe pour l'utilisateur admin.

L'écouteur est maintenant prêt à être utilisé.

Installation et configuration d’ORDS versions 22 et ultérieures

Vous êtes maintenant prêt à installer et à configurer Oracle Rest Data Services (ORDS) pour une utilisation avec Oracle APEX. Pour les exemples de cette section, nous supposons que le nom de votre hôte est myapexhost.example.com, et que votre hôte exécute Linux. Les instructions relatives à ORDS 22 sont différentes de celles des versions précédentes.

Pour installer et configurer ORDS versions 22 et ultérieures en vue d’une utilisation avec Oracle APEX
  1. Accédez à Services de données Oracle REST et examinez le fichier Readme correspondant à la version ORDS que vous prévoyez de télécharger. Vérifiez que vous avez la version requise de Java installée.

  2. Créez un nouveau répertoire pour votre installation ORDS.

    mkdir /home/apexuser/ORDS cd /home/apexuser/ORDS
  3. Téléchargez le fichier ords.version.number.zip ou ords-latest.zip à partir de Services de données Oracle REST.

  4. Décompressez le fichier dans le répertoire /home/apexuser/ORDS.

  5. Accordez à l'utilisateur principal les privilèges nécessaires à l'installation d'ORDS.

    Une fois l’option APEX installée, octroyez à l’utilisateur principal les privilèges nécessaires à l’installation du schéma ORDS. Pour ce faire, connectez-vous à la base de données et exécutez les commandes suivantes. Remplacez MASTER_USER par le nom en majuscules de votre utilisateur principal.

    Important

    Lorsque vous entrez le nom d'utilisateur, utilisez des majuscules, sauf si vous avez créé l'utilisateur avec un identifiant sensible à la casse. Par exemple, si vous exécutez CREATE USER myuser ou CREATE USER MYUSER, le dictionnaire de données stocke MYUSER. Toutefois, si vous utilisez des guillemets doubles dans CREATE USER "MyUser", le dictionnaire de données stocke MyUser. Pour de plus amples informations, veuillez consulter Octroi des privilèges SELECT ou EXECUTE aux objets SYS.

    exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_OBJECTS', 'MASTER_USER', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_ROLE_PRIVS', 'MASTER_USER', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_TAB_COLUMNS', 'MASTER_USER', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_CONS_COLUMNS', 'MASTER_USER', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_CONSTRAINTS', 'MASTER_USER', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_OBJECTS', 'MASTER_USER', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_PROCEDURES', 'MASTER_USER', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_TAB_COLUMNS', 'MASTER_USER', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_TABLES', 'MASTER_USER', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_VIEWS', 'MASTER_USER', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('WPIUTL', 'MASTER_USER', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_SESSION', 'MASTER_USER', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_UTILITY', 'MASTER_USER', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_LOB', 'MASTER_USER', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_ASSERT', 'MASTER_USER', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_OUTPUT', 'MASTER_USER', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_SCHEDULER', 'MASTER_USER', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('HTP', 'MASTER_USER', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('OWA', 'MASTER_USER', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('WPG_DOCLOAD', 'MASTER_USER', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_CRYPTO', 'MASTER_USER', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_METADATA', 'MASTER_USER', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_SQL', 'MASTER_USER', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('UTL_SMTP', 'MASTER_USER', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_NETWORK_ACL_ADMIN', 'MASTER_USER', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('SESSION_PRIVS', 'MASTER_USER', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_USERS', 'MASTER_USER', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_NETWORK_ACL_PRIVILEGES', 'MASTER_USER', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_NETWORK_ACLS', 'MASTER_USER', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_REGISTRY', 'MASTER_USER', 'SELECT', true);
    Note

    Les commandes précédentes s’appliquent à ORDS versions 22 et ultérieures.

  6. Installez le schéma ORDS à l’aide du script ords téléchargé. Spécifiez les répertoires qui contiendront les fichiers de configuration et les fichiers journaux. Oracle Corporation recommande de ne pas placer ces répertoires dans le répertoire qui contient le logiciel du produit ORDS.

    mkdir -p /home/apexuser/ords_config /home/apexuser/ords_logs /home/apexuser/ORDS/bin/ords \ --config /home/apexuser/ords_config \ install --interactive --log-folder /home/apexuser/ords_logs

    Pour les instances de base de données exécutant l’architecture de base de données de conteneurs (CDB), utilisez ORDS version 23.3 ou supérieure et transmettez l’argument --pdb-skip-disable-lockdown lors de l’installation d’ORDS.

    /home/apexuser/ORDS/bin/ords \ --config /home/apexuser/ords_config \ install --interactive --log-folder /home/apexuser/ords_logs --pdb-skip-disable-lockdown

    Le programme vous demande les informations suivantes. Les valeurs par défaut sont placées entre crochets. Pour de plus amples informations, veuillez consulter Introduction to Oracle REST Data Services dans la documentation Oracle.

    • Choose the type of installation:

      Choisissez 2 pour installer les schémas ORDS dans la base de données et de créer un pool de connexions à la base de données dans les fichiers de configuration ORDS locaux.

    • Specify the database connection type to use. Enter number for [1] Basic [2] TNS [3] Custom URL:

      Choisissez le type de connexion souhaité. Cet exemple part du principe que vous choisissez 1.

    • Enter the name of the database server [localhost]: DB_instance_endpoint

      Choisissez la valeur par défaut ou entrez la valeur correcte.

    • Enter the database listener port [1521]: DB_instance_port

      Choisissez la valeur par défaut 1521 ou entrez la valeur correcte.

    • Enter the database service name [orcl]:

      Entrez le nom de base de données utilisé par votre instance de base de données RDS for Oracle.

    • Provide database user name with administrator privileges

      Entrez le nom d’utilisateur principal pour votre instance de base de données RDS for Oracle.

    • Enter the database password for [username]:

      Entrez le mot de passe d’utilisateur principal pour votre instance de base de données RDS for Oracle.

    • Enter the default tablespace for ORDS_METADATA and ORDS_PUBLIC_USER [SYSAUX]:

    • Enter the temporary tablespace for ORDS_METADATA [TEMP]. Enter the default tablespace for ORDS_PUBLIC_USER [USERS]. Enter the temporary tablespace for ORDS_PUBLIC_USER [TEMP].

    • Enter a number to select additional feature(s) to enable [1]:

    • Enter a number to configure and start ORDS in standalone mode [1]:

      Choisissez 2 pour ne pas démarrer ORDS immédiatement en mode autonome.

    • Enter a number to select the protocol [1] HTTP

    • Enter the HTTP port [8080]:

    • Enter the APEX static resources location:

      Entrez le chemin d’accès aux fichiers d’installation d’Oracle APEX (/home/apexuser/apex/images).

  7. Définissez un mot de passe pour l’utilisateur admin Oracle APEX. Pour ce faire, utilisez SQL*Plus pour vous connecter à votre instance de base de données en tant qu'utilisateur principal, puis exécutez les commandes suivantes.

    EXEC rdsadmin.rdsadmin_util.grant_apex_admin_role; grant APEX_ADMINISTRATOR_ROLE to master; @/home/apexuser/apex/apxchpwd.sql

    Remplacez master par votre identifiant principal. Lorsque le script apxchpwd.sql vous y invite, entrez un nouveau mot de passe admin.

  8. Exécutez ORDS en mode autonome à l’aide du script ords associé à la commande serve. Pour les déploiements de production, pensez à utiliser des serveurs d'applications Java EE compatibles tels qu'Apache Tomcat ou Oracle WebLogic Server. Pour plus d’informations, consultez Deploying and Monitoring Oracle REST Data Services dans la documentation Oracle Database.

    /home/apexuser/ORDS/bin/ords \ --config /home/apexuser/ords_config serve \ --port 8193 \ --apex-images /home/apexuser/apex/images

    Si ORDS est en cours d’exécution mais ne parvient pas à accéder à l’installation d’Oracle APEX, l’erreur suivante peut s’afficher, en particulier sur les instances non CDB.

    The procedure named apex_admin could not be accessed, it may not be declared, or the user executing this request may not have been granted execute privilege on the procedure, or a function specified by security.requestValidationFunction configuration property has prevented access.

    Pour corriger cette erreur, modifiez la fonction de validation des demandes utilisée par ORDS en exécutant le script ords avec la commande config. Par défaut, ORDS utilise la procédure ords_util.authorize_plsql_gateway, qui n’est prise en charge que sur les instances CDB. Pour les instances non CDB, vous pouvez modifier cette procédure pour le package wwv_flow_epg_include_modules.authorize. Consultez la documentation de la base de données Oracle et le support Oracle pour connaître les meilleures pratiques relatives à la configuration de la fonction de validation des demandes adaptée à votre cas d’utilisation.

  9. Revenez à la fenêtre d’administration Oracle APEX de votre navigateur et choisissez Administration. Ensuite, choisissez Application Express Internal Administration. Lorsque vous êtes invité à saisir les informations d'identification, entrez les informations suivantes :

    • Nom d'utilisateuradmin

    • Mot de passe – Mot de passe que vous avez défini en utilisant le script apxchpwd.sql.

    ChoisissezLogin, puis définissez un nouveau mot de passe pour l'utilisateur admin.

L'écouteur est maintenant prêt à être utilisé.