martes, 13 de abril de 2010

SNAPTBSP administrative view

se puede usar el siguiente SQL para obtener la lista de los tablespaces y sus caracteristicas de las base de datos a la que se esta conectado

db2 "SELECT SUBSTR(TBSP_NAME,1,30) AS TBSP_NAME, TBSP_ID id, TBSP_TYPE, TBSP_CONTENT_TYPE,, TBSP_USING_AUTO_STORAGE auto_storage, TBSP_AUTO_RESIZE_ENABLED  auto_resize FROM SYSIBMADM.SNAPTBSP"

TBSP_NAME                      ID                   TBSP_TYPE  TBSP_CONTENT_TYPE AUTO_STORAGE AUTO_RESIZE
------------------------------ -------------------- ---------- ----------------- ------------ -----------
SYSCATSPACE                                       0 DMS        ANY                          0           1
SYSTOOLSPACE                                      1 DMS        ANY                          0           0
SYSTOOLSTMPSPACE                                  2 SMS        USRTEMP                      0           -
...

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


Carlos Hiram

miércoles, 7 de abril de 2010

como monitorear el avance del reorg

se de 2 maneras para monitorear el avance del reorg

haciendo un snapshot  y filtrando por una tabla 

$ db2 get snapshot for tables on test1| grep -p table_a
 Table Schema        = test
 Table Name          =
table_a
 Table Type          = User
 Data Object Pages   = 181858
 Rows Read           = Not Collected
 Rows Written        = 2265
 Overflows           = 3944
 Page Reorgs         = 83
 Table Reorg Information:
   Reorg Type        =
        Reclustering
        Table Reorg
        Allow Read Access
        Recluster Via Table Scan
        Reorg Data Only
   Reorg Index       = 5
   Reorg Tablespace  = 7
   Start Time        = 05/19/2008 16:06:21.218714
   Reorg Phase       = 4 - Index Recreate
   Max Phase         = 4
   Phase Start Time  = 05/19/2008 16:13:01.673256
   Status            = Started
   Current Counter   = 150857
   Max Counter       = 358338
   Completion        = 0
   End Time          =

usando la herramienta db2pd

db2pd -database test1-reorg

Database Partition 0 -- Database test1-- Active -- Up 0 days 00:00:10

Table Reorg Information:
Address            TbspaceID TableID PartID MasterTbs MasterTab TableName          Type    IndexID    TempSpaceID
0x07000001379335A8 8         3899    n/a    n/a       n/a      
TEST_B        Offline 0          8

Table Reorg Stats:
Address            TableName          Start               End                 PhaseStart          MaxPhase   Phase      CurCount   MaxCount  

Status  Completion
0x07000001379335A8 TEST_B        04/07/2010 20:03:54 04/07/2010 20:03:57 04/07/2010 20:03:57 3          IdxRecreat 0          0         

Done    0



ambas útiles


carlos hiram

martes, 6 de abril de 2010

SNAPSTORAGE_PATHS administrative view

esta funcion regresa los path del automatic storage de la db

>db2 "SELECT SUBSTR(DB_NAME,1,8) AS DB_NAME, SUBSTR(DB_STORAGE_PATH,1,8) AS DB_STORAGE_PATH, STO_PATH_FREE_SIZE FROM SYSIBMADM.SNAPSTORAGE_PATHS"

DB_NAME  DB_STORAGE_PATH STO_PATH_FREE_SIZE
-------- --------------- --------------------
TEST      /db2/TEST                 61039665152
TEST      /db2/TEST                 61039677440
TEST      /db2/TEST                 61039644672
TEST      /db2/TEST                 61039689728
TEST      /db2/TEST                 61039640576
TEST      /db2/TEST                 60928073728

  6 record(s) selected.


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

carlos hiram

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