Procedimientos almacenados de bases de datos de RDS para Db2 - Amazon Relational Database Service

Procedimientos almacenados de bases de datos de RDS para Db2

Los procedimientos almacenados integrados que se describen en este tema administran bases de datos de Amazon RDS para Db2. Para ejecutar estos procedimientos, el usuario maestro debe conectarse primero a la base de datos rdsadmin.

Estos procedimientos almacenados se utilizan en diversas tareas. Esta lista no es exhaustiva.

Consulte los siguientes procedimientos almacenados integrados para obtener información sobre su sintaxis, parámetros, notas de uso y ejemplos.

rdsadmin.create_database

Crea una base de datos.

Sintaxis

db2 "call rdsadmin.create_database( 'database_name', 'database_page_size', 'database_code_set', 'database_territory', 'database_collation', 'database_autoconfigure_str', 'database_non-restrictive')"

Parámetros

nota

Este procedimiento almacenado no valida la combinación de parámetros necesarios. Al llamar a rdsadmin.get_task_status, la función definida por el usuario podría devolver un error debido a una combinación de database_codeset, database_territory y database_collation que no es válida. Para obtener más información, consulte Choosing the code page, territory, and collation for your database en la documentación de IBM Db2.

El siguiente parámetro es obligatorio:

database_name

El nombre de la base de datos que se va a crear. El tipo de datos es varchar.

Los siguientes parámetros son opcionales:

database_page_size

El tamaño de página predeterminado de la base de datos. Valores válidos: 4096, 8192, 16384, 32768. El tipo de datos es integer. El valor predeterminado es 8192.

importante

Amazon RDS admite la atomicidad de escritura para páginas de 4 KiB, 8 KiB y 16 KiB. Por el contrario, las páginas de 32 KiB corren el riesgo de tener errores de escritura o de que se escriban datos parciales en el disco. Si utiliza páginas de 32 KiB, le recomendamos habilitar la recuperación a un momento dado y las copias de seguridad automáticas. De lo contrario, corre el riesgo de no poder recuperarse de las páginas con errores. Para obtener más información, consulte Introducción a las copias de seguridad y Restauración de una instancia de base de datos a un momento especificado para Amazon RDS.

database_code_set

El conjunto de códigos de la base de datos. El tipo de datos es varchar. El valor predeterminado es UTF-8.

database_territory

El código de dos letras de la base de datos. El tipo de datos es varchar. El valor predeterminado es US.

database_collation

La secuencia de intercalación que determina cómo se ordenan y comparan las cadenas de caracteres almacenadas en la base de datos. El tipo de datos es varchar.

Valores válidos:

  • COMPATIBILITY: una secuencia de intercalación de IBM Db2 versión 2.

  • EBCDIC_819_037: página de códigos ISO latinos, intercalación; CCSID 037 (EBCDIC inglés de EE. UU.).

  • EBCDIC_819_500: página de códigos ISO latinos, intercalación; CCSID 500 (EBCDIC internacional).

  • EBCDIC_850_037: página de códigos ASCII latinos, intercalación; CCSID 037 (EBCDIC inglés de EE. UU.).

  • EBCDIC_850_500: página de códigos ASCII latinos, intercalación; CCSID 500 (EBCDIC internacional).

  • EBCDIC_932_5026: página de códigos ASCII japoneses, intercalación; CCSID 5026 (EBCDIC inglés de EE. UU.).

  • EBCDIC_932_5035: página de códigos ASCII japoneses, intercalación; CCSID 5035 (EBCDIC internacional).

  • EBCDIC_1252_037: página de códigos Windows latinos, intercalación; CCSID 037 (EBCDIC inglés de EE. UU.).

  • EBCDIC_1252_500: página de códigos Windows latinos, intercalación; CCSID 500 (EBCDIC internacional).

  • IDENTITY: intercalación predeterminada. Las cadenas se comparan byte por byte.

  • IDENTITY_16BIT: el esquema de codificación de compatibilidad para UTF-16: secuencia de intercalación de 8 bits (CESU-8). Para obtener más información, consulte Unicode Technical Report #26 en el sitio web de Unicode Consortium.

  • NLSCHAR: solo para su uso con la página de códigos en tailandés (CP874).

  • SYSTEM: si utiliza SYSTEM, la base de datos utiliza automáticamente la secuencia de intercalación para database_codeset y database_territory.

El valor predeterminado es IDENTITY.

Además, RDS para Db2 admite los siguientes grupos de intercalaciones: language-aware-collation y locale-sensitive-collation. Para obtener más información, consulte Choosing a collation for a Unicode database en la documentación de IBM Db2.

database_autoconfigure_str

La sintaxis del comando AUTOCONFIGURE, por ejemplo, 'AUTOCONFIGURE APPLY DB'. El tipo de datos es varchar. El valor predeterminado es una cadena vacía o null.

Para obtener más información, consulte Comando AUTOCONFIGURE en la documentación de IBM Db2.

database_non-restrictive

La concesión de las autoridades y privilegios predeterminados en la base de datos. El tipo de datos es varchar. El valor predeterminado es N.

Valores válidos:

Notas de uso

Si tiene previsto modificar el parámetro db2_compatibility_vector, modifíquelo antes de crear una base de datos. Para obtener más información, consulte Establecimiento del parámetro db2_compatibility_vector.

Consideraciones especiales:

  • El comando CREATE DATABASE enviado a la instancia de Db2 usa la opción RESTRICTIVE.

  • RDS para Db2 solo usa espacios de tabla AUTOMATIC STORAGE.

  • RDS para Db2 usa los valores predeterminados para NUMSEGS y DFT_EXTENT_SZ.

  • RDS para Db2 utiliza el cifrado de almacenamiento y no admite el cifrado de bases de datos.

Para obtener más información sobre estas consideraciones, consulte el comando CREATE DATABASE en la documentación de IBM Db2.

Antes de llamar a rdsadmin.create_database, debe conectarse a la base de datos rdsadmin. En el siguiente ejemplo, sustituya master_username y master_password por la información de su instancia de base de datos de RDS para Db2:

db2 connect to rdsadmin user master_username using master_password

Para obtener más información sobre cómo comprobar el estado de creación de una base de datos, consulte rdsadmin.get_task_status.

Para ver los mensajes de error devueltos al llamar a rdsadmin.create_database, consulte Errores en los procedimientos almacenados.

Ejemplos

En el siguiente ejemplo, se crea una base de datos llamada TESTJP con una combinación correcta de los parámetros database_code_set, database_territory y database_collation para Japón:

db2 "call rdsadmin.create_database('TESTJP', 4096, 'IBM-437', 'JP', 'SYSTEM')"

rdsadmin.deactivate_database

Desactiva una base de datos.

Sintaxis

db2 "call rdsadmin.deactivate_database( ?, 'database_name')"

Parámetros

El siguiente parámetro de salida es obligatorio:

?

Un marcador de parámetros que genera un mensaje de error. Este parámetro solo acepta ?.

El siguiente parámetro de entrada es obligatorio:

database_name

Nombre de la base de datos que se va a desactivar. El tipo de datos es varchar.

