Error max number of partition

Troubled by disk already contains maximum number of partitions issue when creating a new partition in Disk Management? Here are solutions.

Have you received the error message «disk already contains the maximum number of partitions» when creating a partition in Disk Management? This issue always happens on an MBR disk. Here, we will show you some effective solutions to fix the error max number of partitions MBR.

Disk Already Contains Maximum Number of Partitions

As you know, a partition on a hard drive can be used to store many files, including pictures, videos, documents, music files and so on. You may partition your hard disk to some drives for different kinds of files in order to distinguish them easily.

However, sometimes when you create a new volume with Windows built-in tool Disk Management, Windows may give you a warning message «You cannot create a new volume in this unallocated space because the disk already contains the maximum number of partitions«, just like the following screenshot shows. 

disk already contains maximum number of partitions

Generally speaking, this error occurs in MBR disk. On an MBR disk, you can create at most four primary partitions, or three primary partitions plus one extended partition. It is allowed to create a lot of logical partitions in the extended partition. 

However, if the number of partitions has reached the limit of three primary partitions plus one extended partition, you will meet create partition maximum number problem.

Tip: If there are four primary partitions and an unallocated space, you won’t meet maximum partition number problem, but Windows will suggest you «the operation will convert the selected disk(s) to dynamic disk(s)».

the operation will convert the selected disk(s) to dynamic disk(s)

If you cannot create partition from unallocated space with the error disk contains maximum number of partitions in Windows 7/8/10, is there any way to solve it? Of course, this post will provide you four solutions for this issue, so please keep reading. 

How to Fix Max Number of Partitions MBR Error

Way 1: Convert MBR Disk to GPT Disk

When it comes to maximum number of partitions problem, many of you consider changing the disk style from MBR to GPT. Why is it necessary to change disk to GPT type? Let’s look at the following content. 

  • In Windows, as to maximum number of partitions GPT, the disk can reach up to 128. If you use such a hard drive, you can create so many partitions without meeting «cannot create a new simple in this unallocated space» error warning.
  • All partitions on GPT disk are primary partitions by default. So if you want to create more than four primary partitions, GPT type is suggested.
  • In Windows XP 32-bit, data disk doesn’t support GPT type. Moreover, in Windows XP including 32 bit and 64 bit, Windows Vista 32-bit and Windows 7 32-bit, the disk with operating system can’t be GPT type.
  • UEFI motherboard supports MBR and GPT disks, so if you want to use GPT, you must ensure your motherboard is UEFI.

How to do this work? There are two ways: using Disk Management or MiniTool Partition Wizard. 

① Run Disk Management

When mentioning the conversion between MBR and GPT disk, some of you probably choose to use Disk Management. However, when right clicking the target disk, you will find «Convert to GPT» feature is greyed out.

You must delete all volumes, and then convert to GPT from MBR. This way will cause data loss, so it is not recommended. 

② Use MiniTool Partition Wizard

In order to avoid data loss and completely solve the maximum partition number issue, it is necessary to choose a professional and reliable disk and partition management tool to convert the disk to GPT.

Here MiniTool Partition Wizard is worthy of being recommended. It is available on all operating systems, including Windows 7/8/10 PCs and Windows Server 2003/2008/2012/2016/2019. As a piece of professional partition manager, it enables you to do conversion between MBR and GPT without data loss. 

MiniTool Partition Wizard has multiple editions, thereinto, its Free Edition can be used to do the conversion between MBR and GPT on data disk for free. If you need to convert OS disk to GPT to fix the issue disk already contains maximum number of partitions, the Professional Edition should be chosen. Click to learn about the edition comparison.

Free Download

Tip: When converting system disk to GPT, you had better get a bootable edition with Bootable Media and do that thing in WinPE to avoid system accidents.

Here take its Free Edition as an example.

Step 1: Select the target hard drive and click «Convert MBR Disk to GPT Disk» function from «Convert Disk«. 

convert MBR to GPT disk with MiniTool Partition Wizard

Step 2: Then you preview this disk will become GPT disk and all partitions are primary partitions. Next right-click the unallocated space to create a new partition which is primary by default, just like the following picture shows. 

create a primary partition on GPT disk

Step 3: Then you will go back to the main interface. Here you can see five primary partitions on the target disk. Click «Apply» to make all operations effective. 

click apply to make changes effect

Way 2: Convert Primary Partition to Logical

When there are three primary partitions plus one extended partition, but the unallocated space is not next to the logical partition, MiniTool Partition Wizard also doesn’t allow you to create a new partition with unallocated space.

