AIX y DB2 VII

Séptima entrega.

Muestra los primeros diez registros de la tabla de permisos de tablas

db2 “select * from syscat.tabauth  fetch first 10 rows only”

Muestra los primeros diez registros de la tabla de permisos de la base

db2 “select * from syscat.dbauth  fetch first 10 rows only”

Muestra las tablas del usuario en la base:

select * from syscat.tables where owner <> ‘SYSIBM’

Aunque es mejor ejecutar este comando desde el control center ya que el recordset no entra en ningún putty

Muestra los permisos del usuario sobre las tablas especificas

select * from syscat.tabauth where grantee = ‘DAFADMIN’

Este comando también es más practico desde el control center.

Ante un select fallido por permisos hago un grant y pruebo

dafapp@aixdesa:/home/dafapp>  db2 “select * from DAFADMIN.TDEPT”

SQL0551N  “DAFAPP” does not have the required authorization or privilege to

perform operation “SELECT” on object “DAFADMIN.TDEPT”.  SQLSTATE=42501

El grant que permite el acceso a la tabla:

db2 “GRANT SELECT ON DAFADMIN.TDEPT TO DAFAPP”

La misma consulta, ahora exitosa.

dafapp@aixdesa:/home/dafapp>  db2 “select * from DAFADMIN.TDEPT”

DEPTNO DEPTNAME                             MGRNO  ADMRDEPT

—— ———————————— —— ——–

0 record(s) selected.

Creo una segunda tabla con dafapp

db2 “CREATE TABLE TDEPTAPP (DEPTNO CHAR (3) NOT NULL, DEPTNAME VARCHAR (36) NOT NULL, MGRNO CHAR (6), ADMRDEPT CHAR (3) NOT NULL, PRIMARY KEY (DEPTNO) )”

Veo como quedo, la primera en un esquema y la segunda en otro. Como siempre, cuando son muchas columnas es mejor usar el control center.

select * from syscat.tabauth

Para Salir o desconectarse de una base de datos usar el comando TERMINATE ya sea attach o connect.