Notas de uso

Puede desactivar las bases de datos para conservar los recursos de memoria o para realizar otros cambios en la configuración de las bases de datos. Para volver a poner en línea las bases de datos desactivadas, llame al procedimiento almacenado rdsadmin.activate_database.

No puede desactivar una base de datos en una instancia de base de datos de origen durante la replicación mediante una llamada al procedimiento rdsadmin.deactivate_database almacenado.

Para obtener más información sobre cómo comprobar el estado de desactivación de una base de datos, consulte rdsadmin.get_task_status.

Para ver los mensajes de error devueltos al llamar a rdsadmin.deactivate_database, consulte Errores en los procedimientos almacenados.

Ejemplos

En el siguiente ejemplo, se desactiva una base de datos denominada TESTDB.

db2 "call rdsadmin.deactivate_database(?, 'TESTDB')"

rdsadmin.activate_database

Activa una base de datos.

Para obtener información acerca de las diferencias entre rdsadmin.reactivate_database y rdsadmin.activate_database, consulte Notas de uso.

Sintaxis

db2 "call rdsadmin.activate_database( ?, 'database_name')"

Parámetros

El siguiente parámetro de salida es obligatorio:

?

Un marcador de parámetros que genera un mensaje de error. Este parámetro solo acepta ?.

El siguiente parámetro de entrada es obligatorio:

database_name

El nombre de la base de datos que se va a activar. El tipo de datos es varchar.

Notas de uso

Todas las bases de datos se activan de forma predeterminada cuando se crean. Si desactiva una base de datos en una instancia de base de datos independiente para conservar los recursos de memoria o para realizar otros cambios en la configuración de la base de datos, llame al procedimiento almacenado rdsadmin.activate_database para volver a activar la base de datos.

Este procedimiento almacenado solo activa una base de datos que se encuentra en una instancia de base de datos independiente y que se desactivó al llamar al procedimiento almacenado rdsadmin.deactivate_database. Para activar una base de datos en una instancia de base de datos de origen de réplica, debe llamar al procedimiento almacenado rdsadmin.reactivate_database.

Para obtener más información sobre cómo comprobar el estado de activación de una base de datos, consulte rdsadmin.get_task_status.

Para ver los mensajes de error devueltos al llamar a rdsadmin.activate_database, consulte Errores en los procedimientos almacenados.

Ejemplos

En el siguiente ejemplo, se activa una base de datos denominada TESTDB.

db2 "call rdsadmin.activate_database(?, 'TESTDB')"

rdsadmin.reactivate_database

Reactiva una base de datos.

Para obtener información acerca de las diferencias entre rdsadmin.activate_database y rdsadmin.reactivate_database, consulte Notas de uso.

Sintaxis

db2 "call rdsadmin.reactivate_database( ?, 'database_name')"

Parámetros

El siguiente parámetro de salida es obligatorio:

?

Un marcador de parámetros que genera un mensaje de error. Este parámetro solo acepta ?.

El siguiente parámetro de entrada es obligatorio:

database_name

El nombre de la base de datos que se va a reactivar. El tipo de datos es varchar.

Notas de uso

Al llamar al procedimiento almacenado rdsadmin.reactivate_database, este primero desactiva la base de datos llamando al procedimiento almacenado rdsadmin.deactivate_database y, a continuación, activa la base de datos llamando al procedimiento almacenado rdsadmin.activate_database.

Después de realizar cambios en las configuraciones de las bases de datos, es posible que necesite reactivar una base de datos en una instancia de base de datos de RDS para Db2. Para determinar si necesita reactivar una base de datos, conéctese a la base de datos y ejecute db2 get db cfg show detail.

Para una base de datos en una instancia de base de datos independiente, puede utilizar el procedimiento almacenado rdsadmin.reactivate_database para reactivar la base de datos. O bien, si ya ha llamado al procedimiento almacenado rdsadmin.deactivate_database, puede llamar al procedimiento almacenado rdsadmin.activate_database en su lugar.

Para una base de datos en una instancia de base de datos de origen de réplica, debe utilizar el procedimiento almacenado rdsadmin.reactivate_database para reactivar la base de datos.

Para obtener información sobre cómo comprobar el estado de reactivación de una base de datos, consulte rdsadmin.get_task_status.

Para ver los mensajes de error devueltos al llamar a rdsadmin.reactivate_database, consulte Errores en los procedimientos almacenados.

Ejemplos

En el siguiente ejemplo, se reactiva una base de datos denominada TESTDB.

db2 "call rdsadmin.reactivate_database(?, 'TESTDB')"

rdsadmin.drop_database

Elimina una base de datos.

Sintaxis

db2 "call rdsadmin.drop_database('database_name')"

Parámetros

El siguiente parámetro es obligatorio:

database_name

El nombre de la base de datos que se eliminará. El tipo de datos es varchar.

Notas de uso

Puede eliminar una base de datos llamando a rdsadmin.drop_database solo si se cumplen las siguientes condiciones:

  • Si no especificó el nombre de la base de datos al crear la instancia de base de datos de RDS para Db2 mediante la consola de Amazon RDS o la AWS CLI. Para obtener más información, consulte Creación de una instancia de base de datos.

  • Si creó la base de datos llamando al procedimiento almacenado rdsadmin.create_database.

  • Si ha restaurado la base de datos a partir de una imagen sin conexión o de una copia de seguridad llamando al procedimiento almacenado rdsadmin.restore_database.

Antes de llamar a rdsadmin.drop_database, debe conectarse a la base de datos rdsadmin. En el siguiente ejemplo, sustituya master_username y master_password por la información de su instancia de base de datos de RDS para Db2:

db2 connect to rdsadmin user master_username using master_password

Para obtener más información sobre cómo comprobar el estado de eliminación de una base de datos, consulte rdsadmin.get_task_status.

Para ver los mensajes de error devueltos al llamar a rdsadmin.drop_database, consulte Errores en los procedimientos almacenados.

Ejemplos

En el siguiente ejemplo, se elimina una base de datos denominada:TESTDB

db2 "call rdsadmin.drop_database('TESTDB')"

rdsadmin.update_db_param

Actualiza los parámetros de la base de datos.

Sintaxis

db2 "call rdsadmin.update_db_param( 'database_name', 'parameter_to_modify', 'changed_value', 'restart_database')"

Parámetros

Se requieren los siguientes parámetros:

database_name

Nombre de la base de datos para la que se desea ejecutar la tarea. El tipo de datos es varchar.

parameter_to_modify

El nombre del parámetro que se va a modificar. El tipo de datos es varchar. Para obtener más información, consulte Parámetros de Amazon RDS para Db2.

changed_value

El valor al que se desea cambiar el valor del parámetro. El tipo de datos es varchar.

El siguiente parámetro es opcional:

restart_database

Especifica si RDS reinicia la base de datos si es necesario. El tipo de datos es varchar. Para modificar logprimary y logfilsiz, establezca este parámetro en 'YES'.

Notas de uso

Para obtener más información sobre cómo comprobar el estado de actualización de los parámetros de base de datos, consulte rdsadmin.get_task_status.

