ホームページ  >  記事  >  データベース  >  Oracleのテーブルスペースとは何ですか

Oracleのテーブルスペースとは何ですか

青灯夜游
青灯夜游オリジナル
2022-02-23 11:52:517609ブラウズ

Oracle では、テーブル スペースは Oracle データ オブジェクトとデータ ストレージのコンテナです。これは論理的な概念であり、複数のオペレーティング システム ファイルでテーブル スペースを形成できます。表スペースは、スペース内のデータ ファイルを一元管理します。1 つのデータ ファイルは 1 つの表スペースにのみ属することができ、データベース スペースは複数の表スペースで構成されます。

Oracleのテーブルスペースとは何ですか

このチュートリアルの動作環境: Windows 7 システム、Oracle 11g バージョン、Dell G3 コンピューター。

Oracle テーブル スペース

データベース システムでは、記憶域スペースがより重要なリソースです。スペースを適切に使用すると、スペースを節約できるだけでなく、パフォーマンスも向上します。システムの効率と作業パフォーマンス。

Oracle は大量のデータを保存でき、すべてのデータはデータ ファイルに保存されます。データ ファイルのサイズはオペレーティング システムによって制限されており、大きすぎるデータ ファイルはデータ アクセスのパフォーマンスに大きな影響を与えます。同時に、Oracle はクロスプラットフォーム データベースです。Oracle データはさまざまなプラットフォームに簡単に移植できます。では、統合されたアクセス形式で大容量を提供するにはどうすればよいでしょうか? Oracle はこの問題を解決するためにテーブルスペースを使用します。

表スペースは、Oracle データ オブジェクトとデータ ストレージのコンテナです。これは単なる論理概念です。複数のオペレーティング システム ファイル (ファイルはそれほど大きくない場合があります) で表スペースを形成できます。表スペースはスペース内のデータファイルを一元管理し、1つのデータファイルは1つの表スペースにのみ所属できます。データベーススペースは、複数のテーブルスペースで構成されます。図に示すように:

Oracle のすべてのデータ (システム データを含む) はすべてテーブル スペースに格納されます。共通のテーブル スペースは次のとおりです:

  • システム テーブル スペース:

    システム データを格納します。システム テーブル スペースは、データベースの作成時に作成されます。表スペース名は SYSTEM です。データ ディクショナリ、ビュー、データベース構造などの重要なシステム データ情報が格納されます。運用中に SYSTEM 領域が不足すると、データベースへの影響が大きくなります。システム運用中にコマンドによって領域を拡張できますが、それでも影響はありますデータベースの性能に影響するため、データベース作成時にデータファイルを適切に設定する必要があります。

  • TMEP テーブル スペース:

    一時テーブル スペースは、データベースのインストール時に作成されます。一時テーブル スペースは、実行時にコマンドを使用して増やすことができます。一時表スペースの重要な役割は、データのソートです。たとえば、ユーザーが Order by などのコマンドを実行した後、サーバーは選択されたデータを並べ替える必要がありますが、データが大きい場合、メモリの並べ替え領域にデータを保持できない可能性があるため、いくつかの中間並べ替えが必要になります。結果は、テーブルスペース内のハードディスクの一時記憶領域に書き込まれる必要があります。

  • ユーザー テーブル カスタム スペース:

    ユーザーは、CREATE TABLESPACE コマンドを使用してテーブル スペースを作成できます。

テーブルの作成スペース

Oracle によるテーブルスペース作成の構文構造は次のとおりです。

create tablespace tab_name
datafile 'filename'
size n
[autoextend on next n1 maxsize m /of]
[permanent] 
[extent management local/dictionary];

構文分析:

  • create tablespace: キーワード toテーブルスペースを作成します。

  • tab_name: 作成後の表スペースの名前。

  • datafile: データ ファイルのパスをファイル名として指定します。

  • size n: データファイルのサイズを指定します。

  • [autoextend on next n1 maxsize m /of ]: 表スペースが自動的に拡張されるかどうかを示します。on は自動拡張を意味し、of は拡張なしを意味し、自動的に拡張される場合、next n1 は次の n1 を意味します。自動拡張サイズ、最大サイズ m は、データ ファイルを最大サイズ m まで拡張できることを意味します。

  • [permanent]: 作成される表スペースのタイプを示します。Permanent は、永続表スペースを示します。入力しない場合は、デフォルトの永続表スペースが使用されます。

  • [エクステント管理ローカル/ディクショナリ]: 表スペースの管理方法を示し、ローカルはローカル管理モードを、ディクショナリはデータディクショナリ管理モードを示します。デフォルトはローカル管理モードです。

ケース 1、表スペース作成構文に従って、100M サイズのデータ​​ ファイル (student.dbf) を持つ表スペース Student を作成します。コードは次のとおりです。次のとおりです:

create tablespace student
datafile 'E:\APP\ADMIN\ORADATA\ORCL\student.DBF'
size 100m
autoextend on next 10m maxsize 500m
permanent
extent management local;

ケース分析:

student 表スペースを作成し、データ ファイルを「E:\APP\ADMIN\ORADATA\ORCL\student.DBF」として指定します。表スペースは次のとおりです。毎回自動的に拡張されます。拡張サイズは 10M、最大拡張子は 500M です。データベース オブジェクトと学生ユーザーのデータを保存するために永続的なテーブル スペースが作成されます。管理モードはローカル管理です。

データ ディクショナリ dba_data_files および dba_tablespaces をチェックして、作成された Student テーブル スペースをクエリします。クエリ コードは次のとおりです:

select t.TABLESPACE_NAME, --表空间名
       t.FILE_NAME, --文件名
       t.AUTOEXTENSIBLE, --是否自动扩展
       t.BYTES / 1024 / 1024, --表空间初始大小
       t.MAXBYTES / 1024 / 1024, --表空间最大扩展到多少
       b.CONTENTS, --表空间类型
       b.EXTENT_MANAGEMENT --表空间管理模式
  from dba_data_files t, dba_tablespaces b
 where t.TABLESPACE_NAME = b.TABLESPACE_NAME

Oracleのテーブルスペースとは何ですか

推奨チュートリアル: "OracleTutorial>>

以上がOracleのテーブルスペースとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。