Tareas comunes para bases de datos - Amazon Relational Database Service

Tareas comunes para bases de datos

Puede crear, eliminar o restaurar bases de datos en su instancia de base de datos de RDS para Db2. Crear, eliminar o restaurar bases de datos requiere una autoridad SYSADM de nivel superior, algo que no está disponible para el usuario maestro. En su lugar, utilice procedimientos almacenados de Amazon RDS.

También puede realizar tareas de administración habituales, como la monitorización, el mantenimiento y la recopilación de información sobre sus bases de datos.

Creación de una base de datos

Para crear una base de datos en su instancia de base de datos de RDS para Db2, llame al procedimiento almacenado rdsadmin.create_database. Para obtener más información, consulte Comando CREATE DATABASE en la documentación de IBM Db2.

nota

Puede crear una base de datos llamando al procedimiento almacenado 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 Notas de uso para rdsadmin.create_database.

Para crear una base de datos
  1. Conéctese a la base de datos rdsadmin con el nombre de usuario y la contraseña maestros de su instancia de base de datos de RDS para Db2. En el siguiente ejemplo, sustituya master_username y master_password por su propia información.

    db2 "connect to rdsadmin user master_user using master_password"
  2. Cree una base de datos llamando a rdsadmin.create_database. Para obtener más información, consulte rdsadmin.create_database.

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

Configuración de los ajustes para una base de datos

A fin de configurar los ajustes de una base de datos en su instancia de base de datos de RDS para Db2, llame al procedimiento almacenado rdsadmin.set_configuration. Por ejemplo, puede configurar el número de búferes o manipuladores de búferes que se van a crear durante una operación de restauración.

Configuración de los ajustes de una base de datos
  1. Conéctese a la base de datos rdsadmin con el nombre de usuario y la contraseña maestros de su instancia de base de datos de RDS para Db2. En el siguiente ejemplo, sustituya master_username y master_password por su propia información.

    db2 "connect to rdsadmin user master_user using master_password"
  2. (Opcional) Compruebe cuál es la configuración actual llamando a rdsadmin.show_configuration. Para obtener más información, consulte rdsadmin.show_configuration.

    db2 "call rdsadmin.show_configuration('name')"
  3. Configure los ajustes de la base de datos llamando a rdsadmin.set_configuration. Para obtener más información, consulte rdsadmin.set_configuration.

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

Modificación de los parámetros en una base de datos

Amazon RDS para Db2 utiliza tres tipos de parámetros: parámetros de configuración del administrador de bases de datos, variables de registro y parámetros de configuración de bases de datos. Puede actualizar los dos primeros tipos mediante grupos de parámetros, y el último tipo mediante el procedimiento almacenado rdsadmin.update_db_param.

nota

Solo puede modificar los valores de los parámetros existentes. No se pueden añadir parámetros nuevos que no sean compatibles en RDS para Db2.

Para obtener más información sobre estos parámetros y sobre cómo modificar sus valores, consulte Parámetros de Amazon RDS para Db2.

Configuración de la retención de registros

Para configurar el tiempo que Amazon RDS retiene los archivos de registro de las bases de datos de RDS para Db2, llame al procedimiento almacenado rdsadmin.set_archive_log_retention.

Configuración de la retención de registros de una base de datos
  1. Conéctese a la base de datos rdsadmin con el nombre de usuario y la contraseña maestros de su instancia de base de datos de RDS para Db2. En el siguiente ejemplo, sustituya master_username y master_password por su propia información.

    db2 "connect to rdsadmin user master_user using master_password"
  2. (Opcional) Compruebe cuál es la configuración actual de retención de registros llamando a rdsadmin.show_archive_log_retention. Para obtener más información, consulte rdsadmin.show_archive_log_retention.

    db2 "call rdsadmin.show_archive_log_retention( ?, 'database_name')"
  3. Configure la retención de registros para la base de datos llamando a rdsadmin.set_archive_log_retention. Para obtener más información, consulte rdsadmin.set_archive_log_retention.

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

Eliminación de una base de datos