Para ver los mensajes de error devueltos al llamar a rdsadmin.update_db_param, consulte Errores en los procedimientos almacenados.

Ejemplos

Ejemplo 1: actualización de un parámetro

En el siguiente ejemplo, se actualiza el parámetro archretrydelay a 100 para una base de datos denominada:TESTDB

db2 "call rdsadmin.update_db_param( 'TESTDB', 'archretrydelay', '100')"

Ejemplo 2: aplazamiento de la validación de los objetos

El siguiente ejemplo aplaza la validación de los objetos creados en una base de datos denominada TESTDB para evitar la comprobación de dependencias:

db2 "call rdsadmin.update_db_param( 'TESTDB', 'auto_reval', 'deferred_force')"

rdsadmin.set_configuration

Configura ajustes específicos para la base de datos.

Sintaxis

db2 "call rdsadmin.set_configuration( 'name', 'value')"

Parámetros

Se requieren los siguientes parámetros:

nombre

El nombre del ajuste de configuración. El tipo de datos es varchar.

valor de

El valor del ajuste de la configuración. El tipo de datos es varchar.

Notas de uso

La siguiente tabla muestra los ajustes de configuración que puede controlar con rdsadmin.set_configuration.

Nombre Descripción

RESTORE_DATABASE_NUM_BUFFERS

El número de búferes que se van a crear durante una operación de restauración. Este valor debe ser menor que el tamaño de memoria total de la clase de instancia de base de datos. Si este ajuste no está configurado, Db2 determina el valor que se utilizará durante la operación de restauración. Para obtener más información, consulte el comando RESTORE DATABASE en la documentación de IBM Db2.

RESTORE_DATABASE_PARALLELISM

El número de manipuladores de búferes que se van a crear durante una operación de restauración. Este valor debe ser menor que el doble de la cantidad de vCPU para la instancia de base de datos. Si este ajuste no está configurado, Db2 determina el valor que se utilizará durante la operación de restauración. Para obtener más información, consulte el comando RESTORE DATABASE en la documentación de IBM Db2.

RESTORE_DATABASE_NUM_MULTI_PATHS

El número de rutas (o secuencias de E/S) que se van a utilizar durante una operación de restauración desde Amazon S3. Para usar este ajuste de configuración, debe tener varios archivos de copia de seguridad. Este valor puede mejorar el rendimiento al restaurar bases de datos con grandes volúmenes de datos, ya que restaura varios archivos de copia de seguridad de bases de datos en paralelo. Recomendamos que establezca este valor para que coincida con el número de los archivos de copia de seguridad de base de datos. Para obtener más información, consulte el comando BACKUP DATABASE en la documentación de IBM Db2.

USE_STREAMING_RESTORE

Especifica si se deben transmitir los datos de la copia de seguridad directamente durante la restauración, en lugar de descargar primero la copia de seguridad completa en la instancia de base de datos de RDS para Db2 y, a continuación, extraerla. La configuración de USE_STREAMING_RESTORE en TRUE reduce considerablemente los requisitos de almacenamiento y se puede mejorar el rendimiento de la restauración. Esta configuración requiere el motor IBM Db2 versión 11.5.9.0.sb00063198.r1 o posterior y conectividad con Amazon S3 a través de la interfaz de red elástica (ENI) de la base de datos. Para obtener más información, consulte almacenamiento remoto en la documentación de IBM Db2.

Ejemplos

Ejemplo 1: especificación del número de búferes que se van a crear

En el siguiente ejemplo, se establece la configuración RESTORE_DATABASE_NUM_BUFFERS en 150.

db2 "call rdsadmin.set_configuration( 'RESTORE_DATABASE_NUM_BUFFERS', '150')"

Ejemplo 2: especificación del número de manipuladores de búferes que se van a crear

En el siguiente ejemplo, se establece la configuración RESTORE_DATABASE_PARALLELISM en 8.

db2 "call rdsadmin.set_configuration( 'RESTORE_DATABASE_PARALLELISM', '8')"

Ejemplo 3: especificación del número de rutas o flujos de E/S que se van a utilizar durante la restauración

En el siguiente ejemplo, se establece la configuración RESTORE_DATABASE_NUM_MULTI_PATHS en 5.

db2 "call rdsadmin.set_configuration( 'RESTORE_DATABASE_NUM_MULTI_PATHS', '5')"

Ejemplo 4: configuración de la restauración para transmitir datos de copia de seguridad

En el siguiente ejemplo, se establece la configuración USE_STREAMING_RESTORE en TRUE.

db2 "call rdsadmin.set_configuration( 'USE_STREAMING_RESTORE', 'TRUE')"

rdsadmin.show_configuration

Devuelve el ajuste actual que puede establecer mediante el procedimiento almacenado rdsadmin.set_configuration.

Sintaxis

db2 "call rdsadmin.show_configuration( 'name')"

Parámetros

El siguiente parámetro es opcional:

nombre

El nombre del ajuste de configuración sobre el que se va a devolver la información. El tipo de datos es varchar.

Son válidos los siguientes nombres de configuración:

  • RESTORE_DATABASE_NUM_BUFFERS: el número de búferes que se van a crear durante una operación de restauración.

  • RESTORE_DATABASE_PARALLELISM: el número de manipuladores de búferes que se van a crear durante una operación de restauración.

  • RESTORE_DATABASE_NUM_MULTI_PATHS: el número de rutas (o secuencias de E/S) que se van a utilizar durante una operación de restauración desde Amazon S3.

  • USE_STREAMING_RESTORE: especifica si se deben transmitir los datos de la copia de seguridad directamente durante la restauración, en lugar de descargar primero la copia de seguridad completa en la instancia de base de datos de RDS para Db2 y, a continuación, extraerla.

Notas de uso

Si no especifica el nombre de un ajuste de configuración, rdsadmin.show_configuration devuelve la información de todos los ajustes de configuración que puede establecer mediante el procedimiento almacenado rdsadmin.set_configuration.

Ejemplos

En el siguiente ejemplo, se devuelve información sobre la configuración RESTORE_DATABASE_PARALLELISM actual.

db2 "call rdsadmin.show_configuration( 'RESTORE_DATABASE_PARALLELISM')"

rdsadmin.backup_database

Se realiza la copia de seguridad de una base de datos de una instancia de base de datos de RDS para Db2 en un bucket de Amazon S3.

Sintaxis

db2 "call rdsadmin.backup_database( ?, 'database_name', 's3_bucket_name', 's3_prefix', 'backup_type', 'compression_option', 'util_impact_priority', 'num_files', 'parallelism', 'num_buffers')"

Parámetros

El siguiente parámetro de salida es obligatorio:

?

Un marcador de parámetros que genera un mensaje de error. Este parámetro solo acepta ?.

Se requieren los siguientes parámetros de entrada:

database_name

El nombre de la base de datos de destino en una instancia de base de datos de RDS para Db2 de la que se va a realizar una copia de seguridad. El tipo de datos es varchar.

La base de datos debe existir en la instancia de base de datos. No se puede hacer una copia de seguridad de la base de datos de rdsadmin.

s3_bucket_name

