1

データベース内のテーブルスペースに関する特定の情報を見つけることに興味がありますが、どこから始めればよいかよくわかりません。次の情報を探すように求められました。

次のレポートに要約します: テーブルスペース名、所有者、タイプ、およびテーブルスペースごとに使用された合計バイト数を含むすべてのテーブルスペースを一覧表示し、使用状況の統計情報、空きバイトおよびフラグメントを一覧表示します

ネットをいろいろ見ていて、こんなのを見つけました。

select tablespace_name from dba_tablespaces
select tablespace_name from user_tablespaces

現時点で私が持っているのはこれくらいですが、そこからどこへ行くべきかわかりません。誰かが必要な情報を収集するために何をすべきかを教えてくれますか?

ありがとう!

4

2 に答える 2

1

私はこれらを手伝うことができます...

  • 名前: dba_tablespaces.Tablespace_Name
  • タイプ (永久、一時、元に戻す): dba_tablespaces.Contents
  • サイズ: テーブルスペースの合計 DBA_Data_Files.Bytes
  • 空きバイト: テーブルスペースの合計 DBA_Free_Space.Bytes
  • 使用された合計バイト数: サイズ - 空きバイト数
  • フラグメント: セグメントのことですか? その場合は、テーブルスペースの DBA_Segments 行をカウントします

...しかし、所有者ではありません。それを見つける方法がわかりません。

名前、タイプ、サイズ、使用済み、空き、セグメントを取得するクエリは次のとおりです。

WITH
  ts AS (
    SELECT Tablespace_Name, SUM(Bytes/1024) AS TotSize
    FROM DBA_Data_Files
    GROUP BY Tablespace_Name),
  tx AS (SELECT Tablespace_Name, COUNT(*) AS Segments
    FROM DBA_Segments
    GROUP BY Tablespace_Name),
  tf AS (SELECT Tablespace_Name, SUM(Bytes/1024) AS TotFree
    FROM DBA_Free_Space
    GROUP BY Tablespace_Name)
SELECT
  Tablespace_Name,
  DBA_Tablespaces.Contents,
  ts.TotSize,
  ts.TotSize - tf.TotFree AS TotUsed,
  tf.TotFree,
  tx.Segments
FROM DBA_Tablespaces
INNER JOIN ts USING (Tablespace_Name)
INNER JOIN tx USING (Tablespace_Name)
INNER JOIN tf USING (Tablespace_Name)
ORDER BY Tablespace_Name
于 2013-02-22T04:10:09.050 に答える
0

以下のクエリを使用できます。

TS ( TABLESPACE) 情報を問い合わせる

Dba_tablespaces

SQL>SELECT TABLESPACE_NAME,EXTENT_MANAGEMENT,

2         ALLOCATION_TYPE,CONTENTS,

3         SEGMENT_SPACE_MANAGEMENT

4         FROM DBA_TABLESPACES;

TABLESPACE_NAME EXTENT_MAN ALLOCATIO CONTENTS  SEGMEN

————— ———- ——— ——–  ——

SYSTEM      DICTIONARY   USER       PERMANENT MANUAL

UNDOTBS     LOCAL        SYSTEM    UNDO      MANUAL

TEMP        LOCAL        SYSTEM    TEMPORARY MANUAL

TOOL        LOCAL        SYSTEM    PERMANENT MANUAL

USERS       LOCAL        SYSTEM    PERMANENT MANUAL

APP_DATA    DICTIONARY   USER      PERMANENT MANUAL

APP_INDEX   LOCAL        SYSTEM    PERMANENT AUTO

ii.DBA_FREE_SPACE

SQL>SELECT TABLESPACE_NAME,SUM(BYTES)FREE_SPACE

2 FROM DBA_FREE_SPACE

3 GROUP BY TABLESPACE_NAME;

TABLESPACE_NAME  FREE_SPACE

————————— ———

APP_DATA                      10481664

APP_INDEX                    10223616

SYSTEM                            88281088

UNDOTBS                         208338944

USERS                                24051712

iii. DBA_EXTENTS,USER_EXTENTS – エクステント、エクステント サイズ、関連するセグメント、およびテーブルスペースに関する情報を表示します。

DBA_DATA_FILES– 表領域に属するデータ ファイルを表示します

DBA_TEMP_FILES– ローカルで管理される一時管理表領域に属する一時ファイルを表示します。

iv。DBA_USERS

SQL>SELECT DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE

2 FROM DBA_USERS

3 WHERE USERNAME = ‘HR’;

DEFAULT_TABLESPACE  TEMPORARY_TABLESPACE

——————————- ——————–

EXAMPLE                                TEMP

オラクルの表領域とオラクルの表領域の管理については、http://www.techienawa.com/logical-structure/oracle-tablespace/
http://www.techienawa.com/logical-structure/tablespace-oracle/を参照してください

于 2014-01-21T10:21:11.503 に答える