And this tool will tell you an error «PartitionWizard cannot create a partition at here. There are no free MBR slots on the disk«, which is similar to Windows error message «disk already contains maximum number of partitions» due to the rule of maximum partition number. 

no free slots on the disk

In order to solve create partition maximum number problem and make full use of unallocated space in Windows 7/8/10, please convert an existing primary partition to logical partition and try again for a new partition creation. 

Warning: The primary partition you want to set as logical must be adjacent to the logical partition, because extended partition must be included together.

How do you convert a primary partition to logical for a new extended partition successfully? Don’t worry. You also can ask MiniTool Partition Wizard for help with its powerful functions. If you don’t know the detailed operation, please do as the following step-by-step guidance shows. 

Free Download

Step 1: Double-click MiniTool Partition Wizard and then run it by clicking «Launch Application» option. 

Step 2: Then you will go to its clear and simple main interface. After selecting the primary partition G which is next to the logical drive I and unallocated space, you can see there are many features in the left pane, here please select «Set Partition as Logical» feature from «Change Partition» drop-down menu.

Or right-click the target partition to select this function to convert it to logical. 

set partition logical

Step 3: Then you can preview this partition G is in logical status. Next right-click the unallocated space to select «Create» function. Or select the unallocated space to click «Create Partition» from «Partition Management» menu.

create partition with unallocated space

Step 4: Then during the process of partition creation, you can specify the partition setting. After finishing all settings, then click «OK«. 

make settings for the created partiton

  • Partition label: it is designed to add a label to the newly created drive in order to recognize it quickly.
  • File system: MiniTool Partition Wizard allows you to set partition in FAT, FAT32, NTFS, Ext2, Ext3, Ext4, Linux Swap file system, or just let it in «unformatted» status.
  • Drive letter: you can allocate a letter from D to Z for this new partition. Here the letters that have been used won’t be listed.
  • Cluster size: it is recommended to set cluster size as «default». If you have special needs, you can set it as 1kb, 2kb, 4kb, 8kb, 16kb, 32kb or 64kb.
  • Size and Location: it is allowed to drag the black triangles to resize the newly created partition size or input the specific value to textboxes.

Step 5: At last, click «Apply» to execute all changes. Here you can preview partition K will be created.

a new partition is created

Just do as the above steps show, you can easily solve Windows cannot create new simple volume from unallocated space error warning and create a partition successfully in Windows 7/8/10. 

For more cases about setting partition to logical, please refer to this article No Free MBR Slots.

If you are having the same create partition maximum number problem, just download MiniTool Partition Wizard Free Edition to have a try by converting MBR disk to GPT or converting an existing primary partition to logical partition and try again. Or you can share this partition manager with your friends to help fix disk already contains maximum number of partitions error.

Free Download
Click to Tweet

Way 3: Shrink Logical Partition to Create a New Partition

In addition, there is another solution. From the following screenshot, you can clearly see the partition layout. Now if you right-click the unallocated space to select «New Simple Volume» feature, maximum number problem emerges at the end of creating a partition. 

max number of partitions MBR

In this case, you can use Disk Management to shrink the logical partition to allocate some free space for new volume creation in Windows 7/8/10. 

Step 1: Right-click the logical partition and then select «Shrink Volume» for free space. During the process, it is allowed to decide how much free space by setting the value of «Enter the amount of space to shrink in MB«. Then click «OK» to perform this operation. 

shrink volume

Step 2: Then you can right click the free space to select «New Simple Volume» for a new partition. 

create a new volume

Step 3: If you want to create more partitions, you can repeat step 1 and step 2. Like that, many logical partitions will be created. 

Note: However, if you shrink the extended partition for new partition creation, the unallocated space is still not used. If you create a partition with this unallocated space, Windows still tells you your disk meets the maximum partition number. So in my opinion, this solution is not the best one. Just try MiniTool Partition Wizard to convert to GPT disk or convert primary partition to logical to create more partitions.

Free Download

Way 4: Convert Basic Disk to Dynamic Disk

Besides, there is another way to help you get rid of the error disk already contains maximum number of partitions in Windows 7/8/10, that is to convert the basic disk to dynamic disk which could contain a lot of simple volumes and the conversion can be done by using Disk Management. 

Tip: All Microsoft Windows Home Version operating systems don’t support dynamic disks, including Windows Vista Home Basic Edition, Vista Home Premium Edition, Windows 7 Home Basic Edition, Windows 7 Home Premium Edition and so on. Also dynamic disks can’t be used in Windows 95, Windows 98, Windows Me, and Windows NT. If you install such an operating system, it is not allowed to convert to dynamic disk, so please ensure you don’t use OS Home Version.