El nombre del bucket de Amazon S3 donde desea que resida la copia de seguridad. El tipo de datos es varchar.

El bucket de S3 debe existir antes de la llamada a rdsadmin.backup_database, estar en la misma Región de AWS que la base de datos de destino de la instancia de base de datos de RDS para Db2 de la que desee realizar una copia de seguridad y ser accesible a través del rol de IAM asociado a la instancia de base de datos.

s3_prefix

El prefijo de la ruta a Amazon S3, donde RDS para Db2 carga los archivos de copia de seguridad. El tipo de datos es varchar.

El prefijo se limita a 1024 caracteres. No debe incluir una barra inicial o final (/). Debido a una limitación con la transmisión de IBM a Amazon S3, recomendamos que el prefijo incluya subdirectorios.

Para una mejor administración de los archivos, RDS para Db2 crea directorios adicionales después de s3_prefix. RDS para Db2 carga todos los archivos de copia de seguridad en s3_prefix/dbi_resource_id/db_name. Si establece el num_files por encima de 1, el directorio de db_name contendrá más de un archivo de copia de seguridad.

A continuación, se muestra un ejemplo de ubicación de Amazon S3 para los archivos de copia de seguridad. En el ejemplo, backups/daily es el valor establecido para el parámetro s3_prefix.

backups/daily/db-5N7FXOY4GDP7RG2NSH2ZTAI2W4/SAMPLEDB
backup_type

El tipo de copia de seguridad que determina si la base de datos permanece disponible durante la copia de seguridad. El tipo de datos es varchar.

Valores válidos:

  • OFFLINE: la base de datos no está disponible durante la copia de seguridad. Este tipo es más rápido, pero provoca tiempo de inactividad.

  • ONLINE: la base de datos permanece disponible durante la copia de seguridad. De forma predeterminada, ONLINE está establecido en INCLUDE LOGS.

Los siguientes parámetros son opcionales:

compression_option

El tipo de algoritmo de compresión utilizado que afecta al tiempo de copia de seguridad, al uso de la CPU y a los costos de almacenamiento. El tipo de datos es varchar. El valor predeterminado es NONE.

Valores válidos:

  • NONE: el tamaño de archivo más grande, el menor uso de la CPU y los costes de almacenamiento más económicos.

  • STANDARD: compresión de Db2 estándar. Usa libdb2compr.so.

  • ZLIB: compresión de Db2 mejorada. Usa libdb2zcompr.so, pero consume más CPU y el costo de almacenamiento más caro.

util_impact_priority

La configuración que controla el impacto de la copia de seguridad en los recursos del sistema. El tipo de datos es integer. Valores válidos: 1 - 100 (de menor a mayor). El valor predeterminado es 50.

Los valores más bajos reducen el impacto de la copia de seguridad en los recursos del sistema, pero pueden aumentar el tiempo necesario para realizar la copia de seguridad de la base de datos. Los valores más altos podrían completar la copia de seguridad de la base de datos con mayor rapidez, pero podrían afectar a otras operaciones. El impacto real depende del uso general del sistema y de la configuración de util_impact_lim. Puede ver y modificar los ajustes de util_impact_lim en grupos de parámetros. Para obtener más información, consulte Parámetros de Amazon RDS para Db2.

num_files

El número de transmisiones de carga paralelas a Amazon S3. El tipo de datos es integer. Valores válidos: 1-256.

Le recomendamos que solo establezca este parámetro después de observar el rendimiento de la copia de seguridad en los valores predeterminados que Amazon RDS calcula automáticamente. Los valores más altos podrían mejorar el rendimiento de las copias de seguridad de gran tamaño, especialmente con conexiones de gran ancho de banda, pero en un momento determinado, los valores más altos reducen el rendimiento. Además, asegúrese de tener en cuenta los recursos del sistema disponibles y la capacidad de la red.

paralelismo

El número de espacios de tabla que la utilidad de copia de seguridad puede leer en paralelo. El tipo de datos es integer. Valores válidos: 1-256.

Le recomendamos que solo establezca este parámetro después de observar el rendimiento de la copia de seguridad en los valores predeterminados que el motor de Db2 calcula automáticamente como valor óptimo. Si establece este parámetro, Amazon RDS lo valida con los procesadores disponibles y no ejecutará la solicitud de copia de seguridad si la potencia de procesamiento es insuficiente.

num_buffers

El número de búferes que se van a utilizar. El tipo de datos es integer. Valores válidos: 1-268435456.

Le recomendamos que solo establezca este parámetro después de observar el rendimiento de la copia de seguridad en los valores predeterminados que Amazon RDS calcula automáticamente en función de la memoria. Si establece este parámetro, Amazon RDS lo valida con la memoria disponible y no ejecutará la solicitud de copia de seguridad si la memoria disponible es insuficiente. Si va a realizar copias de seguridad en varias ubicaciones (num_files está configurado en más de 1), un mayor número de búferes podría mejorar el rendimiento. Si no está configurado compression_option en NONE, puede mejorar el rendimiento aumentando num_buffers y parallelism.

Notas de uso

Este procedimiento almacenado crea tareas de copia de seguridad asíncronas que transmiten la copia de seguridad de la base de datos directamente al bucket de Amazon S3 mediante la integración de Amazon S3. Puede realizar copias de seguridad desde el servidor local o desde una instancia de base de datos de RDS para Db2, transmitirlas a Amazon S3 y, a continuación, restaurarlas cuando lo desee. Para obtener información acerca de cómo restaurar una base de datos a una instancia de base de datos de RDS para Db2, consulte rdsadmin.restore_database.

Antes de llamar al procedimiento almacenado, tenga en cuenta lo siguiente:

Antes de llamar a rdsadmin.backup_database, debe conectarse a la base de datos rdsadmin. En el siguiente ejemplo, sustituya master_username y master_password por la información de su instancia de base de datos de RDS para Db2:

db2 connect to rdsadmin user master_username using master_password

Después de hacer una copia de seguridad de la base de datos, asegúrese de terminar la conexión.

terminate

Para obtener más información sobre cómo comprobar el estado de la copia de seguridad de una base de datos, consulte rdsadmin.get_task_status.

Para ver los mensajes de error devueltos al llamar a rdsadmin.backup_database, consulte Errores en los procedimientos almacenados.

Ejemplos

Todos los ejemplos hacen una copia de seguridad de una base de datos llamada MYDB en el bucket de Amazon S3 llamado amzn-s3-demo-bucket y configuran el s3_prefix en backups/daily.

Ejemplo n.º 1: especificación de una base de datos fuera de línea y no disponible con un uso medio y un único flujo de carga

En el siguiente ejemplo, la base de datos está fuera de línea, lo que es más rápido, pero significa que la base de datos no está disponible durante la copia de seguridad. El ejemplo no comprime los archivos, tiene un impacto medio en los recursos del sistema y utiliza una única transmisión de carga a Amazon S3.

db2 call "rdsadmin.backup_database( ?, 'MYDB', 'amzn-s3-demo-bucket', 'backups/daily', 'OFFLINE', 'NONE', 50, 1)"

