התקנה של 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
        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)