Instala Orafce para AlloyDB Omni

AlloyDB Omni no incluye la extensión Orafce, pero puedes agregarla manualmente a una instalación existente de AlloyDB Omni siguiendo las instrucciones de esta página.

Antes de comenzar

Asegúrate de cumplir con los siguientes requisitos del sistema:

Agrega Orafce a tu instalación de AlloyDB Omni

Para agregar la extensión Orafce a tu instalación de AlloyDB Omni, sigue estos pasos:

  1. Busca las etiquetas de versión de AlloyDB Omni instaladas:
    sudo alloydb version

    El resultado es similar a este:

    AlloyDB Omni CLI version: 1.0
    AlloyDB Omni database server version: 15.2.0
    

    Anota el número de versión del servidor de la base de datos, ya que lo necesitarás en el siguiente paso.

  2. Establece la variable de entorno OMNI_VERSION:
    OMNI_VERSION=VERSION

    Reemplaza VERSION por la versión completa del servidor de la base de datos del paso anterior, por ejemplo, 15.2.0.

  3. Crea un nuevo contenedor de AlloyDB Omni que incluya Orafce:
    mkdir ~/alloydb-omni-orafce
    tee -a ~/alloydb-omni-orafce/Dockerfile << EOF
    ARG OMNI_VERSION
    
    FROM postgres:15-bookworm as postgres
    
    RUN apt-get update && \
            apt-get install -y --no-install-recommends \
            postgresql-15-orafce && \
            apt-get purge -y --auto-remove && \
            rm -rf /var/lib/apt/lists/*
    
    FROM gcr.io/alloydb-omni/pg-service:${OMNI_VERSION}
    
    COPY --from=postgres /usr/lib/postgresql/15/lib/orafce.so /lib/orafce.so
    COPY --from=postgres /usr/share/postgresql/15/extension/orafce* /share/extension/
    
    COPY --from=postgres /usr/lib/x86_64-linux-gnu/ /usr/lib/x86_64-linux-gnu/
    COPY --from=postgres /lib/x86_64-linux-gnu/ /lib/x86_64-linux-gnu/
    EOF
    
    cd ~/alloydb-omni-orafce
    
    sudo docker build --build-arg OMNI_VERSION=$OMNI_VERSION --tag gcr.io/alloydb-omni/pg-service-with-orafce:$OMNI_VERSION .
  4. Detén el servidor de base de datos:
    sudo alloydb database-server stop
    
  5. Abre /var/alloydb/config/dataplane.conf en un editor de texto.
  6. Modifica la línea que define la variable PG_IMAGE para que haga referencia al contenedor que compilaste en un paso anterior:
    PG_IMAGE=gcr.io/alloydb-omni/pg-service-with-orafce
    
  7. Inicia AlloyDB Omni:
    sudo alloydb database-server start
    
  8. Conéctate a tu base de datos:
    sudo docker exec -it pg-service psql -h localhost -U postgres
    
  9. Habilita Orafce:
    CREATE EXTENSION IF NOT EXISTS ORAFCE;
  10. Confirma que Orafce esté instalado y habilitado:
    SELECT oracle.sysdate();