Ejemplo n.º 2: especificación de una base de datos en línea y disponible con compresión mejorada, utilización media y pocos flujos de carga paralelos

En el siguiente ejemplo, la base de datos está en línea y disponible durante la copia de seguridad. En el ejemplo se realiza una compresión mejorada, lo que se traduce en un tamaño de archivo pequeño, pero requiere un uso intensivo de la CPU. Tiene un impacto ligeramente superior a la media en los recursos del sistema y utiliza cinco flujos de carga a Amazon S3.

db2 call "rdsadmin.backup_database( ?, 'MYDB', 'amzn-s3-demo-bucket', 'backups/daily', 'ONLINE', 'ZLIB', 60, 5)"

Ejemplo n.º 3: especificación de una base de datos sin conexión y no disponible con valores predeterminados y cálculos del sistema

En el siguiente ejemplo, la base de datos está fuera de línea, lo que es más rápido, pero significa que la base de datos no está disponible durante la copia de seguridad. En el ejemplo, se utiliza la compresión predeterminada de los archivos, lo que afecta a los recursos del sistema. También permite a RDS para Db2 calcular el número de flujos de carga paralelos a Amazon S3, los espacios de tablas que se deben leer en paralelo y los búferes que se deben utilizar.

db2 "call rdsadmin.backup_database( ?, 'MYDB', 'amzn-s3-demo-bucket', 'backups/daily', 'OFFLINE')"

Ejemplo n.º 4: especificación de una base de datos sin conexión y no disponible sin compresión, con una utilización alta y con cálculos personalizados

En el siguiente ejemplo, la base de datos está fuera de línea, lo que es más rápido, pero significa que la base de datos no está disponible durante la copia de seguridad. El ejemplo no comprime los archivos, tiene un impacto alto en los recursos del sistema y utiliza 20 transmisiones de carga a Amazon S3. Establece el número máximo de espacios de tablas para leer en paralelo, lo que puede provocar que la solicitud de copia de seguridad produzca un error si la potencia de procesamiento es insuficiente. También establece el número máximo de búferes que se deben utilizar, lo que puede provocar un error en la solicitud de copia de seguridad si la memoria es insuficiente.

db2 "call rdsadmin.backup_database( ?, 'MYDB', 'amzn-s3-demo-bucket', 'backups/daily', 'OFFLINE', 'NONE', 90, 20, 256, 268435456)"

rdsadmin.restore_database

Restablece una base de datos de un bucket de Amazon S3 a una instancia de base de datos de RDS para Db2.

Sintaxis

db2 "call rdsadmin.restore_database( ?, 'database_name', 's3_bucket_name', 's3_prefix', restore_timestamp, 'backup_type')"

Parámetros

El siguiente parámetro de salida es obligatorio:

?

Un marcador de parámetros que genera un mensaje de error. Este parámetro solo acepta ?.

Se requieren los siguientes parámetros de entrada:

database_name

El nombre de la base de datos de destino que se va a restaurar en RDS para Db2. El tipo de datos es varchar.

Por ejemplo, si el nombre de la base de datos de origen era TESTDB y usted estableció database_name en NEWDB, Amazon RDS restaura NEWDB como la base de datos de origen.

s3_bucket_name

El nombre del bucket de Amazon S3 donde se almacena su copia de seguridad. El tipo de datos es varchar.

s3_prefix

El prefijo que se utilizará para la coincidencia de archivos durante la descarga. El tipo de datos es varchar.

Si este parámetro está vacío, se procesarán todos los archivos del bucket de Amazon S3. A continuación, se muestra un prefijo de ejemplo:

backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101
restore_timestamp

La marca de tiempo de la imagen de copia de seguridad de la base de datos. El tipo de datos es varchar.

La marca de tiempo se incluye en el nombre del archivo de copia de seguridad. Por ejemplo, 20230615010101 es la marca de tiempo del nombre del archivo SAMPLE.0.rdsdb.DBPART000.20230615010101.001.

backup_type

El tipo de copia de seguridad. El tipo de datos es varchar. Valores válidos: OFFLINE, ONLINE.

Use ONLINE para migraciones con un tiempo de inactividad prácticamente nulo Para obtener más información, consulte Migración de Linux a Linux con un tiempo de inactividad prácticamente nulo para Amazon RDS para Db2.

Notas de uso

Puede utilizar este procedimiento almacenado para migrar una base de datos Db2 a una instancia de base de datos de RDS para Db2. Para obtener más información, consulte Uso de servicios de AWS para migrar datos de Db2 a Amazon RDS para Db2. También puede utilizar este procedimiento almacenado para crear varias copias de la misma base de datos con diferentes nombres de base de datos que utilicen la misma imagen de restauración.

Antes de llamar al procedimiento almacenado, tenga en cuenta lo siguiente:

  • Antes de restaurar una base de datos, debe aprovisionar un espacio de almacenamiento para la instancia de base de datos de RDS para Db2 que sea mayor que la base de datos de Db2 original en el disco. Si ha habilitado USE_STREAMING_RESTORE, cuando restaure la copia de seguridad, Amazon RDS transmite los archivos de copia de seguridad directamente desde el bucket de S3 a la instancia de base de datos de RDS para Db2. Si no habilita USE_STREAMING_RESTORE, debe aprovisionar un espacio de almacenamiento para la instancia de base de datos de RDS para Db2 que sea igual o mayor que la suma del tamaño de la copia de seguridad más la base de datos Db2 original en el disco. Para obtener más información, consulte Insufficient disk space.

  • Al restaurar la copia de seguridad, Amazon RDS extrae el archivo de copia de seguridad de la instancia de base de datos de RDS para Db2. Cada archivo de copia de seguridad debe tener 5 TB o menos. Si un archivo de copia de seguridad supera los 5 TB, debe dividir el archivo de copia de seguridad en archivos más pequeños.

  • Para restaurar todos los archivos con el procedimiento almacenado rdsadmin.restore_database, no incluya el sufijo del número de archivo después de la marca de tiempo en los nombres de los archivos. Por ejemplo, el s3_prefix backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101 restaura los siguientes archivos:

    SAMPLE.0.rdsdb.DBPART000.20230615010101.001 SAMPLE.0.rdsdb.DBPART000.20230615010101.002 SAMPLE.0.rdsdb.DBPART000.20230615010101.003 SAMPLE.0.rdsdb.DBPART000.20230615010101.004 SAMPLE.0.rdsdb.DBPART000.20230615010101.005
  • RDS para Db2 no admite almacenamiento no automático. Para obtener más información, consulte Tablespaces not restored.

  • RDS para Db2 no admite la creación de rutinas no restringidas. Para obtener más información, consulte Non-fenced routines not allowed.

  • Para mejorar el rendimiento de las operaciones de restauración de bases de datos, puede configurar el número de búferes, manipuladores de búferes y el número de rutas de varias copias de seguridad que utilizará RDS. Para optimizar el uso del almacenamiento y mejorar potencialmente el rendimiento, también puede transmitir directamente una copia de seguridad desde Amazon S3. Para comprobar la configuración actual, utilice rdsadmin.show_configuration. Para cambiar la configuración, utilice rdsadmin.set_configuration.

