התקנה של orafce ל-AlloyDB Omni

בחירת גרסה של מאמר העזרה:

בדף הזה מוסבר איך להוסיף באופן ידני את התוסף orafce להתקנה קיימת של AlloyDB Omni. התוסף orafce מספק פונקציות ואופרטורים שמדמים קבוצת משנה של פונקציות וחבילות ממסד הנתונים של Oracle. התוסף הזה מפשט את ההעברה של אפליקציות מ-Oracle למסדי נתונים שתואמים ל-PostgreSQL, כמו AlloyDB Omni.

לפני שמתחילים

מתקינים את AlloyDB Omni במערכת.

הוספת orafce להתקנה של AlloyDB Omni

כדי להוסיף את התוסף orafce להתקנה של AlloyDB Omni:

  1. מוסיפים את מאגר ה-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. מתקינים את שרת PostgreSQL ואת חבילות הפיתוח:

    sudo dnf install -y "postgresql17-server"
    
  3. מתקינים את התוסף Orafce:

    sudo dnf install -y orafce_17
    
  4. יוצרים את הקישורים הסמליים הנדרשים כדי שהתוספים יהיו בנתיבים הצפויים:

    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
      target="/usr/lib/postgresql/${PGVER}/lib/$(basename "$file")"
      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. מתחברים למסד הנתונים באמצעות התוסף orafce:

    /usr/lib/postgresql/17/bin/psql -h localhost -U postgres
    
  6. מפעילים את orafce:

    CREATE EXTENSION IF NOT EXISTS ORAFCE;
    
  7. מוודאים ש-orafce מותקן ומופעל:

    SELECT oracle.sysdate();
    

    הפלט אמור להיראות כך:

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