Useful articles:

  • Is It Possible to Install Windows 7 on Dynamic Disk?
  • What Are Basic and Dynamic Disks?

Detailed steps are as follows: 

Step 1: Right click the basic disk, choose «Convert to Dynamic Disk» from the shortcut menu, and do conversion according to wizards. 

convert to dynamic disk in DM

Step 2: After your disk is converted to dynamic disk, you can create a new simple volume with the unallocated space. 

create a new simple volume

“I experience maximum number of partitions error in Windows 10. This post help me to get out of the trouble, here also share it with you.”Click to Tweet

Verdict

Cannot create partition from unallocated space with the error disk already contains maximum number of partitions? This post shows you four solutions to fix maximum number of partitions on a disk with MBR partition style in Windows 7/8/10. Try them right now!

Do you have any suggestion or better idea? Please let us know via [email protected] or leave a comment below. Much appreciated. 

Updated by
Sherly on Nov 15, 2022

Key Takeaway:

1. This article elaborates on how to fix the «disk already contains maximum number of partitions» error and provides three efficient ways to help.

2. This article introduces an easy-to-use tool to solve the «disk already contains the maximum number of partitions» error.

Do you know why you meet the «disk already contains the maximum number of partitions» error? Or Do you know how to remove this error? Don’t worry! This article will help you remove this error. But first, we need to figure out what causes this error.

What Causes «Disk Already Contains the Maximum Number of Partitions» Error

When you create a new volume using Windows built-in tools Disk Management, Windows may send a warning message to you. «You cannot create a new volume in this unallocated space because the disk already contains the maximum number of partitions».

partition maximum number limit

But what causes this error? Continue to learn.

Cause: MBR disk

Generally, this error occurs on MBR disks. However, what is the maximum number of partitions that can be created on an MBR (Master Boot Record)hard disk? MBR disk is different from a GPT disk in the partition number limit. You can only create four primary or three primary partitions plus one extended partition. However, if the partition number has reached the maximum limit, you will encounter the problem of creating the maximum number of partitions.

If you are interested in the difference between MBR and GPT, click the link below to help.

However, how can you fix the disk partition maximum number error? This article provides three ways to help you remove this error.

Fix «Disk Already Contains the Maximum Number of Partitions» Error — 3 Ways

Removing this error can be very easy as long as you know a professional disk management tool, EaseUS Partition Master Free. This article will give you three ways to fix the disk partition maximum number error.

Fix 1. Convert MBR Disk to GPT

Fix 2. Convert Primary Partition to Logical

Fix 3. Shrink the Logical Partition to Create a New Partition

Happily, once you have EaseUS Partition Master installed on your computer, you can easily use the three methods mentioned above. There are some key features of EaseUS Partition Master.

EaseUS Partition Master

  • Extend MBR partition
  • Repair or rebuild MBR
  • Initialize disk to MBR or GPT
  • Set partition style as MBR or GPT
  • Convert MBR to GPT without data loss for Windows 11 upgrade
  • Create/delete/resize/move partitions on (external) hard drives

Well, download it, and let’s start with the first way and learn how to use EaseUS Partition Master to convert MBR to GPT.

Fix 1. Convert MBR Disk to GPT

The most common way of fixing this error is to convert MBR to GPT format. You don’t need to worry since it is easy with the help of EaseUS Partition Master. Now, download this tool and follow the guide below.

Fix 2. Convert Primary Partition to Logical

How to successfully convert a primary partition into a logical partition of a new extended partition? Don’t worry. You can also seek help from EaseUS Partition Master to learn more about its powerful features. If you don’t understand the detailed operation, please follow the step-by-step guide below. 

Step 1. Download and run EaseUS Partition Master and go to Partition Manager.

Step 2. Right-click the partition you want to convert and click «Advanced», choose the convert option:

  1. 1. Primary to Logical
  2. 2. Logical to Primary

Step 3. Click the «Execute 1 Task» button and then choose «Apply» to begin the conversion. 

0:00 — 0:30 Convert Primary to Logical; 0:31 — 0:50 Convert Logical to Primary.

Fix 3. Shrink the Logical Partition to Create a New Partition

In addition, there is another solution. If you do not want to convert your disk, you can create a new one by shrinking the logical partition. EaseUS Partition Master can help you shrink the partition, and you can create a new partition with simple clicks with its help.

Step 1: Locate and select target partition to shrink

Go to the Partition Manager section, right-click on the partition that you want to shrink and select «Resize/Move».