Para poner la base de datos en línea y aplicar registros de transacciones adicionales después de restaurarla, consulte rdsadmin.rollforward_database.

Para obtener más información sobre cómo comprobar el estado de restauración de su base de datos, consulte rdsadmin.get_task_status.

Para ver los mensajes de error devueltos al llamar a rdsadmin.restore_database, consulte Errores en los procedimientos almacenados.

Ejemplos

El siguiente ejemplo restaura una copia de seguridad sin conexión con uno o varios archivos que tienen el s3_prefix:backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101

db2 "call rdsadmin.restore_database( ?, 'SAMPLE', 'amzn-s3-demo-bucket', 'backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101', 20230615010101, 'OFFLINE')"

rdsadmin.rollforward_database

Pone la base de datos en línea y aplicar registros de transacciones adicionales después de restaurar una base de datos llamando a rdsadmin.restore_database.

Sintaxis

db2 "call rdsadmin.rollforward_database( ?, 'database_name', 's3_bucket_name', s3_prefix, 'rollforward_to_option', 'complete_rollforward')"

Parámetros

El siguiente parámetro de salida es obligatorio:

?

Un marcador de parámetros que genera un mensaje de error. Este parámetro solo acepta ?.

Se requieren los siguientes parámetros de entrada:

database_name

Nombre de la base de datos en la que se va a realizar la operación. El tipo de datos es varchar.

s3_bucket_name

El nombre del bucket de Amazon S3 donde se almacena su copia de seguridad. El tipo de datos es varchar.

s3_prefix

El prefijo que se utilizará para la coincidencia de archivos durante la descarga. El tipo de datos es varchar.

Si este parámetro está vacío, se descargarán todos los archivos del bucket de S3. A continuación, se muestra un ejemplo de prefijo:

backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101

Los siguientes parámetros de entrada son opcionales:

rollforward_to_option

El punto al que desee realizar la puesta al día. El tipo de datos es varchar. Valores válidos: END_OF_LOGS, END_OF_BACKUP con la marca temporal en el formato YYYY-MM-DD-HH.MM.SS. El valor predeterminado es END_OF_LOGS.

complete_rollforward

Especifica si se debe completar el proceso de puesta al día. El tipo de datos es varchar. El valor predeterminado es TRUE.

Si es TRUE, una vez finalizado el proceso, la base de datos está en línea y accesible. Si es FALSE, entonces la base de datos permanece en el estado ROLL-FORWARD PENDING.

Notas de uso

Puede utilizar rds.rollforward_database como copia de seguridad en línea e incluir registros que se generan en las instalaciones en muchos escenarios diferentes.

Escenario 1: restauración de la base de datos, actualización de los registros incluidos y puesta en línea de la base de datos

Una vez completo rdsadmin.restore_database(), utilice la sintaxis del Ejemplo 1 para poner en línea la base de datos con los registros de transacciones.

Escenario 2: puesta en línea de la base de datos, pero no actualización de los registros incluidos.

Una vez completo rdsadmin.restore_database(), utilice la sintaxis del Ejemplo 2 para poner en línea la base de datos sin los registros de transacciones.

Escenario 3: continuar con los registros incluidos en la copia de seguridad y aplicar registros de transacciones adicionales a medida que se producen en las instalaciones

Una vez completo rdsadmin.restore_database(), utilice la sintaxis del Ejemplo 3 o Ejemplo 4 para recuperar los registros sin poner la base de datos en línea.

Si configura complete_rollforward como FALSE la base de datos estará en el estado ROLL-FORWARD PENDING y sin conexión. Para poner la base de datos en línea, debe llamar a rdsadmin.complete_rollforward.

Para obtener información sobre cómo comprobar el estado de puesta al día de una base de datos, consulte rdsadmin.rollforward_status.

Ejemplos

Ejemplo 1: Puesta en línea de una base de datos con registros de transacciones

El siguiente ejemplo pone al día una base de datos desde una copia de seguridad en línea con los registros de transacciones y pone la base de datos en línea:

db2 "call rdsadmin.rollforward_database( ?, null, null, 'END_OF_LOGS', 'TRUE')"

Ejemplo 2: puesta en línea de una base de datos sin registros de transacciones

El siguiente ejemplo pone al día una base de datos desde una copia de seguridad en línea sin los registros de transacciones y pone la base de datos en línea:

db2 "call rdsadmin.rollforward_database( ?, 'TESTDB', 'amzn-s3-demo-bucket', 'logsfolder/, 'END_OF_BACKUP', 'TRUE')"

Ejemplo 3: no puesta en línea de la base de datos con registros de transacciones

El siguiente ejemplo pone al día una base de datos desde una copia de seguridad en línea con los registros de transacciones y luego no pone la base de datos en línea:

db2 "call rdsadmin.rollforward_database( ?, 'TESTDB', null, 'onlinebackup/TESTDB', 'END_OF_LOGS', 'FALSE')"

Ejemplo 4: no puesta en línea de la base de datos con registros de transacciones adicionales

El siguiente ejemplo pone al día una base de datos desde una copia de seguridad en línea con los registros de transacciones adicionales y luego no pone la base de datos en línea:

db2 "call rdsadmin.rollforward_database( ?, 'TESTDB', 'amzn-s3-demo-bucket', 'logsfolder/S0000155.LOG', 'END_OF_LOGS', 'FALSE')"

rdsadmin.rollforward_status

Devuelve el resultado de ROLLFORWARD DATABASE database_name QUERY STATUS.

Sintaxis

db2 "call rdsadmin.rollforward_status( ?, 'database_name')"

Parámetros

El siguiente parámetro de salida es obligatorio:

?

Un marcador de parámetros que genera un mensaje de error. Este parámetro solo acepta ?.

El siguiente parámetro de entrada es obligatorio:

database_name

Nombre de la base de datos en la que se va a realizar la operación. El tipo de datos es varchar.

Notas de uso

Después de llamar a rdsadmin.rollforward_database, puede llamar a rdsadmin.rollforward_status para comprobar el estado de la acumulación en la base de datos.

Para obtener información sobre cómo comprobar el estado de este procedimiento almacenado, consulte rdsadmin.get_task_status.

rdsadmin.complete_rollforward

Pone en línea la base de datos desde un estado ROLL-FORWARD PENDING.

Sintaxis

db2 "call rdsadmin.complete_rollforward( ?, 'database_name')"

Parámetros

El siguiente parámetro de salida es obligatorio:

?

Un marcador de parámetros que genera un mensaje de error. Este parámetro solo acepta ?.

El siguiente parámetro de entrada es obligatorio:

database_name

El nombre de la base de datos que quiera poner en línea. El tipo de datos es varchar.

Notas de uso

Si llamó a rdsadmin.rollforward_database con complete_rollforward configurado como FALSE, la base de datos está en un estado ROLL-FORWARD PENDING y sin conexión. Para completar el proceso de puesta al día y poner la base de datos en línea, llame a rdsadmin.complete_rollforward.

Para obtener información sobre cómo comprobar el estado de finalización del proceso de avance, consulte rdsadmin.rollforward_status.

Ejemplos