Para eliminar una base de datos de su instancia de base de datos de RDS para Db2, llame al procedimiento almacenado rdsadmin.drop_database. Para obtener más información, consulte Dropping databases en la documentación de IBM Db2.

nota

Solo puede eliminar una base de datos llamando al procedimiento almacenado si se cumplen las siguientes condiciones: Para obtener más información, consulte Notas de uso para rdsadmin.drop_database.

Eliminación de una base de datos
  1. Conéctese a la base de datos rdsadmin con el nombre de usuario y la contraseña maestros de su instancia de base de datos de RDS para Db2. En el siguiente ejemplo, sustituya master_username y master_password por su propia información.

    db2 "connect to rdsadmin user master_user using master_password"
  2. Elimine una base de datos llamando a rdsadmin.drop_database. Para obtener más información, consulte rdsadmin.drop_database.

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

Restauración de una base de datos

Para restaurar una base de datos en su instancia de base de datos de RDS para Db2, llame al procedimiento almacenado rdsadmin.restore_database. Para obtener más información, consulte Comando RESTORE DATABASE en la documentación de IBM Db2.

nota

Puede restaurar una base de datos llamando al procedimiento almacenado 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 Notas de uso para rdsadmin.restore_database.

Para restaurar una base de datos de
  1. Conéctese a la base de datos rdsadmin con el nombre de usuario y la contraseña maestros de su instancia de base de datos de RDS para Db2. En el siguiente ejemplo, sustituya master_username y master_password por su propia información.

    db2 "connect to rdsadmin user master_user using master_password"
  2. (Opcional) Compruebe cuál es la configuración actual para optimizar la operación de restauración llamando a rdsadmin.show_configuration. Para obtener más información, consulte rdsadmin.show_configuration.

    db2 "call rdsadmin.show_configuration('name')"
  3. Configure los ajustes para optimizar la operación de restauración llamando a rdsadmin.set_configuration. Establecer estos valores de forma explícita puede mejorar el rendimiento al restaurar bases de datos con grandes volúmenes de datos. Para obtener más información, consulte rdsadmin.set_configuration.

    db2 "call rdsadmin.set_configuration( 'name', 'value')"
  4. Restaure la base de datos llamando a rdsadmin.restore_database. Para obtener más información, consulte rdsadmin.restore_database.

    db2 "call rdsadmin.restore_database( ?, 'database_name', 's3_bucket_name', 's3_prefix', restore_timestamp, 'backup_type')"
  5. Ponga la base de datos de nuevo en línea y aplique registros de transacciones adicionales llamando a rdsadmin.rollforward_database. Para obtener más información, consulte rdsadmin.rollforward_database.

    db2 "call rdsadmin.rollforward_database( ?, 'database_name', 's3_bucket_name', s3_prefix, 'rollfoward_to_option', 'complete_rollforward')"
  6. Si ha configurado complete_rollforward como FALSE en el paso anterior, lo último que debe hacer para volver a poner la base de datos en línea es llamar a rdsadmin.complete_rollforward. Para obtener más información, consulte rdsadmin.complete_rollforward.

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

Recopilación de información sobre bases de datos

Para recopilar información sobre las bases de datos, llame al procedimiento almacenado rdsadmin.db2pd_command. Esta información puede ayudarle a supervisar sus bases de datos o a solucionar problemas.

Recopilación de información sobre una base de datos
  1. Conéctese a la base de datos rdsadmin con el nombre de usuario y la contraseña maestros de su instancia de base de datos de RDS para Db2. En el siguiente ejemplo, sustituya master_username y master_password por su propia información.

    db2 "connect to rdsadmin user master_username using master_password"
  2. Recopile información sobre la base de datos llamando a rdsadmin.db2pd_command. Para obtener más información, consulte rdsadmin.db2pd_command.

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

Forzado a las aplicaciones a salir de bases de datos

Para obligar a las aplicaciones a salir de sus bases de datos de RDS para Db2, llame al procedimiento almacenado rdsadmin.force_application. Antes de realizar el mantenimiento de las bases de datos, saque las aplicaciones de sus bases de datos.

