Oracleの現在の情報を見る方法

来源:互联网 发布:icmp的端口号 编辑:程序博客网 时间:2024/04/28 04:40
Oracleの現在の情報を見る方法


USER情報
  Oracleをインストールした直後ですと「SYSTEM」「SYS」ユーザのみですが、その後管理のうえで様々なOracleユーザを作成すると思います。
ここでは現在どのようなユーザが存在するかを確認する方法を紹介します。

SQL> select * from user_users;

この「user_users」テーブル内には以下の情報が入っています。
・USERNAME(ユーザ名)
・USER_ID(ID番号)
・DEFAULT_TABLESPACE(デフォルトとなるデータ領域)
・TEMPORARY_TABLESPACE(テンポラリとして使用されるデータ領域)
・CREATED(作成された日付)

また結果は以下のように出てきます。

SQL> select * from user_users;
USERNAME                          USER_ID DEFAULT_TABLESPACE------------------------------ ---------- ------------------------------TEMPORARY_TABLESPACE           CREATED------------------------------ ------------------------SCOTT                                  14 USERSTEMP                           98-11-26


表領域情報

  Oracleでは、基本として「SYSTEM」、「USERS」、「TEMPORARY(TEMP)」、「ROLLBACK(RBS)」、「TOOLS」の表領域が存在します。
この領域の情報は次のようにして得ることができます。


SQL> select * from dba_tablespaces;

SQL> select * from dba_data_files;

上記①「dba_tablespaces」テーブル内には以下の情報が入っています。
・TABLESPACE_NAME(領域名)
・INITIAL_EXTENT(初期エクステンツ容量 KB)
・NEXT_EXTENT(次エクステンツ容量 KB)
・MIN_EXTENTS(最小エクステンツ数)
・MAX_EXTENTS(最大エクステンツ数)
・PCT_INCREASE(増加%)
・STATUS(状態 ONLINE/OFFLINE)
・CONTENTS

また②「dba_data_files」テーブル内には以下の情報が入っています。
・FILE_NAME(ファイル名)
・FILE_ID(ID番号)
・TABLESPACE_NAME(領域名)
・BYTES(領域容量)
・BLOCKS(ブロック数)
・STATUS(状態 AVAILABLE)

それぞれの結果は以下のように出てきます。


SQL> select * from dba_tablespaces;
TABLESPACE_NAME                INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS------------------------------ -------------- ----------- -----------MAX_EXTENTS PCT_INCREASE STATUS    CONTENTS----------- ------------ --------- ---------SYSTEM                                  10240       10240           1        121           50 ONLINE    PERMANENTRBS                                     10240       10240           2        121           50 ONLINE    PERMANENTTEMP                                    10240       10240           1        121           50 ONLINE    PERMANENTTOOLS                                   10240       10240           1        121           50 ONLINE    PERMANENTUSERS                                   10240       10240           1        121           50 ONLINE    PERMANENT

SQL> select * from dba_data_files;
FILE_NAME                       FILE_ID TABLESPACE_NAME BYTES BLOCKS STATUS------------------------------- ------- --------------- ----- ------ ---------/oracle/oradata/HOGE/system.dbf       1 SYSTEM           ****   **** AVAILABLE/oracle/oradata/HOGE/rbs.dbf          2 RBS              ****   **** AVAILABLE/oracle/oradata/HOGE/temp.dbf         3 TEMP             ****   **** AVAILABLE/oracle/oradata/HOGE/tools.dbf        4 TOOLS            ****   **** AVAILABLE/oracle/oradata/HOGE/users.dbf        5 USERS            ****   **** AVAILABLE


テーブル情報

  あるユーザで作成したテーブルを確認する方法です。
SQL> select * from user_tables;

この「user_tables」テーブル内には以下の情報が入っています。
・TABLE_NAME(テーブル名)・TABLESPACE_NAME(領域名)・CLUSTER_NAME・PCT_FREE・PCT_USED・INI_TRANS・MAX_TRANS・INITIAL_EXTENT・NEXT_EXTENT・MIN_EXTENTS・MAX_EXTENTS・PCT_INCREASE・FREELISTS・FREELIST_GROUPS・ACKED_UP・NUM_ROWS・BLOCKS・EMPTY_BLOCKS・AVG_SPACE・CHAIN_CNT・AVG_ROW_LEN・DEGREE・INSTANCES・CACHE・TABLE_LOCK 
また結果は以下のように出てきます。(出力数が多いため「TABLE_NAME」情報だけを取り出しています。

SQL> select table_name from user_tables;
TABLE_NAME------------------------------EMPDEPTHOGE


インデックス情報

  テーブルに作成しているインデックスの確認の方法です。

SQL> select * from user_ind_columns

この「user_ind_columns」テーブル内には以下の情報が入っています。
・INDEX_NAME(インデックス名)
・TABLE_NAME(付与しているテーブル名)
・COLUMN_NAME(付与しているカラム名)
・COLUMN_POSITION
・COLUMN_LENGTH

また結果は以下のように出てきます。(出力数が多いため「INDEX_NAME」「TABLE_NAME」「COLUMN_NAME」情報だけを取り出しています。)

SQL> select index_name ,table_name ,column_name from user_ind_columns where table_name = 'EMP';
INDEX_NAME TABLE_NAME COLUMN_NAME ---------- ---------- -----------IDX1       EMP        DEPTNOIDX2       EMP        NAME
(*)SQL文中でWHERE句でTABLE_NAMEを指定するときは大文字で記述すること


受け付けたSQL文の内容

  バッファに残っている受け付けたSQL文の内容を出力します。

SQL> select * from v$sqltext order by address, piece;

結果は以下のように出てきます。

SQL> select * from v$sqltext order by address, piece;
ADDRESS  HASH_VALUE COMMAND_TY PIECE      SQL_TEXT-------- ---------- ---------- ---------- --------------------------------------8A4EBCA4 3119803980          3          0 SELECT * FROM V$SQLTEXT ORDER BY ADDRE8A4EBCA4 3119803980          3          1 SS, PIECE
(*)SQL文が「SQL_TEXT」カラムの範囲を超えると、同じ「ADDRESS」値で「PIECE」値が連番で続きます。(本SQL文も2行に渡っている例です。)

 


 

原创粉丝点击