El siguiente ejemplo pone la base de datos TESTDB en línea:

db2 "call rdsadmin.complete_rollforward( ?, 'TESTDB')"

rdsadmin.db2pd_command

Recopila información sobre una base de datos de RDS para Db2.

Sintaxis

db2 "call rdsadmin.db2pd_command('db2pd_cmd')"

Parámetros

El siguiente parámetro de entrada es obligatorio:

db2pd_cmd

El nombre del comando db2pd que desea ejecutar. El tipo de datos es varchar.

El parámetro debe comenzar con un guion. Para obtener una lista de parámetros, consulte db2pd - Monitor and troubleshoot Db2 database command en la documentación de IBM Db2.

Las siguientes opciones no son compatibles:

  • -addnode

  • -alldatabases

  • -alldbp

  • -alldbs

  • -allmembers

  • -alm_in_memory

  • -cfinfo

  • -cfpool

  • -command

  • -dbpartitionnum

  • -debug

  • -dump

  • -everything

  • -file | -o

  • -ha

  • -interactive

  • -member

  • -pages

    nota

    -pages summaryCompatible con .

  • -pdcollection

  • -repeat

  • -stack

  • -totalmem

La subopción file no es compatible; por ejemplo, db2pd -db testdb -tcbstats file=tcbstat.out.

El uso de la opción stacks no es compatible; por ejemplo, db2pd -edus interval=5 top=10 stacks.

Notas de uso

Este procedimiento almacenado recopila información que puede ayudar a supervisar y solucionar problemas de bases de datos de RDS para Db2.

El procedimiento almacenado utiliza la utilidad db2pd de IBM para ejecutar varios comandos. La utilidad db2pd requiere una autorización SYSADM, que el usuario maestro de RDS para Db2 no tiene. Sin embargo, con el procedimiento almacenado de Amazon RDS, el usuario maestro puede utilizar la utilidad para ejecutar varios comandos. Para obtener más información acerca de la utilidad, consulte db2pd - Monitor and troubleshoot Db2 database command en la documentación de IBM Db2.

El resultado está restringido a un máximo de 2 GB.

Para obtener información sobre cómo comprobar el estado de la recopilación de información sobre la base de datos, consulte rdsadmin.get_task_status.

Ejemplos

Ejemplo 1: devolución del tiempo de actividad de la instancia de base de datos

El siguiente ejemplo devuelve el tiempo de actividad de una instancia de base de datos de RDS para Db2:

db2 "call rdsadmin.db2pd_command('-')"

Ejemplo 2: devolución del tiempo de actividad de la base de datos

El siguiente ejemplo devuelve el tiempo de actividad de una base de datos denominada:TESTDB

db2 "call rdsadmin.db2pd_command('-db TESTDB -')"

Ejemplo 3: devolución del uso de memoria de la instancia de base de datos

El siguiente ejemplo devuelve el uso de memoria de una instancia de base de datos de RDS para Db2:

db2 "call rdsadmin.db2pd_command('-dbptnmem')"

Ejemplo 4: devolución de conjuntos de memoria de una instancia de base de datos y una base de datos

El siguiente ejemplo devuelve los conjuntos de memoria de una instancia de base de datos de RDS para Db2 y una base de datos denominada:TESTDB

db2 "call rdsadmin.db2pd_command('-inst -db TESTDB -memsets')"

rdsadmin.force_application

Fuerza a las aplicaciones a salir de una base de datos de RDS para Db2.

Sintaxis

db2 "call rdsadmin.force_application( ?, 'applications')"

Parámetros

El siguiente parámetro de salida es obligatorio:

?

Un marcador de parámetros que genera un mensaje de error. Este parámetro solo acepta ?.

El siguiente parámetro de entrada es obligatorio:

aplicaciones

Las aplicaciones que quiere forzar a que salgan de una base de datos de RDS para Db2. El tipo de datos es varchar. Valores válidos: ALL o application_handle.

Separe los nombres de varias aplicaciones con comas. Ejemplo: 'application_handle_1, application_handle_2'.

Notas de uso

Este procedimiento almacenado obliga a todas las aplicaciones a salir de una base de datos para que pueda realizar el mantenimiento.

El procedimiento almacenado utiliza el comando FORCE APPLICATION de IBM. El comando FORCE APPLICATION requiere autorización SYSADM, SYSMAINT o SYSCTRL que el usuario maestro de RDS para Db2 no tiene. Sin embargo, con el procedimiento almacenado de Amazon RDS, el usuario maestro puede utilizar el comando. Para obtener más información, consulte FORCE APPLICATION command en la documentación de IBM Db2.

Para obtener información sobre cómo comprobar el estado al obligar la salida de aplicaciones de una base de datos, consulte rdsadmin.get_task_status.

Ejemplos

Ejemplo 1: especificación de todas las aplicaciones

El siguiente ejemplo fuerza a todas las aplicaciones a salir de una base de datos de RDS para Db2:

db2 "call rdsadmin.force_application( ?, 'ALL')"

Ejemplo 2: especificación de varias aplicaciones

El siguiente ejemplo obliga a los controladores de aplicaciones 9991, 8891 y 1192 a salir de una base de datos de RDS para Db2:

db2 "call rdsadmin.force_application( ?, '9991, 8891, 1192')"

rdsadmin.set_archive_log_retention

Configura la cantidad de tiempo (en horas) que se conservarán los archivos de registro de la base de datos de RDS para Db2 especificada.

Sintaxis

db2 "call rdsadmin.set_archive_log_retention( ?, 'database_name', 'archive_log_retention_hours')"

Parámetros

El siguiente parámetro de salida es obligatorio:

?

Un marcador de parámetros que genera un mensaje de error. Este parámetro solo acepta ?.

Se requieren los siguientes parámetros de entrada:

database_name

El nombre de la base de datos para la que se configura la retención de registros de archivo. El tipo de datos es varchar.

archive_log_retention_hours

El número de horas que se van a conservar los archivos de registros de archivo. El tipo de datos es smallint. El valor predeterminado es 0 y el máximo es 168 (7 días).

Si el valor es 0, Amazon RDS no conserva los archivos de registro de archivo.

Notas de uso

De forma predeterminada, RDS para Db2 retiene los registros durante 5 minutos. Si utiliza herramientas de replicación, como AWS DMS para la captura de datos de cambios (CDC) o IBM Q Replication, le recomendamos que configure la retención de registros en esas herramientas para más de 5 minutos.

Puede ver la configuración actual de conservación de registros de archivo llamando a rdsadmin.show_archive_log_retention.

No puede configurar el ajuste de retención de registros de archivos en la base de datos rdsadmin.

Ejemplos

Ejemplo 1: establecimiento del tiempo de retención

El siguiente ejemplo ajusta el tiempo de conservación de registros de archivo para una base de datos denominada TESTDB en 24 horas.

db2 "call rdsadmin.set_archive_log_retention( ?, 'TESTDB', '24')"

Ejemplo 2: desactivación del tiempo de retención

El siguiente ejemplo deshabilita la conservación de registros de archivo para una base de datos denominada TESTDB.