Step 2: Adjust to shrink partition

Use your mouse to drag the end of the target partition to shrink partition space.

You can also adjust the partition size box to shrink the target partition. Once done, click «OK» to continue.

Step 3: Execute operation

Click the «Execute Task» button and «Apply» to keep all changes.

After shrinking the partition, you can get some unallocated space. Therefore, you can create a new partition based on the unallocated space. Now, follow the video below to try.

Conclusion

Can’t create partitions from unallocated space because the disc already contains the maximum number of partitions? This article shows you three solutions for this error. Once you have downloaded and installed EaseUS Partition Master, it is easy to implement them. The next section shows you some frequently asked questions about this topic and I hope these questions can help.

You may also like:

FAQs About Disk Already Contains Maximum Number of Partitions

Do you know how to fix the «disk already contains the maximum number of partitions» error? Here, I list some other questions for you. Continue to read if you are interested.

1. What is the maximum number of primary partitions that can be created on a hard disk?

In general, if your disc is an MBR, you can create up to 4 primary partitions. Or you can create three primary partitions and one extended partition to accommodate logical drives. If your disk is a GPT, you can have up to 128 partitions without distinguishing between «primary» and «logical» partitions. By default, all partitions on a GPT disk are primary partitions.

2. What is the maximum number of partitions a GPT disk can have?

128 partitions. The space that is reserved for partition entries in the GPT disk limits the number of partitions.

3. Can you have more than four partitions?

Yes, GPT disk allows you to create 128 partitions, while MBR allows you to create three primary and one extended partition. And you can create as many logical partitions as you want if you have enough free space.

ORA-14300: partitioning key maps to a partition outside maximum permitted number of partitions error occurs when the partition key value is null or outside of the maximum allowable value in all partitions in a table. The insert statement contains a partition column key value that is either null or exceeds the maximum number of partitions allowed. The table is divided into logical partitions based on a column known as the partition key column. The error ORA-14300: partitioning key maps to a partition outside maximum permitted number of partitions occurs because the value of the partition key column could not map to any logical partition to store in the partitioned table.

The table is created using logical partitioning. Oracle allows you to create as many logical partitions as you like (2 pow 10). There are 1048576 partitions in all. When the range interval is set to 1, values between 0 and 1048575 can be saved. If the value entered is null or more than 1048575, the value cannot be kept in any of the logical partitions. The error ORA-14300: partitioning key maps to a partition outside maximum permitted number of partition happens as a result of this.

When will this ORA-14300 error occur

The table is built on the basis of a logical partition. When you execute an insert statement with a key column that has a value of null or is beyond the maximum allowed number of partitions, the error “ORA-14300: partitioning key maps to a partition outside maximum permitted number of partition” occurs.

The key value must be within the allowed range in order for the value to be stored in any of the partitions. If the key value exceeds the limit, the partition cannot be identified. As a result, the error occurred.

create table emp (id int)
  partition by range(id) interval(1)
  ( partition p0 values less than (1));
insert into EMP values(null); 

Error starting at line : 37 in command -
insert into EMP values(null)
Error report -
ORA-14300: partitioning key maps to a partition outside maximum permitted number of partitions
insert into EMP values(1048575); 

Error starting at line : 19 in command -
insert into EMP values(1048575)
Error report -
ORA-14300: partitioning key maps to a partition outside maximum permitted number of partitions

Root Cause

A table is created with logical partition. You are running an insert statement with a partition key value of null. Or the partition key value is more than the maximum number of partitions allowed. The partition could not be identified by Oracle based on the partition key column value in the insert statement.

Solution 1

If you are executing an insert statement with partition key column value, check the null value in the insert statement. Providing a valid value in the partition key column in the insert statement will resolve the problem. The key column’s value should not be null. The value must fall within the maximum number of partitions allowed. Null is not an acceptable value in the partitioned table. If you provide a null value, the error “ORA-14300: partitioning key maps to a partition outside the maximum authorised number of partitions” occurs.

insert into EMP values(100);

1 row inserted. 

Solution 2

You can increase the interval value if the partition maximum high value in a table is less than the allowable partition value and you need to insert a value that is more than the acceptable partition value. By increasing the interval value, you will be able to input a wider range of numbers. This approach will be useless if the partition maximum high value is near to the maximum allowable partition.

Increasing the interval value resoles the error ORA-14300: partitioning key maps to a partition outside maximum permitted number of partitions.

Problem

create table emp (id int)
  partition by range(id) interval(1)
  ( partition p0 values less than (1));

insert into EMP values(100);
insert into EMP values(1048575);

