{# containers /current variables}

Install orafce for AlloyDB Omni

Select a documentation version:

This page describes how to manually add the orafce extension to an existing AlloyDB Omni installation. The orafce extension provides functions and operators that emulate a subset of functions and packages from the Oracle database. This extension simplifies migration of applications from Oracle to PostgreSQL-compatible databases such as AlloyDB Omni.

Before you begin

Install AlloyDB Omni on your system.

Add orafce to your AlloyDB Omni installation

To add the orafce extension to your AlloyDB Omni installation, follow these steps:

  1. Find your installed AlloyDB Omni version labels:

    Docker

     docker  
    run  
    --rm  
    -it  
    google/alloydbomni  
    cat  
    VERSION.txt 
    

    Podman

     podman  
    run  
    --rm  
    -it  
    google/alloydbomni  
    cat  
    VERSION.txt 
    

    The output is similar to the following:

     AlloyDB Omni version: 16.8.0 
    

    Take note of the AlloyDB Omni version number because you need it in the next step.

  2. Create a new AlloyDB Omni container that includes orafce:

    Linux

     $  
    mkdir  
    ~/alloydb-omni-orafce
    
    $  
    tee  
    -a  
    ~/alloydb-omni-orafce/Dockerfile << 
    EOF
    ARG  
    OMNI_VERSION
    FROM  
    google/alloydbomni: ${ 
     OMNI_VERSION 
     } 
    RUN  
    apt-get  
    update && 
     \ 
      
    apt-get  
    install  
    -y  
    --no-install-recommends  
    postgresql-16-orafce && 
     \ 
      
    apt-get  
    purge  
    -y  
    --auto-remove && 
     \ 
      
    rm  
    -rf  
    /var/lib/apt/lists/*
    EOF
    
    $  
     cd 
      
    ~/alloydb-omni-orafce
    
    $  
    sudo  
    docker  
    build  
    --build-arg  
     OMNI_VERSION 
     = 
     OMNI_VERSION 
      
    --tag  
    google/alloydbomni-with-orafce: OMNI_VERSION 
      
    . 
    

    MacOS

     $  
    mkdir  
    ~/alloydb-omni-orafce
    
    $  
    tee  
    -a  
    ~/alloydb-omni-orafce/Dockerfile << 
    EOF
    ARG  
    OMNI_VERSION
    FROM  
    google/alloydbomni: OMNI_VERSION 
    RUN  
    apt-get  
    update && 
     \ 
      
    apt-get  
    install  
    -y  
    --no-install-recommends  
    postgresql-16-orafce && 
     \ 
      
    apt-get  
    purge  
    -y  
    --auto-remove && 
     \ 
      
    rm  
    -rf  
    /var/lib/apt/lists/*
    EOF
    
    $  
     cd 
      
    ~/alloydb-omni-orafce
    
    $  
    sudo  
    docker  
    build  
    --build-arg  
     OMNI_VERSION 
     = 
     OMNI_VERSION 
      
    --tag  
    google/alloydbomni-with-orafce: OMNI_VERSION 
      
    . 
    
  3. Create a new container with AlloyDB Omni named my-omni-orafce :

     docker  
    build  
    -t  
    google/alloydbomni-with-orafce:latest
    docker  
    run  
    --name  
    my-omni-orafce  
    -e  
     POSTGRES_PASSWORD 
     = 
     NEW_PASSWORD 
      
    -d  
    google/alloydbomni-with-orafce: OMNI_VERSION 
     
    
  4. Connect to your database with the orafce extension:

     docker  
     exec 
      
    -it  
    my-omni-orafce  
    psql  
    -h  
    localhost  
    -U  
    postgres 
    
  5. Enable orafce:

      CREATE 
      
     EXTENSION 
      
     IF 
      
     NOT 
      
     EXISTS 
      
     ORAFCE 
     ; 
     
    
  6. Confirm that orafce is installed and enabled:

      SELECT 
      
     oracle 
     . 
     sysdate 
     (); 
     
    

    The output is similar to the following:

     postgres=# SELECT oracle.sysdate();
    sysdate
    ---------------------
    2024-06-10 16:36:30
    (1 row) 
    
Design a Mobile Site
View Site in Mobile | Classic
Share by: