Oracle 间隔分区
在oracle 11g之前,如果我们往一个没有匹配到满足分区的RANGE分区写记录的时候会报 ORA-14400: inserted partition key does not
在Oracle 11g之前,如果我们往一个没有匹配到满足分区的RANGE分区写记录的时候会报 ORA-14400: inserted partition key does not map to any partition,,因为这个原因我已经半夜起来过好几次。
如果oracle在更新记录或者新增记录的时候发现没有匹配的分区能自动分区该多好,在oracle11g中oracle实现了这个功能。
看个简单的例子。
etl@DWTEST19> create table part_01
2 (
3 col01 date
4 )
5 partition by range(col01)
6 (
7 partition p201001 values less than ( to_date('20100201','yyyymmdd') ),
8 partition p201002 values less than ( to_date('20100301','yyyymmdd') )
9 )
10 /
Table created.
etl@DWTEST19> insert into part_01 values( to_date('20100301','yyyymmdd'));
insert into part_01 values( to_date('20100301','yyyymmdd'))
*
ERROR at line 1:
ORA-14400: inserted partition key does not map to any partition
可以看出在没有分区满足的时候会报错。
下面看看oracle11g提供的间隔分区功能
etl@DWTEST>create table part_01
2 (
3 col01 date
4 )
5 partition by range(col01)
6 interval (numtoyminterval(1,'MONTH'))
7 (
8 partition p201001 values less than ( to_date('20100201','yyyymmdd') )
9 )
10 /
Table created.
Elapsed: 00:00:00.08
etl@DWTEST>insert into part_01 values( to_date('20101001','yyyymmdd') );
1 row created.
Elapsed: 00:00:00.07
etl@DWTEST>select partition_name,high_value
2 from user_tab_partitions
3 where table_name='PART_01';
PARTITION_NAME HIGH_VALUE
--------------- --------------------------------------------------
P201001 TO_DATE(' 2010-02-01 00:00:00', 'SYYYY-MM-DD HH24:
MI:SS', 'NLS_CALENDAR=GREGORIAN')
SYS_P36675 TO_DATE(' 2010-11-01 00:00:00', 'SYYYY-MM-DD HH24:
MI:SS', 'NLS_CALENDAR=GREGORIAN')
Elapsed: 00:00:00.45
etl@DWTEST>insert into part_01 values( to_date('20100901','yyyymmdd') );
1 row created.
Elapsed: 00:00:01.37
etl@DWTEST>select partition_name,high_value
2 from user_tab_partitions
3 where table_name='PART_01';
PARTITION_NAME HIGH_VALUE
--------------- --------------------------------------------------
P201001 TO_DATE(' 2010-02-01 00:00:00', 'SYYYY-MM-DD HH24:
MI:SS', 'NLS_CALENDAR=GREGORIAN')
SYS_P36675 TO_DATE(' 2010-11-01 00:00:00', 'SYYYY-MM-DD HH24:
MI:SS', 'NLS_CALENDAR=GREGORIAN')
SYS_P36676 TO_DATE(' 2010-10-01 00:00:00', 'SYYYY-MM-DD HH24:
MI:SS', 'NLS_CALENDAR=GREGORIAN')
Elapsed: 00:00:00.43
可以看出Oracle很好的为我们处理了加分区的操作。
但是,分区名,分区名怎么指定呢?

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Oracle Environment Variable Configuration Guide: Créez une variable d'environnement Oracle_Home, pointant vers le répertoire d'Oracle Home. Ajoutez le répertoire binaire Oracle à la variable d'environnement de chemin. Définissez la variable d'environnement TNS_ADMIN (si le fichier est nommé à l'aide de TNS). Vérifiez les paramètres des variables d'environnement pour vous assurer que la sortie affiche les variables définies.

Méthode d'importation de données: 1. Utilisez l'utilitaire SqlLoader: Préparez les fichiers de données, créez des fichiers de contrôle et exécutez SqlLoader; 2. Utilisez l'outil IMP / EXP: les données d'exportation, les données d'importation. Astuce: 1. Chargeur SQL * recommandé pour les ensembles de Big Data; 2. La table cible doit exister et la définition de la colonne correspond; 3. Après l'importation, l'intégrité des données doit être vérifiée.

Une clé primaire est une colonne spéciale ou une combinaison de colonnes qui identifie de manière unique chaque ligne dans une table. Il garantit que les enregistrements dans le tableau sont uniques et peuvent être créés par: spécifiant le nom du tableau à l'aide de l'instruction ALTER TABLE. Ajoutez le mot clé de la clé primaire suivi du nom de la colonne pour spécifier comme clé principale. Les contraintes de clé primaire aident à garantir l'unicité des données, à améliorer les vitesses de requête, à prévenir les enregistrements en double et à simplifier les jointures de table.

Utilisez l'instruction ALTER TABLE, la syntaxe spécifique est la suivante: alter table table_name Ajouter Column_name data_type [contrainte-clause]. Où: TABLE_NAME est le nom de la table, Column_name est le nom de champ, DATA_TYPE est le type de données et la clause de contrainte est une contrainte facultative. Exemple: Alter Table Employés Ajouter un e-mail Varchar2 (100) Ajouter un champ de messagerie à la table des employés.

Oracle Bragled Les problèmes peuvent être résolus en vérifiant le jeu de caractères de la base de données pour s'assurer qu'ils correspondent aux données. Définissez le jeu de caractères client pour correspondre à la base de données. Convertir les données ou modifier les jeux de caractères de colonne pour faire correspondre les jeux de caractères de base de données. Utilisez des jeux de caractères Unicode et évitez les jeux de caractères mulabyte. Vérifiez que les paramètres de langue de la base de données et du client sont corrects.

Oracle fournit plusieurs méthodes de requête de déduplication: le mot-clé distinct renvoie une valeur unique pour chaque colonne. Le groupe par clause regroupe les résultats et renvoie une valeur non réactive pour chaque groupe. Le mot-clé unique est utilisé pour créer un index ne contenant que des lignes uniques, et l'interrogation de l'index sera automatiquement déducteur. La fonction ROW_NUMBER () attribue des nombres uniques et filtre les résultats qui contiennent uniquement la ligne 1. La fonction min () ou max () renvoie les valeurs non réactives d'une colonne numérique. L'opérateur intersecte renvoie les valeurs communes des deux ensembles de résultats (pas de doublons).

Pour interroger la taille de l'espace de table Oracle, suivez les étapes suivantes: Déterminez le nom de l'espace de table en exécutant la requête: sélectionnez Tablespace_name dans dba_tablespaces; Requête la taille de l'espace de table en exécutant la requête: sélectionnez SUM (Bytes) comme total_size, sum (bytes_free) comme disponible_space, sum (bytes) - sum (bytes_free) comme used_space à partir de dba_data_files où tablespace_

Les étapes pour modifier le nom du champ dans une table Oracle sont les suivantes: Connectez-vous à la base de données. Utilisez l'instruction ALTER TABLE pour modifier le nom du champ. Spécifiez le nom de la table et l'ancien nom de champ. Spécifiez le nouveau nom de champ. Soumettre des modifications.
