Maison >base de données >Oracle >Qu'est-ce que l'espace table dans Oracle

Qu'est-ce que l'espace table dans Oracle

青灯夜游
青灯夜游original
2022-02-23 11:52:517681parcourir

Dans Oracle, l'espace table est un conteneur pour les objets de données Oracle et le stockage de données. C'est un concept logique. Plusieurs fichiers du système d'exploitation peuvent former un espace table. Les espaces table gèrent de manière uniforme les fichiers de données dans l'espace. Un fichier de données ne peut appartenir qu'à un seul espace table et un espace de base de données se compose de plusieurs espaces table.

Qu'est-ce que l'espace table dans Oracle

L'environnement d'exploitation de ce tutoriel : système Windows 7, version Oracle 11g, ordinateur Dell G3.

Oracle Table Space

Dans le système de base de données, l'espace de stockage est une ressource plus importante. Une utilisation appropriée de l'espace peut non seulement économiser de l'espace, mais également améliorer l'efficacité et les performances du système.

Oracle peut stocker d'énormes quantités de données, et toutes les données sont stockées dans des fichiers de données. La taille des fichiers de données est limitée par le système d'exploitation, et des fichiers de données trop volumineux ont un impact important sur les performances d'accès aux données. Dans le même temps, Oracle est une base de données multiplateforme. Les données Oracle peuvent être facilement transplantées sur différentes plateformes. Alors, comment pouvons-nous fournir une grande capacité dans un format d'accès unifié ? Oracle utilise des espaces table pour résoudre ce problème.

L'espace table est un conteneur pour les objets de données Oracle et le stockage de données. C'est juste un concept logique. Plusieurs fichiers du système d'exploitation (les fichiers peuvent ne pas être très volumineux) peuvent former un espace table. Les espaces table gèrent uniformément les fichiers de données dans l'espace, et un fichier de données ne peut appartenir qu'à un seul espace table. Un espace de base de données se compose de plusieurs espaces table. Comme le montre la figure :

Toutes les données dans Oracle (y compris les données système) sont toutes stockées dans des espaces table. Les espaces table courants sont :

  • Espace table système :

    stocke les données système et les tables système. créé lors de la création de la base de données. Le nom de l'espace table est SYSTEM. Stocke des informations importantes sur les données du système telles que les dictionnaires de données, les vues et les structures de base de données. Si l'espace SYSTEM est insuffisant pendant le fonctionnement, l'impact sur la base de données sera plus important. Bien que l'espace puisse être étendu via des commandes pendant le fonctionnement du système, cela affectera toujours. les performances de la base de données, il est donc nécessaire de définir le fichier de données de manière appropriée lors de la création de la base de données.

  • Espace table TMEP :

    Un espace table temporaire est créé lors de l'installation de la base de données. L'espace table temporaire peut être augmenté via des commandes au moment de l'exécution. Le rôle important de l’espace table temporaire est le tri des données. Par exemple, après que l'utilisateur a exécuté une commande telle que Order by, le serveur doit trier les données sélectionnées. Si les données sont volumineuses, la zone de tri de la mémoire peut ne pas être en mesure de contenir les données, donc un tri intermédiaire. les résultats doivent être écrits dans la zone de stockage temporaire du disque dur dans l'espace table.

  • Espace personnalisé de table utilisateur :

    Les utilisateurs peuvent créer des espaces table via la commande CREATE TABLESPACE

Créer des espaces table

Oracle crée la structure syntaxique de l'espace table comme suit :

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

Analyse syntaxique :

  • create tablespace : mot-clé pour créer un tablespace.

  • tab_name : Le nom de l'espace table après la création.

  • datafile : Spécifiez le chemin du fichier de données comme nom de fichier.

  • size n : Spécifiez la taille du fichier de données.

  • [autoextend on next n1 maxsize m /of ] : Indique si l'espace table est automatiquement étendu, on signifie expansion automatique, ou signifie pas d'expansion, lorsqu'il est automatiquement développé, next n1 représente la taille de l'expansion automatique, taille maximale m Indique que le fichier de données peut être étendu jusqu'à une taille maximale de m.

  • [permanent] : Indique le type d'espace table créé. Permanent indique un espace table permanent. S'il n'est pas renseigné, l'espace table permanent par défaut sera utilisé.

  • [gestion de l'étendue locale/dictionnaire] : indique la méthode de gestion de l'espace table, local indique le mode de gestion local et dictionnaire indique le mode de gestion du dictionnaire de données. La valeur par défaut est le mode de gestion local.

Cas 1. Selon la syntaxe de création de l'espace table, créez un espace table étudiant avec un fichier de données de taille 100M (student.dbf) Le code est le suivant :

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

Analyse de cas :

Créez un. espace table étudiant et spécifiez Le fichier de données est "E:APPADMINORADATAORCLstudent.DBF". La taille de chaque extension automatique est de 10 Mo et l'extension maximale est de 500 Mo. Un espace table permanent est créé pour stocker et gérer. les objets de la base de données et les données de l'utilisateur étudiant. Le mode est la gestion locale.

Nous vérifions le dictionnaire de données dba_data_files et dba_tablespaces pour interroger l'espace table étudiant créé. Le code de requête est le suivant :

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

Quest-ce que lespace table dans Oracle

Tutoriel recommandé : "Tutoriel Oracle"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn