mostrar todas as tabelas em DB2 usando o comando LIST
root@VO11555:~# su - db2inst1
root@VO11555:~# . ~db2inst1/sqllib/db2profile
root@VO11555:~# LIST ACTIVE DATABASES
Recebemos este erro.: SQL1092N "ROOT" does not have the authority to perform the requested command or operation.
segue-se o número da versão DB2.
root@VO11555:~# db2level DB21085I Instance "db2inst1" uses "64" bits and DB2 code release "SQL09071" with level identifier "08020107". Informational tokens are "DB2 v9.7.0.1", "s091114", "IP23034", and Fix Pack "1". Product is installed at "/opt/db2V9.7".
6 answers
Para obter uma lista de tabelas para a base de dados actual em DB2 -- >
Ligue-se à base de dados:
db2 connect to DATABASENAME user USER using PASSWORD
Execute esta pesquisa:
db2 LIST TABLES
Este é o equivalente a mostrar tabelas em MySQL.
Poderá ter de executar o 'set schema myschema' para o esquema correcto antes de executar o comando list tables. Por padrão, após o login seu esquema é o mesmo que o seu nome de usuário-que muitas vezes não irá conter quaisquer tabelas. Você pode usar 'values current schema' para verificar que esquema você é de momento.
Ligue-se à base de dados:
db2 connect to <database-name>
Lista todos os quadros:
db2 list tables for all
Para listar todas as tabelas no esquema seleccionado, use:
db2 list tables for schema <schema-name>
Para descrever uma tabela, tipo:
db2 describe table <table-schema.table-name>
select * from syscat.tables where type = 'T'
Pode querer restringir a consulta ao seu tabschema
select * from SYSIBM.tables where table_schema = 'my_schema' and table_type = 'BASE TABLE';
Execute esta linha de comandos na sua sessão de consola preferida:
db2 "select tabname from syscat.tables where owner = 'DB2INST1'"
Talvez queira modificar o nome do proprietário e verificar a lista dos actuais proprietários?
db2 "select distinct owner from syscat.tables"
Instalou um utilizador db2inst2, penso, lembro-me, que o db2inst1 é muito Administrativo