lunes, 29 de marzo de 2010

como restaurar un backup desde tsm desde otra maquina

Hacer un restore una base de datos algo común, pero cuando esto involucra 2 diferentes cajas, la cosa se complica un poco mas, se tiene que hacer un redirect restore desde TSM.

El escenario es el siguiente, se toma un offline backup de la db A en la caja X y se almacena en TSM.  El backup sera usado para crear una db de pruebas en B en la caja Y. 

se necesita saber el nodename de la caja original y el password para accesar TSM

nodename X :  X_db2
password:  X_db2
owner:  db2A

 esta es la manera en como me ha funcionado

1-  Editar el archivo dsm.sys en la caja Y, comentar el nodename original y poner el de la caja X
     cambiar el password generate a password prompt

2 -  probar el acceso a TSM usando el db2adutl

db2adutl query full db A password X_db2 nodename X_db2 owner db2A > Abackup.lst

3 - actualizar la configuracion de la base de datos, poner el password de acceso a TSM

db2 update db cfg for B using TSM_PASSWORD X_db2 

4 - ejecutar el redirect restore para generar el script para restaurar la db


db2 restore db A use tsm taken at xxxxxx redirect generate script redirectrestore.sql


ya que el script esta generado, se tiene que actualizar con los paths de los containers  y algunas opciones del restore.


yo tuve que crear las 2 bases de datos A y B, raro, pero no me permitió sacar el script si la base de datos A no existe en el catalogo.

5 - ejecutar el script que fue generado, si es una db muy grande se puede enviar al background

nohup /path…/redirectrestore.sql  -z /path…/ redirectrestore.sql.out &


con el comando tail se puede monitorear el avance del seteo de los containers

tail -f /path…/ redirectrestore.sql.out

6 - y finalmente se tiene el restore corriendo se puede monitorear usando:


db2pd -db hd2 -utilities


db2 list utilities show detail

carlos hiram

TBSP_UTILIZATION administrative view

La vista administrativa TBSP_UTILIZATION regresa información acerca de los tablespaces

select substr(tbsp_name,1,10) "Name", tbsp_utilization_percent "Used%", tbsp_free_pages "FreePages",
tbsp_usable_Pages "UsablePages", tbsp_used_pages "UsedPages", tbsp_page_top "HWM",
tbsp_page_top - tbsp_used_pages "HWM-USEDPAGES",
tbsp_page_size "PgSize Bytes"
from SYSIBMADM.TBSP_UTILIZATION
where tbsp_type = 'DMS'
order by 7 desc;


el siguiente result set es retornado por el comando

Name  Used% FreePages   UsablePages UsedPages   HWM   HWM-USEDPAGES     PgSize Bytes

A     21.08 7635926     9675888     2039962     9675878     7635916     16384
B     75.48 1539586     6279768     4740182     6279768     1539586     16384
C     90.74 1055752     11402148    10346396    11402066    1055670     16384
D     22.43 606734      782220      175486      782210      606724      16384
E     80.91 575922      3017148     2441226     3016980     575754      16384
F     60.05 539500      1350468     810968      1324790     513822      16384


asi es posible verificar que para el tablespace A, El HWM (columna 6) esta peligrosamente cerca del total de paginas usables  (columna 3) y algo se tiene que hacer para bajar la marca de agua.

Fuente:

http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.sql.rtn.doc/doc/r0022022.html

Carlos Hiram

mis experiencias como DBA

A lo largo de los últimos años he estado trabajando como DB2 DBA.Tengo notas de lo que he ido aprendiendo y aplicando en diversos proyectos, mi idea es compartir esto que he ido aprendiendo en el dia a dia esperando que alguien mas lo encuentre util.



Carlos Hiram