Installer Orafce pour AlloyDB Omni

Sélectionnez une version de la documentation :

Cette page explique comment ajouter manuellement l'extension orafce à une installation AlloyDB Omni existante. L'extension orafce fournit des fonctions et des opérateurs qui émulent un sous-ensemble de fonctions et de packages à partir de la base de données Oracle. Cette extension simplifie la migration des applications d'Oracle vers des bases de données compatibles avec PostgreSQL, comme AlloyDB Omni.

Avant de commencer

Installez AlloyDB Omni sur votre système.

Ajouter orafce à votre installation AlloyDB Omni

Pour ajouter l'extension orafce à votre installation AlloyDB Omni, procédez comme suit :

  1. Ajoutez le dépôt Yum PostgreSQL :

    sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
    
  2. Installez le serveur PostgreSQL et les packages de développement :

    sudo dnf install -y "postgresql17-server"
    
  3. Installez l'extension Orafce :

    sudo dnf install -y orafce_17
    
  4. Créez les liens symboliques requis pour que les extensions se trouvent dans les chemins d'accès prévus :

    set -e
    PGVER="17"
    
    sudo mkdir -p "/usr/lib/postgresql/${PGVER}/share/extension"
    
    for file in /usr/pgsql-${PGVER}/share/extension/*; do
      target="/usr/lib/postgresql/${PGVER}/share/extension/$(basename "$file")"
      if [[ ! -e "$target" ]]; then
        sudo ln -s "$file" "$target" || (echo "Failed to link \"$file\" to \"$target\", exiting." && exit 1)
        echo "Created extension link for $(basename "$file")"
      else
        echo "Target $target already exists."
      fi
    done
    
    sudo mkdir -p "/usr/lib/postgresql/${PGVER}/lib"
    
    for file in /usr/pgsql-${PGVER}/lib/*; do
        if [[ ! -e "$target" ]]; then
          sudo ln -s "$file" "$target" || (echo "Failed to link \"$file\" to \"$target\", exiting." && exit 1)
          echo "Created lib link for $(basename "$file")"
        else
          echo "Target $target already exists."
        fi
    done
    
  5. Connectez-vous à votre base de données avec l'extension orafce :

    /usr/lib/postgresql/17/bin/psql -h localhost -U postgres
    
  6. Activez orafce :

    CREATE EXTENSION IF NOT EXISTS ORAFCE;
    
  7. Vérifiez qu'orafce est installé et activé :

    SELECT oracle.sysdate();
    

    Le résultat ressemble à ce qui suit :

    postgres=# SELECT oracle.sysdate();
    sysdate
    ---------------------
    2025-12-12 16:36:30
    (1 row)