Error starting at line : 19 in command -
insert into EMP values(1048575)
Error report -
ORA-14300: partitioning key maps to a partition outside maximum permitted number of partitions 

Verify High value

select table_name, partition_name, high_value FROM ALL_TAB_PARTITIONS where table_name='EMP'; 

table_name, partition_name, high_value
EMP	P0	1 
EMP	SYS_P1121	101

Solution

The high value in the above example is 101. The partition’s maximum high value is 1048575. As a result, we may widen the interval to accommodate a wider range of values in the remaining partitions. This will resolve the ORA-14300: partitioning key maps to a partition outside maximum permitted number of partitions error.

alter table EMP set interval(2); 

insert into EMP values(1048575);
1 row inserted.

Solution 3

If the maximum high value of the partition is near to the maximum allowable partition, increasing the interval value will be useless. Partitions that have already been created are unchangeable. Because the last partition has already been generated, increasing the interval will not help in storing a value greater than the maximum allowed limit.

The only option to handle the value that is more than the maximum permissible partition size is to build a physical partition. To store a value bigger than the maximum partition value, remove the range interval and replace it with the physical partition.

Problem

create table emp (id int)
  partition by range(id) interval(1)
  ( partition p0 values less than (1));

insert into EMP values(1048574);
insert into EMP values(1048575);

Error starting at line : 19 in command -
insert into EMP values(1048575)
Error report -
ORA-14300: partitioning key maps to a partition outside maximum permitted number of partitions 

Verify High value

select table_name, partition_name, high_value FROM ALL_TAB_PARTITIONS where table_name='EMP'; 

table_name, partition_name, high_value
EMP	P0	1 
EMP	SYS_P1121	1048575

Solution

In this case, the partition high value has already been set to the maximum high value of 1048575. As a result, the physical partition is made using the alter partition command.

alter table EMP set interval();  

alter table EMP add partition p_1048575 values less than ( 1048576 );

insert into EMP values(1048575);
1 row inserted.

Partitions can be a wonderful feature in Oracle; they allow faster access to data through partition pruning and they allow for easier archiving and removal of old data. There’s not much that can go wrong with partitions, until you want to create an interval-partitioned table with hash subpartitions and you have a situation where you want use that strategy by creating daily partitions with 1,024 subpartitions. Let’s look at why that plan won’t work, but first let’s look at some logical database limits Oracle imposes on partitions and subpartitions.

The following table lists the logical limits that affect such a strategy:

Partitions Maximum number of partitions allowed per table or index 1024K – 1
Subpartitions Maximum number of subpartitions in a composite partitioned table 1024K – 1

Notice the maximum number of partitions is 1048575. Since we are creating a composite partitioned table the maximum number of subpartitions is also 1048575, which means when you compute the total subpartitions for the entire table it cannot be greater than 1048575. For this example each partition will have 1024 subpartitions, which limits the number of partitions we can create to 1023, since we cannot have a partial partition. Yes, 1023 partitions is a very large number of partitions, and with 365 days in a year that allows for 2.8 years of data in the table, again quite a lot of daily data to be stored. Processes can run happily along until the table reaches that magic number and things start to fail. The example below has been modified from one provided by Jonathan Lewis; notice the various errors it throws when logical partition/subpartition limits are reached:


SQL> 
SQL> set verify off echo on
SQL> column table_name format a20
SQL> column partition_name format a20
SQL> column subpartition_name format a20
SQL> column high_value format a20
SQL> column part_end_dt new_value startdt
SQL> select to_char(trunc(sysdate),'dd-mon-yyyy') part_end_dt from dual;

PART_END_DT
--------------------
02-mar-2016

SQL> 
SQL> create table hash_by_interval (
  2          int_dt         date            not null,
  3          num_val        number(10,0)    not null,
  4          strng_dat      varchar2(100)
  5  )
  6  tablespace assm_int_part_test
  7  partition by range (int_dt) interval (numtodsinterval(1,'DAY'))
  8  subpartition by hash (num_val) subpartitions 1024
  9          (
 10                  partition ip0 values less than (to_date('&startdt','dd-mon-yyyy'))
 11          )
 12  ;

Table created.

SQL> 
SQL> insert into hash_by_interval values (trunc(sysdate) + 1023, 1, rpad('x',100));
insert into hash_by_interval values (trunc(sysdate) + 1023, 1, rpad('x',100))
            *
ERROR at line 1:
ORA-14300: partitioning key maps to a partition outside maximum permitted number of partitions