db2 "call rdsadmin.set_archive_log_retention( ?, 'TESTDB', '0')"

rdsadmin.show_archive_log_retention

Devuelve la configuración actual de retención de registros de archivo de la base de datos especificada.

Sintaxis

db2 "call rdsadmin.show_archive_log_retention( ?, 'database_name')"

Parámetros

El siguiente parámetro de salida es obligatorio:

?

Un marcador de parámetros que genera un mensaje de error. Este parámetro solo acepta ?.

El siguiente parámetro de entrada es obligatorio:

database_name

El nombre de la base de datos para la que se muestra la configuración de la conservación de registros de archivo. El tipo de datos es varchar.

Ejemplos

El siguiente ejemplo muestra el ajuste de conservación de registros de archivo para una base de datos denominada TESTDB.

db2 "call rdsadmin.show_archive_log_retention( ?, 'TESTDB')"

rdsadmin.list_archive_log_information

Devuelve detalles sobre los archivos de registro de archivo, como el tamaño, la fecha y hora de creación y el nombre de los archivos de registro individuales de la base de datos especificada. También devuelve la cantidad total de almacenamiento utilizada por los archivos de registro de la base de datos.

Sintaxis

db2 "call rdsadmin.list_archive_log_information( ?, 'database_name')"

Parámetros

El siguiente parámetro de salida es obligatorio:

?

Un marcador de parámetros que genera un mensaje de error. Este parámetro solo acepta ?.

El siguiente parámetro de entrada es obligatorio:

database_name

El nombre de la base de datos para la que se va a mostrar la información de registro de archivo. El tipo de datos es varchar.

Ejemplos

El siguiente ejemplo devuelve información de registros de archivo para una base de datos denominada TESTDB.

db2 "call rdsadmin.list_archive_log_information( ?, 'TESTDB')"

rdsadmin.fgac_command

Ejecuta comandos de control de acceso preciso (FGAC).

Sintaxis

db2 "call rdsadmin.fgac_command( ?, 'database_name', 'fgac_cmd')"

Parámetros

El siguiente parámetro de salida es obligatorio:

?

Un marcador de parámetros que genera un mensaje de error. Este parámetro solo acepta ?.

Se requieren los siguientes parámetros de entrada:

database_name

El nombre de la base de datos en la que desea ejecutar comandos de FGAC. El tipo de datos es varchar.

fgac_cmd

El comando de control de acceso preciso que desea ejecutar. El tipo de datos es varchar.

Los comandos siguientes son válidos:

  • ALTER MASK: modifica una máscara de columna existente en el control de acceso por filas y columnas (RCAC).

  • ALTER PERMISSION: modifica las propiedades de un permiso de fila existente en el RCAC.

  • ALTER SECURITY POLICY: modifica una política de seguridad existente para el RCAC.

  • ALTER SECURITY LABEL: modifica las propiedades de una etiqueta de seguridad existente en el control de acceso basado en etiquetas (LBAC).

  • ALTER TABLE: modifica la estructura de la tabla, incluida la agregación de controles RCAC o LBAC.

  • CREATE MASK: crea una nueva máscara de columna para el RCAC.

  • CREATE PERMISSION: crea un nuevo permiso de fila para el RCAC.

  • CREATE SECURITY LABEL: crea una nueva etiqueta de seguridad para el LBAC.

  • CREATE SECURITY POLICY: crea una nueva política de seguridad para el RCAC.

  • DROP MASK: elimina una máscara de columna existente.

  • DROP PERMISSION: elimina un permiso de fila existente.

  • DROP SECURITY LABEL: elimina una etiqueta de seguridad del LBAC.

  • DROP SECURITY POLICY: elimina una política de seguridad existente del RCAC.

  • GRANT EXEMPTION ON RULE: permite al usuario eludir reglas específicas del LBAC.

  • GRANT SECURITY LABEL: asigna una etiqueta de seguridad de LBAC a un usuario.

  • REVOKE EXEMPTION ON RULE: elimina la exención de un usuario de las normas del LBAC.

  • REVOKE SECURITY LABEL: elimina una etiqueta de seguridad del LBAC de un usuario.

Notas de uso

Este procedimiento almacenado controla el acceso por fila o columna a los datos de tabla de la base de datos en una instancia de base de datos de RDS para Db2. RDS para Db2 admite dos tipos de FGAC en la base de datos:

  • control de acceso basado en etiquetas (LBAC)

  • control de acceso por filas y columnas (RCAC)

Antes de llamar al procedimiento almacenado, tenga en cuenta lo siguiente:

  • Para evitar una comilla simple (‘), utilice una comilla simple adicional. Los siguientes ejemplos muestran cómo evitar 'apple', 'banana' y 'fruit'.

    db2 "call rdsadmin.fgac_command( ?, 'testdb', 'CREATE SECURITY LABEL COMPONENT FRUITSET SET{''apple'',''banana''}')"
    db2 "call rdsadmin.fgac_command( ?, 'testdb', 'CREATE SECURITY LABEL COMPONENT FRUITTREE TREE(''fruit'' ROOT, ''apple'' UNDER ''fruit'', ''banana'' UNDER ''fruit'')')"
  • Para evitar los corchetes ([ ]), utilice una barra invertida (\). En el siguiente ejemplo, se muestra cómo evitar [''apple'',''banana''].

    db2 "call rdsadmin.fgac_command( ?, ' testdb', 'CREATE SECURITY LABEL COMPONENT FRUITARRAY ARRAY\[''apple'',''banana''\]')"

Ejemplos

Todos los ejemplos siguientes ejecutan comandos de FGAC en una base de datos llamada testdb.

Ejemplo 1: creación de una nueva etiqueta de seguridad llamada FRUITSET

db2 "call rdsadmin.fgac_command( ?, 'testdb', 'CREATE SECURITY LABEL COMPONENT FRUITSET SET{''apple'',''banana''}')"

Ejemplo 2: creación de una nueva máscara para la columna EMP_ID que está habilitada cuando EMP_ID está configurado en menos de tres

db2 "call rdsadmin.fgac_command( ?, 'testdb', 'CREATE MASK id_MASK ON EMPLOYEE FOR COLUMN EMP_ID RETURN CASE WHEN (EMP_ID < 3) THEN EMP_ID ELSE NULL END ENABLE')"

Ejemplo 3: creación de una nueva máscara para la columna DEPARTMENT que está habilitada cuando SESSION_USER está configurado en security_user

db2 "call rdsadmin.fgac_command( ?, 'testdb', 'CREATE MASK DEPARTMENT_MASK ON EMPLOYEE FOR COLUMN DEPARTMENT RETURN CASE WHEN SESSION_USER = ''security_user'' THEN DEPARTMENT ELSE NULL END ENABLE')"

Ejemplo 4: creación de una nueva etiqueta de seguridad llamada treelabel

db2 "call rdsadmin.fgac_command( ?, 'testdb', 'CREATE SECURITY LABEL COMPONENT treelabel TREE(''COMPANY'' ROOT, ''HR'' UNDER ''COMPANY'', ''FINANCE'' UNDER ''COMPANY'', ''IT'' UNDER ''COMPANY'')')"