Resumen de los subprogramas de DBMS_CLOUD_REPO

En esta sección se tratan los subprogramas DBMS_CLOUD_REPO que proporciona Autonomous Database.

Temas relacionados

Requisitos

Como desarrollador, puede utilizar procedimientos DBMS_CLOUD con instancias de Autonomous Database desplegadas en Oracle Public Cloud, Multicloud o Exadata Cloud@Customer.

En función de la opción de despliegue, se deben cumplir los siguientes requisitos para utilizar los procedimientos DBMS_CLOUD con los proveedores de servicios Amazon S3, Azure Blob Storage y Google Cloud Storage.

El administrador del conjunto debe haber configurado una conectividad saliente mediante un gateway de NAT, como se describe a continuación:
  • Cree un gateway de NAT en la red virtual en la nube (VCN) en la que residan los recursos de Autonomous Database siguiendo las instrucciones de Creación de un gateway de NAT de la Documentación de Oracle Cloud Infrastructure.
  • Después de crear el gateway de NAT, agregue una regla de ruta y una regla de seguridad de salida a cada subred (en la VCN) en la que residan los recursos de Autonomous Database para que estos recursos puedan utilizar el gateway para obtener una clave pública de la instancia de Azure AD:
    1. Vaya a la página Detalles de subred de la subred.
    2. En el separador Información de Subred, haga clic en el nombre de la Tabla de Direcciones de la subred para mostrar su página Detalles de Tabla de Direcciones.
    3. En la tabla de Reglas de ruta existentes, compruebe si ya hay una regla con las siguientes características:
      • Destino: 0.0.0.0/0
      • Tipo de destino: gateway de NAT
      • Destino: nombre del gateway de NAT que acaba de crear en la VCN

      Si dicha regla no existe, haga clic en Agregar reglas de ruta y agregue una regla de ruta con estas características.

    4. Vuelva a la página Detalles de subred de la subred.
    5. En la tabla Listas de seguridad de la subred, haga clic en el nombre de la lista de seguridad de la subred para mostrar su página Detalles de lista de seguridad.
    6. En el menú lateral, en Recursos, haga clic en Reglas de salida.
    7. En la tabla de Reglas de salida existentes, compruebe si ya hay una regla con las siguientes características:
      • Tipo de destino: CIDR
      • Destino: 0.0.0.0/0
      • Protocolo IP: TCP
      • Rango de puertos de origen: 443
      • Rango de puertos de destino: todos

      Si dicha regla no existe, haga clic en Agregar Reglas de Salida y agregue una regla de salida con estas características.

La configuración del proxy HTTP en el entorno debe permitir que la base de datos acceda al proveedor de servicios en la nube.

El administrador del conjunto define esta configuración al crear la infraestructura de Exadata Cloud@Customer, como se describe en Uso de la consola para aprovisionar Exadata Database Service on Cloud@Customer.

Note:

La configuración de red, incluido el proxy HTTP, solo se puede editar hasta que la infraestructura de Exadata tenga el estado Necesita activación. Una vez activada, no puede editar esa configuración.

La configuración de un proxy HTTP para una infraestructura de Exadata ya aprovisionada necesita una solicitud de servicio (SR) en My Oracle Support. Consulte Creación de una solicitud de servicio en My Oracle Support para obtener más información.

Procedimiento CREATE_BRANCH

Con este procedimiento se crea una rama en el repositorio de Cloud Code identificado por el argumento del manejador repo.

Sintaxis

PROCEDURE DBMS_CLOUD_REPO.CREATE_BRANCH(
    repo               IN   CLOB,
    branch_name        IN   VARCHAR2,
    parent_branch_name IN   VARCHAR2 DEFAULT NULL,
    parent_commit_id   IN   VARCHAR2 DEFAULT NULL
 );

Parámetros

parámetro Descripción
repo

Especifica el identificador del repositorio.

Este parámetro es obligatorio y está soportado para todos los proveedores de servicios en la nube.

branch_name

Especifica el nombre de la rama del repositorio.

Este parámetro es obligatorio y está soportado para todos los proveedores de servicios en la nube.

parent_branch_name

Crea la nueva rama mediante la confirmación principal de la rama principal especificada.

Este parámetro está soportado para todos los proveedores de servicios en la nube.

Si no proporciona un valor parent_branch_name, parent_branch_name se define en main.

