Resumen de subprogramas DBMS_CLOUD_REPO
En esta sección se tratan los subprogramas DBMS_CLOUD_REPO que se proporcionan con Autonomous AI Database.
El paquete DBMS_CLOUD_REPO está formado por lo siguiente:
- Operaciones de Inicialización DBMS_CLOUD_REPO
- DBMS_CLOUD_REPO Operaciones de gestión de repositorios
- Operaciones de archivo DBMS_CLOUD_REPO
- Operaciones de instalación SQL de DBMS_CLOUD_REPO
Requisitos
Como desarrollador, puede utilizar procedimientos DBMS_CLOUD con bases de datos de IA autónomas desplegadas en Oracle Public Cloud, Multicloud o Exadata Cloud@Customer.
Según la opción de despliegue, se deben cumplir los siguientes requisitos previos 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:
-
Para crear un Gateway de NAT en la red virtual en la nube (VCN) donde residen los recursos de la base de datos de IA autónoma, siga las instrucciones de Creación de un Gateway de NAT en 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 cual residan las bases de datos de IA autónoma de modo que estos recursos puedan utilizar el gateway para obtener una clave pública de su instancia deAzure AD:
-
Vaya a la página Detalles de la subred de la subred.
-
En el separador Información de subredes, haga clic en el nombre de la Tabla de ruta de la subredes para mostrar su página Detalles de tabla de ruta.
-
En la tabla de Reglas de Ruta existentes, compruebe si ya hay una regla con las siguientes características:
-
Destination: 0.0.0.0/0 (Destino):
-
Tipo de destino: gateway de NAT
-
Destino: nombre del puerta de enlace de NAT que ha creado 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.
-
-
Vuelva a la página Detalles de la subred de la subred.
-
En la tabla Listas de seguridad de La subred, haga clic en el nombre de su lista de seguridad para mostrar su página Detalles de Lista de seguridad.
-
En el menú lateral, en Recursos, haga clic en Reglas de salida.
-
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 entrada y agregue una regla de salida con estas características.
-
-
La configuración de proxy HTTP del entorno debe permitir que la base de datos acceda al proveedor de servicios en la nube.
El administrador de 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.
Nota: 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 que se activa, 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 Crear una solicitud de servicio en My Oracle Support para obtener más información.
Procedimiento CREATE_BRANCH
Este procedimiento crea una rama en el repositorio de código en la nube identificada por el argumento de 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 nube. |
branch_name |
Especifica el nombre de la rama del repositorio. Este parámetro es obligatorio y está soportado para todos los proveedores de 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 nube. Si no proporciona un valor |
parent_commit_id |
Crea la nueva rama mediante la confirmación del repositorio especificada. Este parámetro está soportado para todos los proveedores de nube. Si no proporciona un valor |
Ejemplo
Nota: Para crear una rama en un repositorio de código en la nube, 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
Este procedimiento crea un repositorio de código en la nube identificado por el argumento de 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 nube. |
description |
Descripción de texto breve para el repositorio. Este parámetro es compatible con GITHUB y el proveedor de nube de AWS. |
private |
El repositorio es privado y solo se puede acceder a él con credenciales válidas Este parámetro solo se admite para el proveedor de nube de GITHUB. |
Ejemplo
BEGIN
DBMS_CLOUD_REPO.CREATE_REPOSITORY(
repo => l_repo,
description => 'My test repo',
private => TRUE
);
END;
/
Procedimiento DELETE_BRANCH
Este procedimiento suprime una rama en el repositorio de código de nube identificada por el argumento de 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 nube. |
branch_name |
Suprimir rama de un repositorio específico. Este parámetro es obligatorio y está soportado para todos los proveedores de 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
Este procedimiento suprime un archivo del repositorio de código de nube identificado por el argumento de 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 de archivo para suprimir el archivo en el repositorio. |
branch_name |
Suprimir archivo de una rama específica. |
commit_details |
Detalles de confirmación como documento JSON
|
Ejemplo
BEGIN
DBMS_CLOUD_REPO.DELETE_FILE(
repo => l_repo,
file_path => 'scripts/test3.sql',
branch_name => 'test_branch'
);
END;
/
Procedimiento DELETE_REPOSITORY
Este procedimiento suprime el repositorio de código en la nube identificado por el argumento de 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
Este procedimiento carga los metadatos DDL de un objeto de base de datos en el repositorio de código en la nube identificado por el argumento de manejador repo. Este procedimiento es una forma sencilla de 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 Object Types en Oracle Database 19c PL/SQL Packages and Types Reference o Oracle Database 26ai PL/SQL Packages and Types Reference para obtener más información. |
object_name |
Nombre del objeto de base de datos para recuperar los 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 del objeto DDL, 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 26ai 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 código en la nube 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 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 nube. |
schema_name |
Especifica el nombre del esquema para el que se va a cargar un script DDL en la rama del repositorio de código en la nube. Este parámetro es obligatorio y está soportado para todos los proveedores de 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 nube. Los parámetros de JSON para
|
branch_name |
Especifica el nombre de la rama del repositorio. Este parámetro está soportado para todos los proveedores de nube. Si no proporciona un valor |
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 nube. Si no proporciona un valor |
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 |
Obtener archivo de una rama específica. |
tag_name |
Obtener archivo de una etiqueta específica. |
commit_name |
Obtener 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 identificador 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 identificador de repositorio de Azure y devuelve un tipo opaco. Esta función solo es compatible con el proveedor de 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 de Azure DevOps. |
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 identificador de repositorio de 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
Esta función inicializa un identificador de repositorio de código en la nube y 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 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 JSON | Descripción |
|---|---|
provider |
Proveedor de repositorio de código en la nube de lo siguiente:
|
repo_name |
Especifica el nombre del repositorio. DBMS_CLOUD_REPO.PARAM_REPO_NAME |
owner |
Propietario del repositorio de GitHub. Este parámetro solo es aplicable para el proveedor de nube de GitHub. |
region |
Región de repositorio de AWS. Este parámetro solo es aplicable para el proveedor de nube de AWS. |
organization |
Organización de Azure. Este parámetro solo es aplicable para el proveedor de nube de Azure. |
project |
Proyecto de equipo de Azure. Este parámetro solo es aplicable para el proveedor de 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
Este procedimiento instala sentencias SQL de un archivo en el repositorio de código en la nube identificado por el argumento de 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 |
Pare la ejecución de las sentencias SQL en el primer error. |
Notas de uso
-
Puede instalar sentencias SQL que contengan SQL anidado desde un archivo de repositorio de código en la nube 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 de acceso relativa al archivo actual.
-
-
Los scripts están diseñados como scripts de instalación de esquema 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 se deben terminar con una barra diagonal en una nueva línea (/).
-
Los scripts pueden contener sentencias DDL, DML PLSQL, pero las sentencias
SELECTdirectas no están soportadas. Está soportado el uso de SELECT en un bloque PL/SQL.
Cualquier sentencia SQL que se pueda ejecutar mediante
EXECUTE IMMEDIATEfuncionará si no contiene variables de enlace o no las define. -
Ejemplo
BEGIN
DBMS_CLOUD_REPO.INSTALL_FILE(
repo => l_repo,
file_path => 'test3.sql',
stop_on_error => FALSE
);
END;
/
Procedimiento INSTALL_SQL
Este procedimiento instala sentencias SQL de 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 |
CLOB que contiene las sentencias SQL que se van a ejecutar. |
stop_on_error |
Pare la ejecución de las sentencias SQL en el primer error. |
Notas de uso
-
Los scripts están diseñados como scripts de instalación de esquema 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 diagonal en una nueva línea (/).
-
Los scripts pueden contener sentencias DDL, DML PLSQL, pero las sentencias
SELECTdirectas no están soportadas. Está soportado el uso de SELECT en un bloque PL/SQL.
Cualquier sentencia SQL que se pueda ejecutar mediante
EXECUTE IMMEDIATEfuncionará si no contiene variables de enlace o no las define. -
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 código en la nube identificadas por el argumento de manejador 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 nube. |
Ejemplo
SELECT * FROM DBMS_CLOUD_REPO.LIST_BRANCHES (repo => l_repo);
Notas de uso
-
Se trata de una función de tabla con líneas discontinuas con el tipo de retorno
list_branch_ret_tab. -
DBMS_CLOUD_REPO.LIST_BRANCHESdevuelve la columna:name, que indica el nombre de la rama del repositorio de código en la nube.
Función LIST_COMMITS
Esta función muestra las confirmaciones en la rama del repositorio de código en la nube identificada por el argumento de manejador 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 nube. |
branch_name |
Mostrar confirmaciones de una rama específica. Este parámetro está soportado para todos los proveedores de nube. Si no proporciona un valor |
file_path |
Muestre los archivos en la ruta de acceso de la subcarpeta especificada en el repositorio. Este parámetro solo se admite para proveedores de nube de Git y Azure. Si no proporciona un valor |
commit_id |
Mostrar los archivos a partir de la Este parámetro está soportado para todos los proveedores de nube. Si no proporciona un valor |
Ejemplos
SELECT name FROM DBMS_CLOUD_REPO.LIST_COMMITS(repo => l_repo);
SELECT name FROM DBMS_CLOUD_REPO.LIST_COMMITS (
repo => l_repo,
commit_id => '66dd2b23b74cd0afabd11af66c6aa9c550540ba6',
file_path => 'sub_dir/test11.sql'
);
Notas de uso
-
Se trata de una función de tabla con líneas discontinuas con un tipo de retorno como
list_commit_ret_tab. -
DBMS_CLOUD_REPO.LIST_COMMITSdevuelve la columna:commit_id.
Función LIST_FILES
Esta función descarga un archivo del repositorio de Cloud Code. Opcionalmente, se puede acceder al contenido del archivo desde una rama, etiqueta o nombre de confirmación específicos. Por defecto, se accede al archivo desde la rama de 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 |
Enumere los archivos en la ruta de acceso de la subcarpeta especificada en el repositorio. |
branch_name |
Mostrar archivos de una rama específica. |
tag_name |
Mostrar archivos de una etiqueta específica. |
commit_name |
Mostrar archivos de una confirmación específica. |
Notas de uso
-
Se trata de una función de tabla con líneas discontinuas con el tipo de retorno
list_file_ret_tab. -
DBMS_CLOUD_REPO.LIST_FILESdevuelve las columnas:id,name,urlybytes.
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 código en la nube identificados por el argumento de manejador 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 nube admiten este parámetro. |
description |
Descripción de texto breve para el repositorio. Este parámetro es compatible con los proveedores de 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 nube de GITHUB. |
Notas de uso
-
Se trata de una función de tabla con líneas discontinuas con el tipo de retorno
list_repo_ret_tab. -
DBMS_CLOUD_REPO.LIST_REPOSITORIESdevuelve las columnas:id,name,owner,description,private,url,bytes,createdylast_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 código en la nube 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 se admite para los proveedores de nube de GITHUB y AWS. |
branch_name |
Especifica el nombre de rama de Git que se va a fusionar. Este parámetro es obligatorio y está soportado para todos los proveedores de nube. |
target_branch_name |
Especifica el nombre de la rama de destino en la que se fusionará. Este parámetro es obligatorio y está soportado para todos los proveedores de nube. |
commit_details |
Detalles de confirmación como documento JSON
Si no proporciona un valor |
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
Este procedimiento carga un archivo en el repositorio de código de nube identificado por el argumento de manejador repo. El procedimiento se sobrecarga para admitir la carga de un archivo desde un objeto de directorio o la carga del contenido de un BLOB en el 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 de archivo para cargar el archivo en el repositorio. |
contents |
BLOB que contiene el contenido del archivo. |
directory_name |
Nombre de objeto de directorio que contiene el nombre de archivo. |
source_file_name |
Nombre de archivo de origen para cargar en el repositorio. |
branch_name |
Coloque el archivo en una rama específica. |
commit_details |
Detalles de confirmación como documento JSON:
|
Ejemplo
BEGIN
DBMS_CLOUD_REPO.PUT_FILE(
repo => l_repo,
);
END;
/
Procedimiento UPDATE_REPOSITORY
Este procedimiento actualiza un repositorio de código en la nube identificado por el argumento de identificador repo. UPDATE_REPOSITORY admite la actualización del nombre, la descripción o el estado de visibilidad privada, según lo admite el repositorio de código en la nube.
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 nube. |
new_name |
Nuevo nombre para el repositorio. Este parámetro está soportado para todos los proveedores de nube. |
description |
Descripción de texto breve para el repositorio. Este parámetro se admite para proveedores de 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 nube de GITHUB. |
Ejemplo
BEGIN
DBMS_CLOUD_REPO.UPDATE_REPOSITORY(
repo => l_repo,
new_name => 'repo2'
);
END;
/