システムエンジニアの悩める日常

普通のシステムエンジニアです。インフラメインでやっています。

【Linux入門】oracleでスキーマ毎のテーブル件数を確認する方法

こんにちは、せつらです。

今回のテーマはoracleで対象スキーマ所有のテーブルが幾つあるか?

を確認します。

 

■調べたいこと

スキーマごとに、所有するテーブルが幾つあるかを確認したい。

 

■経緯

あるスキーマでテーブルを削除するので、削除前と後で

該当テーブル以外のテーブルを削除していないか確認したい。

 

■解決策

 DB全体のテーブルはdba_tablesに記載されているので、

この内所有者(OWNER)が該当スキーマであるものを引き抜いて、

個数を数えればよい。

 

実は、ログインしたユーザのテーブル数を数えるのであれば

user_tablesというのがあるのですが、スキーマ毎に必要な場合、

一々ログインしていられないのでdba_tablesを使用する。

 

SQL

select count(*)
from dba_tables
where OWNER='<スキーマ名>'

 

例:

select count(*)
from dba_tables
where OWNER='SYSTEM'

 

f:id:akisetsura_master:20170118224619p:plain

■感想

DBを使い始めて日が浅いので、oracleの基本的なテーブルを知らなかった。

今回載せたテーブルは、重要なデータが格納されているが、便利である。

今回のテーブル、もう少し掘り下げて確認したいと思います。