parent_commit_id

Crea la nueva rama mediante la confirmación del repositorio especificado.

Este parámetro está soportado para todos los proveedores de servicios en la nube.

Si no proporciona un valor parent_commit_id, parent_commit_id se define en un valor NULL.

Ejemplo

Note:

Para crear una rama en un repositorio de Cloud Code, debe especificar la rama principal o el ID de confirmación principal.
BEGIN
  DBMS_CLOUD_REPO.CREATE_BRANCH (
    repo                 => l_repo,
    branch_name          => 'test_branch',
    parent_branch_name   => 'main'
    );
END;
/

Notas de uso

Para ejecutar el procedimiento DBMS_CLOUD_REPO.CREATE_BRANCH, debe estar conectado como usuario ADMIN o tener el privilegio EXECUTE en DBMS_CLOUD_REPO.

Procedimiento CREATE_REPOSITORY

Con este procedimiento se crea un repositorio de Cloud Code identificado por el argumento del manejador repo.

Sintaxis

PROCEDURE DBMS_CLOUD_REPO.CREATE_REPOSITORY(
      repo                 IN   CLOB,
      description          IN   CLOB     DEFAULT NULL,
      private              IN   BOOLEAN  DEFAULT TRUE
);

Parámetros

parámetro Descripción
repo Especifica el identificador del repositorio.

Este parámetro está soportado para todos los proveedores de servicios en la nube.

description Descripción de texto breve del repositorio.

Este parámetro está soportado para los proveedores de servicios en la nube de GITHUB y AWS.

private

El repositorio es privado y solo se puede acceder a él con credenciales válidas

Este parámetro solo está soportado para el proveedor de servicios en la nube de GITHUB.

Ejemplo

BEGIN
  DBMS_CLOUD_REPO.CREATE_REPOSITORY(
    repo        => l_repo,
    description => 'My test repo',
    private => TRUE
    );
END;
/

Procedimiento DELETE_BRANCH

Con este procedimiento se suprime una rama del repositorio de Cloud Code identificado por el argumento del manejador repo.

Sintaxis

PROCEDURE DBMS_CLOUD_REPO.DELETE_BRANCH (
      repo              IN  CLOB, 
      branch_name       IN  VARCHAR2  DEFAULT NULL
 );

Parámetros

parámetro Descripción
repo Especifica el identificador del repositorio.

Este parámetro es obligatorio y está soportado para todos los proveedores de servicios en la nube.

branch_name Suprime la rama de un repositorio específico.

Este parámetro es obligatorio y está soportado para todos los proveedores de servicios en la nube.

Ejemplo

BEGIN
  DBMS_CLOUD_REPO.DELETE_BRANCH (
      repo        => l_repo,
      branch_name => 'test_branch'
  );
END;
/

Notas de uso

Para ejecutar el procedimiento DBMS_CLOUD_REPO.DELETE_BRANCH, debe estar conectado como usuario ADMIN o tener el privilegio EXECUTE en DBMS_CLOUD_REPO.

Procedimiento DELETE_FILE

Con este procedimiento se suprime un archivo del repositorio de Cloud Code identificado por el argumento del manejador repo.

Sintaxis

PROCEDURE DBMS_CLOUD_REPO.DELETE_FILE(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      commit_details    IN  CLOB      DEFAULT NULL
);

Parámetros

parámetro Descripción
repo Especifica el identificador del repositorio.
file_path Ruta al archivo para suprimirlo en el repositorio.
branch_name Suprime el archivo de una rama específica.
commit_details

Detalles de confirmación como documento JSON

