web-dev-qa-db-ja.com

LISTコマンドを使用してDB2のすべてのテーブルを表示する

これは恥ずかしいことですが、DB2データベース内のテーブルの名前をリストする方法を見つけることができないようです。ここに私が試したものがあります:

root@VO11555:~# su - db2inst1
root@VO11555:~# . ~db2inst1/sqllib/db2profile
root@VO11555:~# LIST ACTIVE DATABASES

次のエラーが表示されます:SQL1092N "ROOT" does not have the authority to perform the requested command or operation.

DB2バージョン番号が続きます。

root @ VO11555:〜#db2level 
 DB21085Iインスタンス「db2inst1」は「64」ビットを使用し、DB2コードリリースは「SQL09071」
レベル識別子「08020107」を使用します。
情報トークンは「 DB2 v9.7.0.1 "、" s091114 "、" IP23034 "、およびフィックスパック
" 1 "。
製品は" /opt/db2V9.7 "にインストールされます。
23
Lightbeard

DB2の現在のデータベースのテーブルのリストを取得するには->

データベースに接続します。

db2 connect to DATABASENAME user USER using PASSWORD

このクエリを実行します。

db2 LIST TABLES

これは、MySQLのSHOW TABLESと同等です。

List tablesコマンドを実行する前に、「set schema myschema」を正しいスキーマに実行する必要がある場合があります。ログイン時のデフォルトでは、スキーマはユーザー名と同じです-多くの場合、テーブルは含まれません。 「現在のスキーマの値」を使用して、現在設定されているスキーマを確認できます。

31
Dan

データベースに接続します。

db2 connect to <database-name>

すべてのテーブルをリストします。

db2 list tables for all

選択したスキーマのすべてのテーブルをリストするには、次を使用します。

db2 list tables for schema <schema-name>

テーブルを説明するには、次を入力します。

db2 describe table <table-schema.table-name>

クレジット http://onewebsql.com/blog/list-all-tables

20
Guagua
select * from syscat.tables where type = 'T'

クエリをタブスキーマに制限することができます

18
Peter Miehle

Db2 7.1とSQuirrelを使用しています。これは私のために働いた唯一のクエリです。

select * from SYSIBM.tables where table_schema = 'my_schema' and table_type = 'BASE TABLE';
5
PbxMan

任意のシェルセッションで次のコマンドラインを実行します。

db2 "select tabname from syscat.tables where owner = 'DB2INST1'"

所有者名を変更し、現在の所有者のリストを確認する必要がある場合がありますか?

db2 "select distinct owner from syscat.tables"
2
user3311636

ユーザーdb2inst2をインストールしましたか?

0
Peter Miehle