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

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 USERS
TEMP                           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    PERMANENT

RBS                                     10240       10240           2
        121           50 ONLINE    PERMANENT

TEMP                                    10240       10240           1
        121           50 ONLINE    PERMANENT
TOOLS                                   10240       10240           1
        121           50 ONLINE    PERMANENT

USERS                                   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
------------------------------
EMP
DEPT
HOGE


インデックス情報

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

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        DEPTNO
IDX2       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 ADDRE
8A4EBCA4 3119803980          3          1 SS, PIECE
(*)SQL文が「SQL_TEXT」カラムの範囲を超えると、同じ「ADDRESS」値で「PIECE」値が連番で続きます。(本SQL文も2行に渡っている例です。)

 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值