SQL> insert into hash_by_interval values (trunc(sysdate) + 1022, 1, rpad('x',100));
insert into hash_by_interval values (trunc(sysdate) + 1022, 1, rpad('x',100))
*
ERROR at line 1:
ORA-14299: total number of partitions/subpartitions exceeds the maximum limit


SQL> insert into hash_by_interval values (trunc(sysdate) + 1021, 1, rpad('x',100));

1 row created.

SQL> commit;

Commit complete.

SQL> 

The first attempted insert in the example fails immediately, the second takes a while but it also fails. On the face of it the errors seem to be saying the same thing, but they’re not. Going back to the logical limits the maximum number of partitions is 1048575; the first insert error reports that the partitioning key would map to a partition outside the maximum partition limit, which would create a partition numbered 1048576, clearly a violation of the logical limits. The second insert error reports that it should go into partition number 1025, not a violation of the number of subpartitions for a single partition but it does violate the total subpartitions limit by creating a total of 1048576 subpartitions. They aren’t the same condition so they generate different errors. Both conditions do result in the same problem: no data for the current day in the partitioned table.

For the test table a few numbers:


SQL> 
SQL> select table_name, partition_name, subpartition_count
  2  from user_tab_partitions;

TABLE_NAME           PARTITION_NAME       SUBPARTITION_COUNT
-------------------- -------------------- ------------------
HASH_BY_INTERVAL     SYS_P45714                         1024
HASH_BY_INTERVAL     IP0                                1024

SQL> 
SQL> select table_name, partitioning_type, subpartitioning_type, partition_count, def_subpartition_count, subpartitioning_key_count
  2  from user_part_tables;

TABLE_NAME           PARTITION SUBPARTIT PARTITION_COUNT DEF_SUBPARTITION_COUNT SUBPARTITIONING_KEY_COUNT
-------------------- --------- --------- --------------- ---------------------- -------------------------
HASH_BY_INTERVAL     RANGE     HASH              1048575                   1024                         1

SQL> 
SQL>

For interval partitioned tables Oracle sets the partition count to the maximum limit, 1048575. For hash and range partitioned tables the partition count is the actual number of partitions in the table. An interesting fact emerges with interval-partitioned tables: the first partition is always a RANGE partition, after which the interval partitioning takes over. This is why we see two partitions in the first set of query results shown above.

This example shows how important it is to have a partition archiving process in place for such tables; archiving older partitions by converting them into stand-alone tables provides the necessary ‘room’ to keep this strategy going by ensuring that the table will never reach, much less try to exceed, the logical limits on partition/subpartition counts enforced by Oracle.

Partitioning, when given careful thought and robust testing, can be extremely beneficial in both query performance and data management. Thorough testing is the key, especially at the extreme limits for the data. Devising tests that take Oracle to its logical limits may not be easy, but in cases like this they’re necessary to plan for, and, hopefully eliminate, issues that can stop production in its tracks.

See all articles by David Fitzjarrell

David Fitzjarrell

David Fitzjarrell

David Fitzjarrell has more than 20 years of administration experience with various releases of the Oracle DBMS. He has installed the Oracle software on many platforms, including UNIX, Windows and Linux, and monitored and tuned performance in those environments. He is knowledgeable in the traditional tools for performance tuning – the Oracle Wait Interface, Statspack, event 10046 and 10053 traces, tkprof, explain plan and autotrace – and has used these to great advantage at the U.S. Postal Service, American Airlines/SABRE, ConocoPhilips and SiriusXM Radio, among others, to increase throughput and improve the quality of the production system. He has also set up scripts to regularly monitor available space and set thresholds to notify DBAs of impending space shortages before they affect the production environment. These scripts generate data which can also used to trend database growth over time, aiding in capacity planning.

He has used RMAN, Streams, RAC and Data Guard in Oracle installations to ensure full recoverability and failover capabilities as well as high availability, and has configured a ‘cascading’ set of DR databases using the primary DR databases as the source, managing the archivelog transfers manually and montoring, through scripts, the health of these secondary DR databases. He has also used ASM, ASMM and ASSM to improve performance and manage storage and shared memory.

While running Applier loading data to Oracle target in IDR 9.6.3 HotFix 1, after partitions were added to Target table
Problem Description

Informatica Data Replication (IDR) Applier process fails to Insert data to target with an Ora-14300 error, after an INTERVAL partition was added to the target table column.

Partition details:

PARTITION BY RANGE ("column_name") INTERVAL (NUMTODSINTERVAL(1,'DAY')) 

The Applier log with the error logged is as follows:

"
* Informatica Data Replication Oracle  Applier, Version 9.6.3 HF1 Build 4825416
* Production Version 
* This copy of Data Replication is registered to IDR_0104, licensed for 1 machine 
* Copyright (C) 1993-2016 Informatica LLC. All Rights Reserved.
* See patents at https://www.informatica.com/legal/patents.html.
* Contact support at support@informatica.com
* Data Replication is running on host [cesp001] system [Linux] 
* Release [2.6.32-642.3.1.el6.x86_64] version [#1 SMP Sun Jun 26 18:16:44 EDT 2016]
* Machine [x86_64] CPU cores [4]

2016-10-07 13:58:12.399 (E2EE23E0) IDR-000240 I Started loading the configuration from the configuration SQLite database.
2016-10-07 13:58:12.406 (E2EE23E0) IDR-000239 I Finished loading the configuration from the configuration SQLite database.
2016-10-07 13:58:12.446 (E2EE23E0) IDR-000263 I Runtime settings: 
                                                apply.direct_load_for_audit_tables 0
                                                apply.local_time_zone_hours 8
                                                apply.recovery_table "IDR_TGT_USER"."IDR_RECOVERY"

                                                Target database:
                                                ORACLE
                                                Connection string for target database:
                                                IDR_TGT_USER/********@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.14)(PORT=1835))(CONNECT_DATA=(SERVER=DEDICATED)(ORACLE_SID=O1P)))
                                                Character set: AL32UTF8
                                                Ncharacter set: AL16UTF16
                                                NLS_LANG environment variable: AMERICAN_AMERICA.AL32UTF8
                                                Process ID: 26346
                                                Run ID: 350887
                                                Target ID: 118
                                                Multiple targets: no
                                                Continuous mode: disabled
                                                Number of threads: 1
                                                Path to the DBSYNC_HOME directory: /apps/idradmin/dbsync_home/DataReplication.linux.x86_64
                                                Path to the configuration file: /apps/idradmin/dbsync_home/DataReplication.linux.x86_64/configs/PRD.db
                                                Path to the Applier SQLite database: /apps/idradmin/dbsync_home/DataReplication.linux.x86_64/configs/PRD_loader.db
                                                Path to the intermediate file directory:/apps/idradmin/dbsync_home/DataReplication.linux.x86_64/output/PRD
2016-10-07 13:58:12.579 (E2EE23E0) IDR-070288 I Begin scan transaction file: './output/PRD_records1.trn'
2016-10-07 13:58:12.583 (E2EE23E0) IDR-070289 I End   scan transaction file: './output/PRD_records1.trn'
2016-10-07 13:58:12.587 (E2EE23E0) IDR-000384 I Started loading metadata revisions.
2016-10-07 13:58:12.587 (E2EE23E0) IDR-000385 I Finished loading metadata revisions.
2016-10-07 13:58:12.663 (E2EE23E0) IDR-070161 I Recovery run started.
2016-10-07 13:58:12.691 (E2EE23E0) IDR-070174 I Started parsing the intermediate file './output/PRD_records1.dat'.
2016-10-07 13:58:12.693 (E2EE23E0) IDR-070164 I Connecting to the target database.
2016-10-07 13:58:12.757 (E2EE23E0) IDR-070238 I Connected to the target database.
2016-10-07 13:58:12.759 (E2EE23E0) IDR-070175 I Completed parsing the intermediate file './output/PRD_records1.dat'. Processed 1706 records.
2016-10-07 13:58:12.777 (000D6700) IDR-070231 E The Applier thread 878336 encountered an error in the function 'MyOtlStream::flush'.
2016-10-07 13:58:12.777 (000D6700) IDR-009002 E The following error occurred when working with the database: 

ORA-14300: partitioning key maps to a partition outside maximum permitted number of partitions

                                                SQL statement: INSERT INTO "ODS_CRM"."TAB_REPL"(OP_TIME,OP_CODE,OP_CMT_SCN,OP_CMT_TIME,OP_XID,OP_NUM_IN_TX,"UPDATE_STAMP_O",
"FORMATTED_NAME_O","S_FORMATTED_NAME_O","PERSON_ID_TYPE2HGBST_ELM_O","GENDER2HGBST_ELM_O","CONT_LANG2HGBST_ELM_O","X_NATIONALITY2HGBST_ELM_O","X_RACE2HGBST_ELM_O",
"X_VIP_CODE2HGBST_ELM_O","X_BLCKLST_RSN2HGBST_ELM_O","OBJID_O","FIRST_NAME_O","S_FIRST_NAME_O","LAST_NAME_O","S_LAST_NAME_O","PHONE_O","FAX_NUMBER_O","E_MAIL_O","MAIL_STOP_O",
"EXPERTISE_LEV_O","TITLE_O","HOURS_O","SALUTATION_O","MDBK_O","STATE_CODE_O","STATE_VALUE_O","ADDRESS_1_O","ADDRESS_2_O","CITY_O","STATE_O","ZIPCODE_O","COUNTRY_O","STATUS_O",
"ARCH_IND_O","ALERT_IND_O","DEV_O","MOBILE_PHONE_O","MAIN_RSRC_O","BLG_EVT_GEN_STS_O","ID_VALUE_O","S_ID_VALUE_O","CONTACT_ID_O","LEGAL_NAME_O","PREVIOUS_NAME_O") 
VALUES (:COT           ,:COP         ,:CCS          ,:CCT           ,:CXD          ,:CNTX     ,:P1           ,:P2           ,:P3            ,:P4          ,:P5          ,:P6          ,:P7          ,:P8          
,:P9          ,:P10          ,:P11          ,:P12           ,:P13           ,:P14           ,:P15           ,:P16          ,:P17          ,:P18           ,:P19           ,:P20          ,:P21           ,:P22           ,:P23           ,:P24           ,:P25          ,:P26          ,:P27           ,:P28           ,:P29           ,:P30           ,:P31          ,:P32           ,:P33          ,:P34          ,:P35          ,:P36          ,:P37          ,:P38  ) 
                                                Additional info: 
                                                Error code: 14300
2016-10-07 13:58:12.778 (000D6700) IDR-070229 E Row index: 1. Columns: 142. Total columns: 142.
2016-10-07 13:58:12.778 (000D6700) IDR-070057 E The Applier thread 878336 encountered an OTL or database error when applying a row to the target.
2016-10-07 13:58:12.780 (000D6700) IDR-070062 E The Applier thread 878336 encountered an OTL or database error in the function 'ParallelPostRecordTask::FlushChangeRecordToDestination'.
2016-10-07 13:58:12.780 (000D6700) IDR-070061 E The Applier thread 878336 encountered an OTL or database error in the function 'ParallelPostRecordTask::svc'.
2016-10-07 13:58:12.785 (E2EE23E0) IDR-070090 E The Applier thread 0 returned the error code 5.
2016-10-07 13:58:12.787 (E2EE23E0) IDR-070082 E The Applier encountered a fatal error.
2016-10-07 13:58:12.794 (E2EE23E0) IDR-070132 E Could not finalize the 'PostTaskExecutor' mechanism that distributes records from the intermediate files across Applier threads.
"
​


Cause

This issue occurs because the column on which the partition condition was created is a virtual column created in IDR and the value is updated using SQL Expression. It is not a column originated from source.

On using virtual column, Applier first inserts physical columns and then updates virtual columns with the values calculated based on physical columns.

Thus, the partition column is inserted with NULL value first which invalidates the partition condition and results an Oracle error​.

Solution
To resolve this issue, perform one of the following:

Drop the current partition and use a different column [not a virtual column originated from IDR] as partition key and restart applier task.

OR

Based on the SQL expression being used to update the virtual column value, alter the column to include a DEFAULT value. Thus, on insert, the default value will be inserted first and the update will apply the value from the SQL expression.

You will need to enable row movement for the table, so that row is moved to an appropriate partition when Applier issues subsequent update.

Skip to content

As part of performance tuning exercise we were planning to partition one non-partitioned table.
But while importing data from non-partitioned table to partitioned table, we got

Error report –
SQL Error: ORA-14300: partitioning key maps to a partition outside maximum permitted number of partitions
14300. 00000 – “partitioning key maps to a partition outside maximum permitted number of partitions”
*Cause: The row inserted had a partitioning key that maps to a partition number greater than 1048575
*Action Ensure that the partitioning key falls within 1048575 partitions or subpartitions.

I faced this error when I was creating Range interval partition on a date column.
After checking distinct partitioning key values, they were very less than max partition # limit.
So what could be the reason for this error?

In our case cause of this error was presence of a NULL value in partitioning column.
One reason I can think of is, since its a NULL value oracle does not know which partition to put this value.

If you refer oracle documentation it says “You cannot specify null for partitioning column”, refer to Restrictions on Interval Partitioning at http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_7002.htm

To get read of the error either default null to a constant value or get rid of null records.

Понравилась статья? Поделить с друзьями:
  • Error mass erase operation failed please verify flash protection
  • Error maskrom must choose loader for erasing перевод
  • Error marker find the markers
  • Error mapping types
  • Error manifest merger failed with multiple errors see logs