Forzado a las aplicaciones a salir de una base de datos
  1. Conéctese a la base de datos rdsadmin con el nombre de usuario y la contraseña maestros de su instancia de base de datos de RDS para Db2. En el siguiente ejemplo, sustituya master_username y master_password por su propia información.

    db2 "connect to rdsadmin user master_username using master_password"
  2. Fuerce a las aplicaciones a salir de una base de datos llamando a rdsadmin.force_application. Para obtener más información, consulte rdsadmin.force_application.

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

Generación de informes de rendimiento

Puede generar informes de rendimiento con un procedimiento o un script. Para obtener información sobre el uso de un procedimiento, consulte DBSUMMARY procedure ‐ Generate a summary report of system and application performance metrics en la documentación de IBM Db2.

Db2 incluye un archivo db2mon.sh en su directorio ~sqllib/sample/perf. La ejecución del script produce un amplio informe de métricas de SQL de bajo costo. Para descargar el archivo db2mon.sh y los archivos de script relacionados, consulte el directorio perf del repositorio de GitHub de IBM db2-samples.

Para generar informes de rendimiento con el script
  1. Conéctese a su base de datos Db2 con el nombre de usuario y la contraseña maestros de su instancia de base de datos de RDS para Db2. En el siguiente ejemplo, sustituya master_username y master_password por su propia información.

    db2 connect to rdsadmin user master_username using master_password
  2. Cree un grupo de búferes denominado db2monbp con un tamaño de página de 4096 mediante una llamada a rdsadmin.create_bufferpool. Para obtener más información, consulte rdsadmin.create_bufferpool.

    db2 "call rdsadmin.create_bufferpool('database_name','db2monbp',4096)"
  3. Cree un espacio de tablas temporal con el nombre db2montmptbsp que utilice el grupo de búferes db2monbp mediante una llamada a rdsadmin.create_tablespace. Para obtener más información, consulte rdsadmin.create_tablespace.

    db2 "call rdsadmin.create_tablespace('database_name',\ 'db2montmptbsp','db2monbp',4096,1000,100,'T')"
  4. Abra el script db2mon.sh y modifique la línea sobre la conexión a una base de datos.

    1. Elimine la siguiente línea.

      db2 -v connect to $dbName
    2. Sustituya la línea del paso anterior por la línea siguiente. En el siguiente ejemplo, sustituya master_username y master_password por el nombre de usuario y la contraseña maestros de su instancia de base de datos de RDS para Db2.

      db2 -v connect to $dbName user master_username using master_password
    3. Elimine las siguientes líneas.

      db2 -v create bufferpool db2monbp db2 -v create user temporary tablespace db2montmptbsp bufferpool db2monbp db2 -v drop tablespace db2montmptbsp db2 -v drop bufferpool db2monbp
  5. Ejecute el script db2mon.sh para generar un informe a intervalos específicos. En el siguiente ejemplo, sustituya absolute_path por la ruta completa al archivo de script, rds_database_alias con el nombre de su base de datos, y sustituya seconds por el número de segundos (0 a 3600) entre la generación de informes.

    absolute_path/db2mon.sh rds_database_alias seconds | tee -a db2mon.out

    Ejemplos

    El siguiente ejemplo muestra que el archivo de script se encuentra en el directorio perf, situado bajo el directorio home.

    /home/db2inst1/sqllib/samples/perf/db2mon.sh rds_database_alias seconds | tee -a db2mon.out
  6. Elimine el grupo de búferes y el espacio de tabla que se han creado para el archivo db2mon.sh. En el siguiente ejemplo, sustituya master_username y master_password por el nombre de usuario y la contraseña maestros de su instancia de base de datos de RDS para Db2. Sustituya database_name por el nombre de su base de datos.

    db2 connect to rdsadmin user master_username using master_password db2 "call rdsadmin.drop_tablespace('database_name','db2montmptbsp')" db2 "call rdsadmin.drop_bufferpool('database_name','db2monbp')"