{"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } }

Ejemplo

BEGIN
  DBMS_CLOUD_REPO.DELETE_FILE(
      repo        => l_repo,
      file_path   => 'scripts/test3.sql',
      branch_name => 'test_branch'
  );
END;
/

Procedimiento DELETE_REPOSITORY

Con este procedimiento se suprime el repositorio de Cloud Code identificado por el argumento del manejador repo.

Sintaxis

PROCEDURE DBMS_CLOUD_REPO.DELETE_REPOSITORY(
      repo           IN   CLOB
);

Parámetros

parámetro Descripción
repo Especifica el identificador del repositorio.

Ejemplo

BEGIN
  DBMS_CLOUD_REPO.DELETE_REPOSITORY(
       repo => l_repo
  );
END;
/

Procedimiento EXPORT_OBJECT

Con este procedimiento se cargan los metadatos DDL de un objeto de base de datos en el repositorio de Cloud Code identificado por el argumento del manejador repo. Este procedimiento es un método sencillo para cargar la definición de metadatos de un objeto de base de datos en un solo paso.

Sintaxis

PROCEDURE DBMS_CLOUD_REPO.EXPORT_OBJECT(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      object_type       IN  VARCHAR2,
      object_name       IN  VARCHAR2 DEFAULT NULL,
      object_schema     IN  VARCHAR2 DEFAULT NULL,
      branch_name       IN  VARCHAR2 DEFAULT NULL,
      commit_details    IN  CLOB     DEFAULT NULL,
      append            IN  BOOLEAN  DEFAULT FALSE
);

Parámetros

parámetro Descripción
repo Especifica el identificador del repositorio.
file_path Ruta de archivo para cargar metadatos de objeto en el repositorio.
object_type

Tipo de objeto soportado por DBMS_METADATA. Consulte DBMS_METADATA: tabla Tipos de Objeto en Oracle Database 19c PL/SQL Packages and Types Reference o Oracle Database 23ai PL/SQL Packages and Types Reference para obtener más información.

object_name Nombre del objeto de base de datos para recuperar metadatos.
object_schema Esquema propietario del objeto de base de datos.
branch_name Coloque el archivo en una rama específica.
commit_details

Detalles de confirmación como documento JSON:{"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } }

append Agregue el DDL de metadatos al archivo existente.

Notas de uso

Para un control personalizado en el DDL del objeto, puede utilizar DBMS_METADATA.GET_DDL junto con DBMS_CLOUD_REPO.PUT_FILE. Para obtener la definición de metadatos del objeto, el usuario actual debe tener privilegios para recuperar los metadatos del objeto. Consulte DBMS_METADATA en Oracle Database 19c PL/SQL Packages and Types Reference o Oracle Database 23ai PL/SQL Packages and Types Reference para conocer los requisitos de seguridad del paquete.

Ejemplo

BEGIN
  DBMS_CLOUD_REPO.EXPORT_OBJECT(
     repo        => l_repo,
     object_type => 'PACKAGE',
     object_name => 'MYPACK',
     file_path   => 'mypack.sql'
  );
END;
/

Procedimiento EXPORT_SCHEMA

Este procedimiento exporta metadatos de todos los objetos de un esquema a la rama del repositorio de Cloud Code identificada por el argumento de manejador repo.

Sintaxis

PROCEDURE DBMS_CLOUD_REPO.EXPORT_SCHEMA(
     repo            IN CLOB,
     file_path       IN VARCHAR2,
     schema_name     IN VARCHAR2,
     filter_list     IN CLOB         DEFAULT NULL,
     branch_name     IN VARCHAR2     DEFAULT NULL,
     commit_details  IN CLOB         DEFAULT NULL
);

Parámetros

parámetro Descripción
repo

Especifica el identificador del repositorio.

Este parámetro es obligatorio y está soportado para todos los proveedores de servicios en la nube.

file_path

Especifica el nombre del archivo de esquema que se va a cargar en el repositorio.

Este parámetro es obligatorio y está soportado para todos los proveedores de servicios en la nube.

schema_name

Especifica el nombre del esquema para el que se va a cargar un script DDL en la rama del repositorio de Cloud Code.

Este parámetro es obligatorio y está soportado para todos los proveedores de servicios en la nube.

filter_list

Especifica el CLOB de la matriz de JSON que define las condiciones de filtro para incluir o excluir los objetos cuyos metadatos se deben exportar.

Este parámetro está soportado para todos los proveedores de servicios en la nube.

Los parámetros de JSON para filter_list son:
  • match_type: especifica el tipo de filtro que se va a aplicar a los tipos de objeto o nombres de objeto.

    Los valores match_type válidos son:
    • in/not_in

    • like/not_like

    • equal/not_equal

  • type: especifica el tipo de objeto por el que filtrar.

  • name: especifica el nombre del objeto por el que se va a filtrar.

branch_name

Especifica el nombre de la rama del repositorio.

Este parámetro está soportado para todos los proveedores de servicios en la nube.

Si no proporciona un valor branch_name, branch_name se define en la rama del repositorio por defecto.

commit_details

Detalles de confirmación como documento JSON

{"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } }

Este parámetro está soportado para todos los proveedores de servicios en la nube.

Si no proporciona un valor commit_details, commit_details se define en el mensaje de confirmación por defecto que incluye la información sobre el usuario de sesión de base de datos actual y el nombre de la base de datos que realiza la confirmación.

Ejemplo

BEGIN
  DBMS_CLOUD_REPO.EXPORT_SCHEMA(
    repo          => l_repo,
    schema_name   => 'USER1',
    file_path     => 'myschema_ddl.sql'
    filter_list   =>
        to_clob('[    
             { "match_type":"equal",
                 "type":"table"
             },
             { "match_type":"not_equal",
                 "type":"view"
             },
             { "match_type":"in",
                 "type":"table",
                 "name": " ''EMPLOYEE_SALARY'',''EMPLOYEE_ADDRESS'' "
             },
             { "match_type":"equal",
                 "type":"sequence",
                 "name": "EMPLOYEE_RECORD_SEQ"
             },
             { "match_type":"like",
                 "type":"table",
                 "name": "%OFFICE%"
             }    
        ]'
     );
  );
END;
/

Notas de uso

Para ejecutar el procedimiento DBMS_CLOUD_REPO.EXPORT_SCHEMA, debe estar conectado como usuario ADMIN o tener el privilegio EXECUTE en DBMS_CLOUD_REPO.

Procedimiento y función GET_FILE

La función descarga el contenido de un archivo del repositorio de Cloud Code. El procedimiento permite descargar el contenido de un archivo del repositorio de Cloud Code y guardar el archivo en un directorio.

Sintaxis

FUNCTION DBMS_CLOUD_REPO.GET_FILE(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      tag_name          IN  VARCHAR2  DEFAULT NULL,
      commit_name       IN  VARCHAR2  DEFAULT NULL
) RETURN CLOB;
 
PROCEDURE DBMS_CLOUD_REPO.GET_FILE(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      directory_name    IN  VARCHAR2,
      target_file_name  IN  VARCHAR2  DEFAULT NULL,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      tag_name          IN  VARCHAR2  DEFAULT NULL,
      commit_name       IN  VARCHAR2  DEFAULT NULL
);

Parámetros

parámetro Descripción
repo Especifica el identificador del repositorio.
file_path Ruta de archivo en el repositorio.
directory_name Nombre de objeto de directorio para guardar el contenido del archivo.
target_file_name Nombre del archivo de destino para guardar el contenido en el directorio.
branch_name Permite obtener el archivo de una rama específica.
tag_name Permite obtener el archivo de una etiqueta específica.
commit_name Permite obtener el archivo de una confirmación específica.

Ejemplo

BEGIN
  DBMS_CLOUD_REPO.GET_FILE(
     repo             =>  l_repo,
     file_path        => 'test3.sql',
     directory_name   => 'DATA_PUMP_DIR',
     target_file_name => 'test2.sql'
  );
END;
/

Función INIT_AWS_REPO

Esta función inicializa un manejador de repositorio de AWS y devuelve un tipo opaco.

Sintaxis

FUNCTION DBMS_CLOUD_REPO.INIT_AWS_REPO(
      credential_name IN  VARCHAR2,
      repo_name       IN  VARCHAR2,
      region          IN  VARCHAR2
)  RETURN repo;

Parámetros

parámetro Descripción
credential_name

Objeto de credencial que especifica la clave de acceso/clave secreta de AWS CodeCommit.

repo_name Especifica el nombre del repositorio.
region Especifica la región de AWS para el repositorio CodeCommit.

Ejemplo

BEGIN
  :repo := DBMS_CLOUD_REPO.INIT_AWS_REPO(
                 credential_name => 'AWS_CRED',
                 repo_name       => 'my_repo',
                 region          => 'us-east-1'
           );
END;
/  

Función INIT_AZURE_REPO

Esta función inicializa un manejador de repositorio de Azure y devuelve un tipo opaco. Esta función solo está soportada para el proveedor en la nube de Azure.

Sintaxis

FUNCTION DBMS_CLOUD_REPO.INIT_AZURE_REPO(
      credential_name IN  VARCHAR2,
      repo_name       IN  VARCHAR2,
      organization    IN  VARCHAR2,
      project         IN  VARCHAR2
)  RETURN repo;

Parámetros

parámetro Descripción
credential_name

Objeto de credencial que especifica Azure, con un nombre de usuario y un token de acceso personal (PAT).

repo_name Especifica el nombre del repositorio.
organization Especifica la organización DevOps de Azure.
project Nombre de proyecto de equipo de Azure.

Ejemplo

BEGIN
  :repo := DBMS_CLOUD_REPO.INIT_AZURE_REPO(
                 credential_name => 'AZURE_CRED',
                 repo_name       => 'my_repo',
                 organization    => 'myorg',
                 project         => 'myproj',
           );
END;
/

Función INIT_GITHUB_REPO

Esta función inicializa un manejador de repositorio GitHub y devuelve un tipo opaco.

Sintaxis

FUNCTION DBMS_CLOUD_REPO.INIT_GITHUB_REPO(
      credential_name IN  VARCHAR2  DEFAULT NULL,
      repo_name       IN  VARCHAR2,
      owner           IN  VARCHAR2) 
RETURN repo;

Parámetros

parámetro Descripción
credential_name

Objeto de credencial que especifica GitHub.

Correo electrónico de usuario y token de acceso personal (PAT).

repo_name Especifica el nombre del repositorio.
owner Especifica el propietario del repositorio.

Ejemplo

BEGIN
  :repo := DBMS_CLOUD_REPO.INIT_GITHUB_REPO(
                 credential_name => 'GITHUB_CRED',
                 repo_name       => 'my_repo',
                 owner           => 'foo'
           );
END;
/  

Función INIT_REPO

Con esta función se inicializa un manejador del repositorio de Cloud Code y se devuelve un objeto JSON opaco. Esta función es una interfaz genérica para aceptar un documento JSON y evita tener que cambiar el código. Solo tiene que cambiar un documento de JSON al mover un repositorio de código de un repositorio de Cloud Code a otro repositorio de Cloud Code.

Sintaxis

FUNCTION DBMS_CLOUD_REPO.INIT_REPO(
     params      IN   CLOB)
RETURN CLOB;

Parámetros

Parámetro de JSON Descripción
provider

Proveedor de repositorio de Cloud Code de lo siguiente:

DBMS_CLOUD_REPO.GITHUB_REPO ('GITHUB')

DBMS_CLOUD_REPO.AWS_REPO ('AWS')

DBMS_CLOUD_REPO.AZURE_REPO ('AZURE')
repo_name Especifica el nombre del repositorio. DBMS_CLOUD_REPO.PARAM_REPO_NAME
owner Propietario del repositorio GitHub. DBMS_CLOUD_REPO.PARAM_OWNER

Este parámetro solo se aplica al proveedor de nube GitHub.

region Región del repositorio de AWS DBMS_CLOUD_REPO_PARAM_REGION

Este parámetro solo se aplica al proveedor de AWS en la nube.

organization Organización de Azure DBMS_CLOUD_REPO_PARAM_ORGANIZATION

Este parámetro solo se aplica al proveedor de Azure en la nube.

project Proyecto del equipo de Azure DBMS_CLOUD_REPO_PARAM_PROJECT

Este parámetro solo se aplica al proveedor en la nube de Azure

Ejemplo

BEGIN
  :repo := DBMS_CLOUD_REPO.INIT_REPO(
          params => JSON_OBJECT('credential_name' value 'mycred',
                        'repo_name'       value 'myrepo',
                        'repo_owner'      value 'foo')
       );
END;
/

Procedimiento INSTALL_FILE

Con este procedimiento se instalan sentencias SQL desde un archivo del repositorio de Cloud Code identificado por el argumento del manejador repo.

Sintaxis

PROCEDURE DBMS_CLOUD_REPO.INSTALL_FILE(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      tag_name          IN  VARCHAR2  DEFAULT NULL,
      commit_name       IN  VARCHAR2  DEFAULT NULL,
      stop_on_error     IN  BOOLEAN   DEFAULT TRUE
);

Parámetros

parámetro Descripción
repo Especifica el identificador del repositorio.
file_path Ruta de archivo en el repositorio.
branch_name Rama para instalar el archivo desde una rama específica.
tag_name Etiqueta para instalar el archivo desde una etiqueta específica.
commit_name ID de confirmación para instalar el archivo desde una confirmación específica.
stop_on_error Deja de ejecutar las sentencias SQL cuando se produce el primer error.

Notas de uso

  • Puede instalar sentencias SQL que contengan SQL anidado desde un archivo de repositorio de Cloud Code mediante lo siguiente:

    • @: incluye un archivo SQL con una ruta de acceso relativa a la ROOT del repositorio.

    • @@: incluye un archivo SQL con una ruta relativa al archivo actual.

  • Los scripts están diseñados como scripts de instalación de esquemas y no como scripts SQL genéricos:

    • Los scripts no pueden contener comandos específicos del cliente SQL*Plus.
    • Los scripts no pueden contener variables de enlace ni scripts con parámetros.
    • Las sentencias SQL deben terminar con una barra inclinada en una nueva línea (/).
    • Los scripts pueden contener sentencias DDL y DML PLSQL, pero las sentencias SELECT directas no están soportadas. Está soportado el uso de SELECT en un bloque PL/SQL.

    Cualquier sentencia SQL que se pueda ejecutar mediante EXECUTE IMMEDIATE funcionará si no contiene variables de enlace o definiciones.

Ejemplo

BEGIN
     DBMS_CLOUD_REPO.INSTALL_FILE(
         repo          => l_repo,
         file_path     => 'test3.sql',
         stop_on_error => FALSE
     );
END;
/

Procedimiento INSTALL_SQL

Con este procedimiento se instalan sentencias SQL desde un buffer proporcionado como entrada.

Sintaxis

PROCEDURE DBMS_CLOUD_REPO.INSTALL_SQL(
      content           IN  CLOB,
      stop_on_error     IN  BOOLEAN  DEFAULT TRUE
);

Parámetros

parámetro Descripciones
content Es el CLOB que contiene las sentencias SQL que se deben ejecutar.
stop_on_error Deja de ejecutar las sentencias SQL cuando se produce el primer error.

Notas de uso

  • Los scripts están diseñados como scripts de instalación de esquemas y no como scripts SQL genéricos:

    • Los scripts no pueden contener comandos específicos del cliente SQL*Plus.
    • Los scripts no pueden contener variables de enlace ni scripts con parámetros.
    • Las sentencias SQL deben terminar con una barra inclinada en una nueva línea (/).
    • Los scripts pueden contener sentencias DDL y DML PLSQL, pero las sentencias SELECT directas no están soportadas. Está soportado el uso de SELECT en un bloque PL/SQL.

    Cualquier sentencia SQL que se pueda ejecutar mediante EXECUTE IMMEDIATE funcionará si no contiene variables de enlace o definiciones.

Ejemplo

BEGIN
  DBMS_CLOUD_REPO.INSTALL_SQL(
      content   => 'create table t1 (x varchar2(30))' || CHR(10) || '/',
      stop_on_error => FALSE
  );
END;
/

Función LIST_BRANCHES

Esta función muestra las bifurcaciones de la rama del repositorio de Cloud Code identificadas por el argumento de identificador repo.

Sintaxis

FUNCTION DBMS_CLOUD_REPO.LIST_BRANCHES(
    repo           IN   CLOB
) RETURN list_branch_ret_tab PIPELINED PARALLEL_ENABLE;

Parámetros

parámetro Descripción
repo Especifica el identificador del repositorio.

Este parámetro es obligatorio y está soportado para todos los proveedores de servicios en la nube.

Ejemplo

SELECT * FROM DBMS_CLOUD_REPO.LIST_BRANCHES (repo => l_repo);

Notas de uso

  • Función de tabla con pipeline con el tipo de retorno list_branch_ret_tab.

  • DBMS_CLOUD_REPO.LIST_BRANCHES devuelve la columna: name, que indica el nombre de la rama del repositorio de Cloud Code.

Función LIST_COMMITS

Esta función muestra las confirmaciones en la rama del repositorio de Cloud Code identificada por el argumento de identificador repo.

Sintaxis

FUNCTION DBMS_CLOUD_REPO.LIST_COMMITS(
      repo              IN  CLOB,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      file_path         IN  VARCHAR2 DEFAULT NULL,
      commit_id         IN  VARCHAR2  DEFAULT NULL
) RETURN list_commit_ret_tab PIPELINED PARALLEL_ENABLE;

Parámetros

parámetro Descripción
repo Especifica el identificador del repositorio.

Este parámetro es obligatorio y está soportado para todos los proveedores de servicios en la nube.

branch_name Muestra las confirmaciones de una sucursal específica.

Este parámetro está soportado para todos los proveedores de servicios en la nube.

Si no proporciona un valor branch_name, branch_name se define en main.

file_path Muestra los archivos en la ruta de subcarpeta especificada en el repositorio.

Este parámetro solo está soportado para los proveedores de nube de Git y Azure.

Si no proporciona un valor file_path, file_path se define en un valor NULL.

commit_id Mostrar archivos a partir de la sha/id especificada

Este parámetro está soportado para todos los proveedores de servicios en la nube.

Si no proporciona un valor commit_id, commit_id se define en un valor NULL.

Ejemplo

SELECT name FROM DBMS_CLOUD_REPO.LIST_COMMITS(repo => l_repo);

Ejemplo

SELECT name FROM DBMS_CLOUD_REPO.LIST_COMMITS (
    repo        => l_repo,
    commit_id   => '66dd2b23b74cd0afabd11af66c6aa9c550540ba6',
    file_path   => 'sub_dir/test11.sql'
);

Notas de uso

  • Función de tabla con pipeline con el tipo de retorno list_commit_ret_tab.

  • DBMS_CLOUD_REPO.LIST_COMMITS devuelve la columna: commit_id.

Función LIST_FILES

Con esta función se descarga un archivo del repositorio de Cloud Code. De manera opcional, se puede acceder al contenido del archivo desde una rama, una etiqueta o un nombre de confirmación específicos. Por defecto, se accede al archivo desde la rama del repositorio por defecto. Los resultados incluyen los nombres de archivo y metadatos adicionales sobre los archivos.

Sintaxis

FUNCTION DBMS_CLOUD_REPO.LIST_FILES(
      repo              IN  CLOB,
      path              IN  VARCHAR2  DEFAULT NULL,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      tag_name          IN  VARCHAR2  DEFAULT NULL,
      commit_id         IN  VARCHAR2  DEFAULT NULL
) RETURN list_file_ret_tab PIPELINED PARALLEL_ENABLE;

Parámetros

parámetro Descripción
repo Especifica el identificador del repositorio.
path Muestra los archivos en la ruta de subcarpeta especificada en el repositorio.
branch_name Muestra los archivos de una rama específica.
tag_name Muestra los archivos de una etiqueta específica.
commit_name Muestra los archivos de una confirmación específica.

Notas de uso

  • Esta es una función de tabla con pipeline con el tipo de retorno list_file_ret_tab.

  • DBMS_CLOUD_REPO.LIST_FILES devuelve las columnas: id, name, url y bytes.

Ejemplo

SELECT name FROM DBMS_CLOUD_REPO.LIST_FILES(repo => l_repo);

NAME
-------------------------
test3.sql

Función LIST_REPOSITORIES

Esta función muestra todos los repositorios de Cloud Code identificados por el argumento de identificador repo. Los resultados incluyen los nombres de repositorio y metadatos adicionales sobre los repositorios.

Sintaxis

FUNCTION DBMS_CLOUD_REPO.LIST_REPOSITORIES(
      repo                 IN   CLOB
) RETURN list_repo_ret_tab PIPELINED PARALLEL_ENABLE;

Parámetros

parámetro Descripción
repo Especifica el identificador del repositorio.

Todos los proveedores de servicios en la nube admiten este parámetro.

description Descripción de texto breve del repositorio.

Este parámetro está soportado por los proveedores de servicios en la nube de GITHUB y AWS.

private

El repositorio es privado y solo se puede acceder a él con credenciales válidas

Este parámetro está soportado para el proveedor de servicios en la nube de GITHUB.

Notas de uso

  • Esta es una función de tabla con pipeline con el tipo de retorno list_repo_ret_tab.

  • DBMS_CLOUD_REPO.LIST_REPOSITORIES devuelve las columnas: id, name, owner, description, private, url, bytes, created y last_modified.

Ejemplo

SELECT name description FROM DBMS_CLOUD_REPO.LIST_REPOSITORIES(:repo);

NAME                  DESCRIPTION
--------------------- ---------------
TestRepo1             My test repo

Procedimiento MERGE_BRANCH

Este procedimiento fusiona una rama de repositorio en otra rama especificada en el repositorio de Cloud Code identificado por el argumento de manejador repo. El procedimiento MERGE_BRANCH no está soportado actualmente en Azure.

Sintaxis

PROCEDURE DBMS_CLOUD_REPO.MERGE_BRANCH (
    repo               IN   CLOB,
    branch_name        IN   VARCHAR2,
    parent_branch_name IN   VARCHAR2 DEFAULT NULL,
    commit_details     IN   CLOB      DEFAULT NULL
 );

Parámetros

parámetro Descripción
repo

Especifica el identificador del repositorio.

Este parámetro es obligatorio y está soportado para los proveedores de servicios en la nube de GITHUB y AWS.

branch_name

Especifica el nombre de la rama de Git que se va a fusionar.

Este parámetro es obligatorio y está soportado para todos los proveedores de servicios en la nube.

target_branch_name

Especifica el nombre de la rama de destino en la que se va a fusionar.

Este parámetro es obligatorio y está soportado para todos los proveedores de servicios en la nube.

commit_details

Detalles de confirmación como documento JSON

{"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } }

Si no proporciona un valor commit_details, commit_details se define en el mensaje de confirmación por defecto que incluye la información sobre el usuario de sesión de base de datos actual y el nombre de la base de datos que realiza la confirmación.

Ejemplo

BEGIN
  DBMS_CLOUD_REPO.MERGE_BRANCH (
    repo               => l_repo,
    branch_name        => 'test_branch',
    target_branch_name => 'main'
    );
END;
/

Notas de uso

Para ejecutar el procedimiento DBMS_CLOUD_REPO.MERGE_BRANCH, debe estar conectado como usuario ADMIN o tener el privilegio EXECUTE en DBMS_CLOUD_REPO.

Procedimiento PUT_FILE

Con este procedimiento se carga un archivo en el repositorio de Cloud Code identificado por el argumento de manejador repo. El procedimiento está sobrecargado para soportar la carga de un archivo desde un objeto de directorio o la carga del contenido desde un BLOB al archivo de repositorio.

Sintaxis

PROCEDURE DBMS_CLOUD_REPO.PUT_FILE(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      contents          IN  BLOB,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      commit_details    IN  CLOB      DEFAULT NULL
);
 
PROCEDURE DBMS_CLOUD_REPO.PUT_FILE(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      directory_name    IN  VARCHAR2,
      source_file_name  IN  VARCHAR2  DEFAULT NULL,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      commit_details    IN  CLOB      DEFAULT NULL
);

Parámetros

parámetro Descripción
repo Especifica el identificador del repositorio.
file_path Ruta al archivo para cargarlo en el repositorio.
contents BLOB que incluye el contenido del archivo.
directory_name Nombre de objeto de directorio que contiene el nombre de archivo.
source_file_name Nombre del archivo de origen que desea cargar en el repositorio.
branch_name Coloque el archivo en una rama específica.
commit_details

Detalles de confirmación como documento JSON:

{"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } }

Ejemplo

BEGIN
  DBMS_CLOUD_REPO.PUT_FILE(
     repo   => l_repo,
  );
END;
/

Procedimiento UPDATE_REPOSITORY

Con este procedimiento se actualiza un repositorio de Cloud Code identificado por el argumento de manejador repo. UPDATE_REPOSITORY soporta la actualización del nombre, la descripción o el estado de visibilidad privado, como soporta el repositorio de Cloud Code.

Sintaxis

PROCEDURE DBMS_CLOUD_REPO.UPDATE_REPOSITORY(
      repo                 IN OUT  CLOB,
      new_name             IN      VARCHAR2 DEFAULT NULL,
      description          IN      CLOB     DEFAULT NULL,
      private              IN      BOOLEAN  DEFAULT NULL
);

Parámetros

parámetro Descripción
repo Especifica el identificador del repositorio.

Este parámetro está soportado para todos los proveedores de servicios en la nube.

new_name Nuevo nombre del repositorio.

Este parámetro está soportado para todos los proveedores de servicios en la nube.

description Descripción de texto breve del repositorio.

Este parámetro está soportado para los proveedores de servicios en la nube de GITHUB y AWS.

private

El repositorio es privado y solo se puede acceder a él con credenciales válidas.

Este parámetro está soportado para el proveedor de servicios en la nube de GITHUB.

Ejemplo

BEGIN
  DBMS_CLOUD_REPO.UPDATE_REPOSITORY(
     repo        => l_repo,
     new_name    => 'repo2'
  );
END;
/