Paquete DBMS_CLOUD_REPO
El paquete DBMS_CLOUD_REPO
proporciona el uso y la gestión de repositorios de código alojados en la nube de Oracle Database. Los repositorios de código en la nube soportados incluyen GitHub, AWS CodeCommit y Azure Repos.
- DBMS_CLOUD_REPO Visión general
El paqueteDBMS_CLOUD_REPO
proporciona un acceso sencillo a los archivos de los repositorios de Cloud Code (Git), incluidos: GitHub, AWS CodeCommit y Azure Repos. - DBMS_CLOUD_REPO Estructuras de datos
El paqueteDBMS_CLOUD_REPO
define tipos de registro y un tipo de objeto JSON genéricorepo
. - DBMS_CLOUD_REPO Grupos de subprogramas
Los subprogramas del paqueteDBMS_CLOUD_REPO
se pueden agrupar en cuatro categorías: operaciones de inicialización, operaciones de gestión de repositorios, operaciones de archivo y operaciones de instalación de SQL. - Resumen de los subprogramas DBMS_CLOUD_REPO
En esta sección se tratan los subprogramasDBMS_CLOUD_REPO
que proporciona Autonomous Database.
Tema principal: Referencia de paquete proporcionado por Autonomous Database
Visión general de DBMS_CLOUD_REPO
El paquete DBMS_CLOUD_REPO
proporciona un acceso sencillo a los archivos de los repositorios de Cloud Code (Git), incluidos: GitHub, AWS CodeCommit y Azure Repos.
Este paquete es una única interfaz para acceder a repositorios de código multinube y permite cargar archivos SQL en repositorios de Git o instalar scripts SQL directamente desde repositorios de Cloud Code. Este paquete también permite utilizar un repositorio de Cloud Code para gestionar versiones de código para scripts SQL e instalar o aplicar parches al código de aplicación desde repositorios de Git.
Conceptos
-
Sistema de control de versiones de Git: Git es software para realizar un seguimiento de los cambios en cualquier conjunto de archivos, que se suele utilizar para coordinar el trabajo entre programadores que desarrollan en colaboración código fuente durante el desarrollo de software. Sus objetivos incluyen velocidad, integridad de datos y soporte para flujos de trabajo distribuidos y no lineales.
-
Repositorio de Git: un repositorio de Git es un almacenamiento virtual del proyecto. Le permite guardar versiones de su código, a las que podrá acceder cuando sea necesario.
Arquitectura
DBMS_CLOUD_REPO
proporciona cuatro áreas de funciones:
-
Inicialización de repositorio con identificador genérico de repositorio de código en la nube
-
Inicialización de un repositorio de código GitHub
-
Inicialización de un repositorio de código CodeCommit de AWS
-
Inicializar un repositorio de código de Azure Repos
-
-
Operaciones de gestión de repositorios
-
Cree un repositorio
-
Actualice un repositorio
-
Mostrar repositorios
-
Suprima un repositorio
-
-
Operaciones de gestión de archivos del repositorio
-
Cargar un archivo en el repositorio de código desde Oracle Database.
-
Descargar un archivo del repositorio de Code en Oracle Database.
-
Suprimir archivos del repositorio de Code.
-
Mostrar archivos del repositorio de Code.
-
-
Operaciones de instalación de SQL
- Exportar DDL de metadatos de objeto de base de datos al repositorio.
-
Instalar sentencias SQL desde un archivo del repositorio de Code Repository de Oracle Database.
-
Instalar sentencias SQL desde un buffer.
Tema principal: Paquete DBMS_CLOUD_REPO
DBMS_CLOUD_REPO Estructuras de datos
El paquete DBMS_CLOUD_REPO
define tipos de registro y un tipo de objeto JSON genérico repo
.
Objeto JSON de REPO
Un DBMS_CLOUD_REPO
REPO
es un objeto JSON opaco que representa un repositorio de Cloud Code de un proveedor en la nube específico. Un objeto REPO se puede transferir a diferentes API de DBMS_CLOUD_REPO
. Este objeto opaco garantiza que los procedimientos y las funciones de DBMS_CLOUD_REPO
sean compatibles con varias nubes; no tiene que cambiar ningún código al migrar de un proveedor de repositorio de Cloud Code a otro repositorio de Cloud Code.
Tema principal: Paquete DBMS_CLOUD_REPO
DBMS_CLOUD_REPO Grupos de subprogramas
Los subprogramas del paquete DBMS_CLOUD_REPO
se pueden agrupar en cuatro categorías: operaciones de inicialización, operaciones de gestión de repositorios, operaciones de archivo y operaciones de instalación de SQL.
- DBMS_CLOUD_REPO Operaciones de inicialización
Muestra los subprogramas para las operaciones de inicialización en el paqueteDBMS_CLOUD_REPO
. - DBMS_CLOUD_REPO Operaciones de gestión de repositorios
Muestra los subprogramas para operaciones de gestión de repositorios en el paqueteDBMS_CLOUD_REPO
. - DBMS_CLOUD_REPO Operaciones de gestión de rama de repositorio
Muestra los subprogramas para operaciones de gestión de rama de repositorio en el paqueteDBMS_CLOUD_REPO
. - DBMS_CLOUD_REPO Operaciones de archivo
Muestra los subprogramas para las operaciones de archivo del paqueteDBMS_CLOUD_REPO
. - DBMS_CLOUD_REPO Operaciones de instalación SQL
Muestra los subprogramas para las operaciones de instalación SQL en el paqueteDBMS_CLOUD_REPO
.
Tema principal: Paquete DBMS_CLOUD_REPO
DBMS_CLOUD_REPO Operaciones de inicialización
Muestra los subprogramas para las operaciones de inicialización en el paquete DBMS_CLOUD_REPO
.
Subprograma | Descripción |
---|---|
Esta función inicializa un manejador de repositorio de AWS y devuelve un tipo opaco. | |
Esta función inicializa un manejador de repositorio de Azure y devuelve un tipo opaco. | |
Esta función inicializa un manejador de repositorio GitHub y devuelve un tipo opaco. | |
Esta función inicializa un manejador del repositorio de Cloud Code y devuelve un objeto JSON opaco. |
Tema principal: DBMS_CLOUD_REPO Grupos de subprogramas
DBMS_CLOUD_REPO Operaciones de gestión de repositorios
Muestra los subprogramas para operaciones de gestión de repositorios en el paquete DBMS_CLOUD_REPO
.
Subprograma | Descripción |
---|---|
Con este procedimiento se crea un repositorio de Cloud Code identificado por el argumento del manejador repo .
|
|
Con este procedimiento se suprime el repositorio de Cloud Code identificado por el argumento del manejador repo .
|
|
Esta función muestra todos los repositorios de Cloud Code identificados por el argumento de identificador repo .
|
|
Con este procedimiento se actualiza un repositorio de Cloud Code identificado por el argumento de manejador repo . El procedimiento soporta la actualización del nombre, la descripción o el estado de visibilidad privado, como soporta el repositorio de Cloud Code.
|
Tema principal: DBMS_CLOUD_REPO Grupos de subprogramas
DBMS_CLOUD_REPO Operaciones de gestión de sucursales de repositorio
Muestra los subprogramas para las operaciones de gestión de rama de repositorio en el paquete DBMS_CLOUD_REPO
.
Subprograma | Descripción |
---|---|
Con este procedimiento se crea una rama en un repositorio de Cloud Code identificado por el argumento del manejador repo .
|
|
Con este procedimiento se suprime una rama de un repositorio de Cloud Code identificada por el argumento del manejador repo .
|
|
Esta función muestra todas las bifurcaciones del repositorio de Cloud Code identificadas por el argumento de identificador repo .
|
|
Esta función muestra todas las confirmaciones en una rama del repositorio de Cloud Code identificadas por el argumento de identificador repo .
|
|
Con este procedimiento se fusiona una rama del repositorio de Cloud Code en otra rama especificada en un repositorio de Cloud Code identificado por el argumento del manejador repo .
|
Tema principal: DBMS_CLOUD_REPO Grupos de subprogramas
DBMS_CLOUD_REPO Operaciones de archivo
Muestra los subprogramas para las operaciones de archivo del paquete DBMS_CLOUD_REPO
.
Subprograma | Descripción |
---|---|
Con este procedimiento se suprime un archivo del repositorio de Cloud Code identificado por el argumento del manejador repo .
|
|
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. | |
Con esta función se descarga un archivo del repositorio de Cloud Code. Si lo desea, se puede acceder al contenido del archivo desde una rama, una etiqueta o un nombre de confirmación específicos. El acceso al archivo se realiza por defecto desde la rama del repositorio por defecto. | |
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 CLOB al archivo de repositorio.
|
Tema principal: DBMS_CLOUD_REPO Grupos de subprogramas
DBMS_CLOUD_REPO Operaciones de instalación de SQL
Muestra los subprogramas para las operaciones de instalación SQL en el paquete DBMS_CLOUD_REPO
.
Subprograma | Descripción |
---|---|
Con este procedimiento se pueden cargar 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 exporta metadatos de todos los objetos de un esquema a una rama del repositorio de Cloud Code identificada por el argumento de manejador repo .
|
|
Con este procedimiento se instalan sentencias SQL desde un archivo del repositorio de Cloud Code identificado por el argumento del manejador repo .
|
|
Con este procedimiento se instalan sentencias SQL desde un buffer proporcionado como entrada. |
Tema principal: DBMS_CLOUD_REPO Grupos de subprogramas
Resumen de DBMS_CLOUD_REPO Subprogramas
En esta sección se tratan los subprogramas DBMS_CLOUD_REPO
que proporciona Autonomous Database.
El paquete DBMS_CLOUD_REPO
está formado por lo siguiente:
- Procedimiento CREATE_BRANCH
Con este procedimiento se crea una rama en el repositorio de Cloud Code identificada por el argumento del manejadorrepo
. - Procedimiento CREATE_REPOSITORY
Con este procedimiento se crea un repositorio de Cloud Code identificado por el argumento del manejadorrepo
. - Procedimiento DELETE_BRANCH
Con este procedimiento se suprime una rama del repositorio de Cloud Code identificada por el argumento del manejadorrepo
. - Procedimiento DELETE_FILE
Con este procedimiento se suprime un archivo del repositorio de Cloud Code identificado por el argumento del manejadorrepo
. - Procedimiento DELETE_REPOSITORY
Con este procedimiento se suprime el repositorio de Cloud Code identificado por el argumento del manejadorrepo
. - Procedimiento EXPORT_OBJECT
Este procedimiento carga los metadatos DDL de un objeto de base de datos en el repositorio de Cloud Code identificado por el argumento del manejadorrepo
. 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. - 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 manejadorrepo
. - GET_FILE Procedimiento y función
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. - Función INIT_AWS_REPO
Esta función inicializa un manejador de repositorio de AWS y devuelve un tipo opaco. - 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. - Función INIT_GITHUB_REPO
Esta función inicializa un manejador de repositorio GitHub y devuelve un tipo opaco. - Función INIT_REPO
Esta función inicializa un manejador del repositorio de Cloud Code 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 de JSON al mover un repositorio de código de un repositorio de Cloud Code a otro repositorio de Cloud Code. - Procedimiento INSTALL_FILE
Con este procedimiento se instalan sentencias SQL desde un archivo del repositorio de Cloud Code identificado por el argumento del manejadorrepo
. - Procedimiento INSTALL_SQL
Este procedimiento instala sentencias SQL desde un buffer proporcionado como entrada. - Función LIST_BRANCHES
Esta función muestra las bifurcaciones de la rama del repositorio de Cloud Code identificadas por el argumento de identificadorrepo
. - Función LIST_COMMITS
Esta función muestra las confirmaciones en la rama del repositorio de Cloud Code identificadas por el argumento de identificadorrepo
. - Función LIST_FILES
Con esta función se descarga un archivo del repositorio de Cloud Code. Si lo desea, se puede acceder al contenido del archivo desde una rama, una etiqueta o un nombre de confirmación específicos. El acceso al archivo se realiza por defecto desde la rama del repositorio por defecto. Los resultados incluyen nombres de archivo y metadatos adicionales sobre los archivos. - Función LIST_REPOSITORIES
Esta función muestra todos los repositorios de Cloud Code identificados por el argumento de identificadorrepo
. Si el identificadorrepo
tiene un nombre de repositorio especificado, la función no restringe la lista al nombre de repositorio especificado; muestra todos los repositorios a los que puede acceder el usuario. - Procedimiento MERGE_BRANCH
Este procedimiento fusiona una rama de repositorio en otra rama especificada en el repositorio de Cloud Code identificada por el argumento de manejadorrepo
. El procedimientoMERGE_BRANCH
no está soportado actualmente en Azure. - Procedimiento PUT_FILE
Con este procedimiento se carga un archivo en el repositorio de Cloud Code identificado por el argumento del manejadorrepo
. 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. - Procedimiento UPDATE_REPOSITORY
Con este procedimiento se actualiza un repositorio de Cloud Code identificado por el argumento del manejadorrepo
. UPDATE_REPOSITORY soporta la actualización del nombre, la descripción o el estado de visibilidad privado, como soporta el repositorio de Cloud Code.
Tema principal: Paquete DBMS_CLOUD_REPO
Procedimiento CREATE_BRANCH
Con este procedimiento se crea una rama en el repositorio de Cloud Code identificada 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 de cabecera 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_commit_id |
Crea la nueva rama con la confirmación de repositorio especificada. Este parámetro está soportado para todos los proveedores de servicios en la nube. Si no proporciona un valor |
Ejemplo
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;
/
Nota 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
.
Tema principal: Resumen de DBMS_CLOUD_REPO Subprogramas
CREATE_REPOSITORY Procedimiento
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;
/
Tema principal: Resumen de DBMS_CLOUD_REPO Subprogramas
Procedimiento DELETE_BRANCH
Con este procedimiento se suprime una rama del repositorio de Cloud Code identificada 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;
/
Nota 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
.
Tema principal: Resumen de DBMS_CLOUD_REPO Subprogramas
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 |
Supresión del 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;
/
Tema principal: Resumen de DBMS_CLOUD_REPO Subprogramas
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;
/
Tema principal: Resumen de DBMS_CLOUD_REPO Subprogramas
Procedimiento EXPORT_OBJECT
Con este procedimiento se pueden cargar 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 al 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 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: |
append |
Agregue el DDL de metadatos al archivo existente. |
Nota de Uso
Para un control personalizado en el DDL de 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 para obtener información sobre 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;
/
Tema principal: Resumen de DBMS_CLOUD_REPO Subprogramas
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:
|
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 |
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 |
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;
/
Nota 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
.
Tema principal: Resumen de DBMS_CLOUD_REPO Subprogramas
GET_FILE Procedimiento y función
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;
/
Tema principal: Resumen de DBMS_CLOUD_REPO Subprogramas
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;
/
Tema principal: Resumen de DBMS_CLOUD_REPO Subprogramas
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;
/
Tema principal: Resumen de DBMS_CLOUD_REPO Subprogramas
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;
/
Tema principal: Resumen de DBMS_CLOUD_REPO Subprogramas
Función INIT_REPO
Esta función inicializa un manejador del repositorio de Cloud Code 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 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 |
GitHub Propietario del repositorio. 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 en la nube de Azure. |
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;
/
Tema principal: Resumen de DBMS_CLOUD_REPO Subprogramas
INSTALL_FILE Procedimiento
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 raíz del repositorio. -
@@
: incluye un archivo SQL con una ruta de acceso relativa al archivo actual.
-
-
Los scripts están diseñados como archivos de comandos de instalación de esquemas y no como archivos de comandos 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.
Las sentencias SQL que se puedan ejecutar mediante
EXECUTE IMMEDIATE
funcionarán si no contienen variables de enlace o definiciones.
Ejemplo
BEGIN
DBMS_CLOUD_REPO.INSTALL_FILE
(
repo => l_repo,
file_path => 'test3.sql',
stop_on_error => FALSE
);
END;
/
Tema principal: Resumen de DBMS_CLOUD_REPO Subprogramas
INSTALL_SQL Procedimiento
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 | Descripción |
---|---|
content |
Es el CLOB que contiene las sentencias SQL que se van a 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 archivos de comandos de instalación de esquemas y no como archivos de comandos 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.
Las sentencias SQL que se puedan ejecutar mediante
EXECUTE IMMEDIATE
funcionarán si no contienen 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;
/
Tema principal: Resumen de DBMS_CLOUD_REPO Subprogramas
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
-
Esta 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.
Tema principal: Resumen de DBMS_CLOUD_REPO Subprogramas
Función LIST_COMMITS
Esta función muestra las confirmaciones en la rama del repositorio de Cloud Code identificadas 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 |
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 |
commit_id |
Mostrar archivos a partir de sha/id especificadoEste parámetro está soportado para todos los proveedores de servicios en la nube. Si no proporciona un valor |
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
-
Esta función de tabla con pipeline con un tipo de retorno como
list_commit_ret_tab.
-
DBMS_CLOUD_REPO.LIST_COMMITS
devuelve la columna:commit_id
.
Tema principal: Resumen de DBMS_CLOUD_REPO Subprogramas
Función LIST_FILES
Con esta función se descarga un archivo del repositorio de Cloud Code. Si lo desea, se puede acceder al contenido del archivo desde una rama, una etiqueta o un nombre de confirmación específicos. El acceso al archivo se realiza por defecto desde la rama del repositorio por defecto. Los resultados incluyen 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
-
Se trata de una función de tabla con pipeline con el tipo de retorno
list_file_ret_tab.
-
DBMS_CLOUD_REPO.LIST_FILES
muestra las siguientes columnas:id
,name
,url
ybytes
.
Ejemplo
SELECT name FROM DBMS_CLOUD_REPO.LIST_FILES
(repo => l_repo);
NAME
-------------------------
test3.sql
Tema principal: Resumen de DBMS_CLOUD_REPO Subprogramas
Función LIST_REPOSITORIES
Esta función muestra todos los Repositorios de Cloud Code identificados por el argumento de identificador repo
. Si el identificador repo
tiene un nombre de repositorio especificado, la función no restringe la lista al nombre de repositorio especificado; muestra todos los repositorios a los que puede acceder el usuario.
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 soportan este parámetro. |
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 siguientes columnas:id
,name
,owner
,description
,private
,url
,bytes
,created
ylast_modified
.
Ejemplo
SELECT name description FROM DBMS_CLOUD_REPO.LIST_REPOSITORIES
(:repo);
NAME DESCRIPTION
--------------------- ---------------
TestRepo1 My test repo
Tema principal: Resumen de DBMS_CLOUD_REPO Subprogramas
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 rama de destino en el 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 |
Ejemplo
BEGIN
DBMS_CLOUD_REPO.MERGE_BRANCH
(
repo => l_repo,
branch_name => 'test_branch',
target_branch_name => 'main'
);
END;
/
Nota 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
.
Tema principal: Resumen de DBMS_CLOUD_REPO Subprogramas
PUT_FILE Procedimiento
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;
/
Tema principal: Resumen de DBMS_CLOUD_REPO Subprogramas
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;
/
Tema principal: Resumen de DBMS_CLOUD_REPO Subprogramas