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 21 et versions antérieures

Vous êtes maintenant prêt à installer et à configurer Oracle Rest Data Services (ORDS) pour une utilisation avec Oracle APEX. Pour Oracle APEX version 5.0 et versions ultérieures, utilisez les versions 19.1 à 21 d'ORDS. Pour savoir comment installer ORDS 22 ou version ultérieure, voirInstallation et configuration d'ORDS 22 et versions 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 21 et versions antérieures pour une utilisation avec Oracle APEX
  1. Accédez aux services de données Oracle REST et examinez le fichier Readme. Assurez-vous que la version requise de Java est 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, accordez à l'utilisateur principal les privilèges requis pour installer le 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 SELECT de EXECUTE privilèges à SYS des objets.

    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 vérifier/installer le schéma 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 voulez utiliser PL/SQL Gateway ou 2 pour passer 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 base de données de la passerelle PL/SQL [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 d'Oracle APEX dans votre navigateur et sélectionnez 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 22 et versions ultérieures

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

Pour installer et configurer ORDS 22 ou version ultérieure afin de l'utiliser avec Oracle APEX
  1. Accédez aux services de données Oracle REST et examinez le fichier Readme correspondant à la version ORDS que vous souhaitez télécharger. Assurez-vous que la version requise de Java est 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 depuis les 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'APEXoption installée, accordez à l'utilisateur principal les privilèges requis pour installer le schéma ORDS. Vous pouvez le faire en vous connectant à la base de données et en exécutant 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 SELECT de EXECUTE privilèges à SYS des objets.

    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 22 et versions ultérieures.

  6. Installez le schéma ORDS à l'aide du ords script 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 contenant 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 23.2 ou version ultérieure et transmettez l'--pdb-skip-disable-lockdownargument 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 d'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 suppose que vous choisissez1.

    • 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 pour Oracle.

    • Provide database user name with administrator privileges

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

    • Enter the database password for [username]:

      Entrez le mot de passe de l'utilisateur principal pour votre instance de base de données RDS pour 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 de 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'adminutilisateur 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 ords script associé à la serve commande. 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, voir Déploiement et surveillance des services de données Oracle REST dans la documentation de la base de données Oracle.

    /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 ords script avec la config commande. Par défaut, ORDS utilise la ords_util.authorize_plsql_gateway procédure, qui n'est prise en charge que sur les instances CDB. Pour les instances non CDB, vous pouvez modifier cette procédure pour le wwv_flow_epg_include_modules.authorize package. 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 d'Oracle APEX dans votre navigateur et sélectionnez 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é.