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.
Procedimientos almacenados
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
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 esinteger. El valor predeterminado es8192.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 esUTF-8. database_territory-
El código de dos letras de la base de datos. El tipo de datos es
varchar. El valor predeterminado esUS. 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 #26en el sitio web de Unicode Consortium. -
NLSCHAR: solo para su uso con la página de códigos en tailandés (CP874). -
SYSTEM: si utilizaSYSTEM, la base de datos utiliza automáticamente la secuencia de intercalación paradatabase_codesetydatabase_territory.
El valor predeterminado es
IDENTITY.Además, RDS para Db2 admite los siguientes grupos de intercalaciones:
language-aware-collationylocale-sensitive-collation. Para obtener más información, consulte Choosing a collation for a Unicode databaseen la documentación de IBM Db2. -
database_autoconfigure_str-
La sintaxis del comando
AUTOCONFIGURE, por ejemplo,'AUTOCONFIGURE APPLY DB'. El tipo de datos esvarchar. 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 esN.Valores válidos:
-
N: la base de datos creada es restrictiva y no concede autoridades ni privilegios. -
Y: la base de datos creada no es restrictiva y concede un conjunto de permisos al grupo especialPUBLIC. Para obtener más información, consulte los privilegios predeterminados que se conceden al crear una base de datosen la documentación de IBM Db2.
-
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 DATABASEenviado a la instancia de Db2 usa la opciónRESTRICTIVE. -
RDS para Db2 solo usa espacios de tabla
AUTOMATIC STORAGE. -
RDS para Db2 usa los valores predeterminados para
NUMSEGSyDFT_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
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 usermaster_usernameusingmaster_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 usermaster_usernameusingmaster_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 modificarlogprimaryylogfilsiz, 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 |
|---|---|
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
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 ens3_prefix/dbi_resource_id/db_name. Si establece elnum_filespor encima de1, el directorio dedb_namecontendrá 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/dailyes el valor establecido para el parámetros3_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,ONLINEestá establecido enINCLUDE 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 esNONE.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. Usalibdb2compr.so. -
ZLIB: compresión de Db2 mejorada. Usalibdb2zcompr.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 es50.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 deutil_impact_limen 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_filesestá configurado en más de1), un mayor número de búferes podría mejorar el rendimiento. Si no está configuradocompression_optionenNONE, puede mejorar el rendimiento aumentandonum_buffersyparallelism.
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:
-
Solo puede realizar la copia de seguridad de una base de datos a la vez.
-
No puede realizar una copia de seguridad y una restauración juntas en una instancia de base de datos.
-
El cifrado del servidor de Amazon S3 con AWS KMS (SSE-KMS) no se admite. Incluso si el bucket de S3 está configurado como SSE-KMS, los archivos cargados en el bucket de S3 no utilizarán el cifrado de SSE-KMS.
-
Para transmitir los archivos de copia de seguridad a Amazon S3, debe haber configurado previamente la integración. Para obtener más información, consulte Integración de una instancia de base de datos de Amazon RDS para Db2 con Amazon S3.
-
Para que una instancia de base de datos de RDS para Db2 interactúe con Amazon S3, debe tener una VPC y un punto de conexión de puerta de enlace de Amazon S3 para que lo utilicen las subredes privadas. Para obtener más información, consulte Paso 1: crear un punto de conexión de puerta de enlace de VPC para Amazon S3 y Paso 2: confirme que existe el punto de conexión de la puerta de enlace de Amazon S3.
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 usermaster_usernameusingmaster_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
TESTDBy usted estableciódatabase_nameenNEWDB, Amazon RDS restauraNEWDBcomo 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,
20230615010101es la marca de tiempo del nombre del archivoSAMPLE.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
ONLINEpara 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 habilitaUSE_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, els3_prefixbackupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101restaura 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_BACKUPcon la marca temporal en el formatoYYYY-MM-DD-HH.MM.SS. El valor predeterminado esEND_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 esTRUE.Si es
TRUE, una vez finalizado el proceso, la base de datos está en línea y accesible. Si esFALSE, entonces la base de datos permanece en el estadoROLL-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
db2pdque desea ejecutar. El tipo de datos esvarchar.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 -
-pagesnota
-pages summaryCompatible con . -
-pdcollection -
-repeat -
-stack -
-totalmem
La subopción
fileno es compatible; por ejemplo,db2pd -db testdb -tcbstats file=tcbstat.out.El uso de la opción
stacksno 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
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:ALLoapplication_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
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 es0y el máximo es168(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'')')"