Partition key
Hi all,
Does anybody knows if ILM assistan (in 1.3 Version ) is able to manage partition table with no date partition key??
I am adding tables to Lifecycle Tables and they are falling with a ORA-20015: Invalid tablespace for table.
I have read here, solution would be adding a date column and use it as partition key. Is it right???
Hi, probably the replies in this thread will help....
Re: Partitioning possibilities for ILM Assistant
Similar Messages
-
How to make use of a list partition key in an IR?
Hi all -- wondering if anyone has any thoughts on the following:
I have a table like this:
CREATE TABLE protocol (
ptl_id INTEGER,
ptl_name VARCHAR2(100),
and this table is LIST partitioned on the key value PTL_ID. (There are many reasons for this need which I won't go into).
My question is, queries that use this table in Interactive Reports I have always have the PTL_ID in them, but it's never a displayed column, it's always hidden (as it's a meaningless surrogate key, not to display to the user). However the default IR behavior, when filtering, won't use it, it will use PTL_NAME (if filtering on a particular PROTOCOL).
What can I do to make the IR use the list partition key PTL_ID instead of PTL_NAME, even though PTL_ID is hidden and PTL_NAME is displayed? I'd get MUCH better performance if I could get it to query via the list partition key.
Any thoughts??
Thanks!
DavidUsers can change the name of the protocol at will, so that is not an option. Switching the partitioning is not an option either, as the PTL_ID's/partitions get pre-created during scheduled maintenance, and there is no tolerance to downtime to create a new partition for every new protocol as they are needed.
Each partition is put in a separate tablespace as there is a need to archive off protocols once they are done.
So I'm back to the original question still. My guess is the answer involves a bunch coding work arounds, not something native in the IRs. I figured I'd ask.
Thanks
David -
NULL partition key in RANGE partition
All,
This is regarding partitioning a table using RANGE partition method. But the partition key contains null. How do I handle this situation? This is because there is no DEFAULT partition in RANGE partition though its present in LIST partition. Will rows with NULL partition key fall in MAXVALUE partition? Seeking your guidence.
Thanks,
...NULLS would fit into the MAXVAL partition yes.
http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/partconc.htm#sthref2590
Thanks
Paul -
"ORA-14400: inserted partition key does not map to any partition"
Hi Experts,
While loading from DSO to Infocube, we are facing the below issue.,
Database error text........: "ORA-14400: inserted partition key does no
any partition"
Internal call code.........: "[RSQL/INSR//BIC/FZORIMB08C ]"
Please check the entries in the system log (Transaction SM21).
"DBIF_RSQL_SQL_ERROR" "CX_SY_OPEN_SQL_DB"
"GP4JNZKXF93GTRTVQO7A5J3Z2VD" or "GP4JNZKXF93GTRTVQO7A5J3Z2VD"
"WRITE_ICFACT"
Information on where terminated:
Termination occurred in the ABAP program "GP4JNZKXF93GTRTVQO7A5J3Z2VD" - in
"WRITE_ICFACT".
The main program was "RSBATCH_EXECUTE_PROZESS ".
In the source code you have the termination point in line 5185
of the (Include) program "GP4JNZKXF93GTRTVQO7A5J3Z2VD".
The program "GP4JNZKXF93GTRTVQO7A5J3Z2VD" was started as a background job.
Job Name....... "BIDTPR_1999057_1"
Job Initiator.. "ALE_POS"
Job Number..... 09074400
The termination is caused because exception "CX_SY_OPEN_SQL_DB" occurred in
procedure "WRITE_ICFACT" "(FORM)", but it was neither handled locally nor
declared
in the RAISING clause of its signature.
The procedure is in program "GP4JNZKXF93GTRTVQO7A5J3Z2VD "; its source code
begins in line
5147 of the (Include program "GP4JNZKXF93GTRTVQO7A5J3Z2VD ".
Can anyone help me.
Regards,
AaryanHi Aaryan,
From an Oracle point of view the error ORA-14400 is due to the partition range where an insert rows with a value out-of-bound of partition range
The system displays the error message if you want to load data into a partitioned table where the partitions have not been defined correctly.
Please run the RSRV test "Entries Not Used in the Dimension of an InfoCube " for the relevant Infocube and afterwards repair any errors with "Correct error" button.
Please have a look at the following notes:
#509660 - ORACLE ERROR 14400 during update to the InfoCube
#590370 - too many uncompressed request (f table partitions)
Finally please do not leave the infocube uncompressed.
Rgds,
Colum -
What Oracle Table contains Partition Key Field Name?
What Oracle table/view maintains the partition key field name?
All_Tab_Partitions does not appear to maintain such information.
When I use Toad -> Schema -> Tables -> Partitions, it lists the partition key field name that the partition is based.
Thank Youall_part_key_columns
or
USER_part_key_columns
Edited by: OrionNet on Dec 5, 2008 3:56 PM -
Query with non partition key in partitioning table
i compare query select with non-partition key condition in table partition with 3, 4 and 6 partition.
time execution for 3 partition faster then 4 partition, time execution for 4 partition faster than 6 partition.
i know processing query select is selection all partition, but i don't know what make time execution different between 3, 4 and 6 partition??
whether the transfer from one partition to another partition takes time?
this example sql trace query select for 3,4 and 6 partition
3 partition
SELECT *
FROM
EQU_PARAM_MONITORINGHASH WHERE TO_CHAR(time_stamp,'mm/yy')=('02/09')
call cpu elapsed disk rows
Parse 0.00 0.00 0 0
Execute 0.00 0.00 0 0
Fetch 5.70 7.57 25291 1157583
total 5.70 7.57 25291 1157583
Parsing user id: 61 (SKENARIO1)
Rows Execution Plan
0 SELECT STATEMENT MODE: ALL_ROWS
0 PARTITION HASH (ALL) PARTITION: START=1 STOP=3
0 TABLE ACCESS MODE: ANALYZED (FULL) OF
'EQU_PARAM_MONITORINGHASH' (TABLE) PARTITION: START=1 STOP=34 partition
SELECT *
FROM
EQU_PARAM_MONITORINGHASH WHERE TO_CHAR(time_stamp,'mm/yy')=('02/09')
call cpu elapsed disk rows
Parse 0.00 0.00 0 0
Execute 0.00 0.00 0 0
Fetch 5.46 8.03 25126 1157583
total 5.46 8.03 25126 1157583
Parsing user id: 62 (SKENARIO2)
Rows Execution Plan
0 SELECT STATEMENT MODE: ALL_ROWS
0 PARTITION HASH (ALL) PARTITION: START=1 STOP=4
0 TABLE ACCESS MODE: ANALYZED (FULL) OF
'EQU_PARAM_MONITORINGHASH' (TABLE) PARTITION: START=1 STOP=46 partition
SELECT *
FROM
EQU_PARAM_MONITORINGHASH WHERE TO_CHAR(time_stamp,'mm/yy')=('02/09')
call cpu elapsed disk rows
Parse 0.00 0.00 0 0
Execute 0.00 0.00 0 0
Fetch 5.73 9.13 25190 1157583
total 5.73 9.13 25190 1157583
Parsing user id: 63 (SKENARIO3)
Rows Execution Plan
0 SELECT STATEMENT MODE: ALL_ROWS
0 PARTITION HASH (ALL) PARTITION: START=1 STOP=6
0 TABLE ACCESS MODE: ANALYZED (FULL) OF
'EQU_PARAM_MONITORINGHASH' (TABLE) PARTITION: START=1 STOP=6thanks
best regards
ekoekopur wrote:
i compare query select with non-partition key condition in table partition with 3, 4 and 6 partition.
time execution for 3 partition faster then 4 partition, time execution for 4 partition faster than 6 partition.
i know processing query select is selection all partition, but i don't know what make time execution different between 3, 4 and 6 partition??
whether the transfer from one partition to another partition takes time?
this example sql trace query select for 3,4 and 6 partition
3 partition
SELECT *
FROM
EQU_PARAM_MONITORINGHASH WHERE TO_CHAR(time_stamp,'mm/yy')=('02/09')
call cpu elapsed disk rows
Parse 0.00 0.00 0 0
Execute 0.00 0.00 0 0
Fetch 5.70 7.57 25291 1157583
total 5.70 7.57 25291 1157583
Parsing user id: 61 (SKENARIO1)
Rows Execution Plan
0 SELECT STATEMENT MODE: ALL_ROWS
0 PARTITION HASH (ALL) PARTITION: START=1 STOP=3
0 TABLE ACCESS MODE: ANALYZED (FULL) OF
'EQU_PARAM_MONITORINGHASH' (TABLE) PARTITION: START=1 STOP=34 partition
SELECT *
FROM
EQU_PARAM_MONITORINGHASH WHERE TO_CHAR(time_stamp,'mm/yy')=('02/09')
call cpu elapsed disk rows
Parse 0.00 0.00 0 0
Execute 0.00 0.00 0 0
Fetch 5.46 8.03 25126 1157583
total 5.46 8.03 25126 1157583
Parsing user id: 62 (SKENARIO2)
Rows Execution Plan
0 SELECT STATEMENT MODE: ALL_ROWS
0 PARTITION HASH (ALL) PARTITION: START=1 STOP=4
0 TABLE ACCESS MODE: ANALYZED (FULL) OF
'EQU_PARAM_MONITORINGHASH' (TABLE) PARTITION: START=1 STOP=46 partition
SELECT *
FROM
EQU_PARAM_MONITORINGHASH WHERE TO_CHAR(time_stamp,'mm/yy')=('02/09')
call cpu elapsed disk rows
Parse 0.00 0.00 0 0
Execute 0.00 0.00 0 0
Fetch 5.73 9.13 25190 1157583
total 5.73 9.13 25190 1157583
Parsing user id: 63 (SKENARIO3)
Rows Execution Plan
0 SELECT STATEMENT MODE: ALL_ROWS
0 PARTITION HASH (ALL) PARTITION: START=1 STOP=6
0 TABLE ACCESS MODE: ANALYZED (FULL) OF
'EQU_PARAM_MONITORINGHASH' (TABLE) PARTITION: START=1 STOP=6
I'm assuming you recreated the table a couple of times with different numbers of hash partitions. (Tip: always use a power of two for the number of hash partitions - it keeps them all around the same size if you are using the feature on an appropriate data set.)
There isn't really enough difference in time within the database to make any sensible comment about the difference in times. I note that you have also edited out the fetch count for the 1.1 million rows fetched, and have not captured (or perhaps just not printed) the wait times, so we don't know where you spent the time inside and outside the database.
For all we can tell, the difference you are worried about might simply be network time on the fetch calls, and have nothing to do with the extract you've published.
Regards
Jonathan Lewis -
Hi,
I have created range partitioning on T_SEP
STEP 1: Create temporary table t_SEP_TMP
CREATE TABLE "T_SEP"
( "SEP_SID" NUMBER(20,0) ,
"SEP_CURR_SID" NUMBER(20,0) ,
"BUS_CYC_D" DATE ,
"FUND_BUS_D" DATE)
PARTITION BY RANGE (BUS_CYC_D)
( PARTITION STG_1 VALUES LESS THAN ( TO_DATE('19/12/08','DD/MM/YYYY'))
TABLESPACE STG_1,
PARTITION STG_3 VALUES LESS THAN ( TO_DATE('22/12/08','DD/MM/YYYY'))
TABLESPACE STG_2,
PARTITION STG_4 VALUES LESS THAN (TO_DATE('23/12/08','DD/MM/YYYY'))
TABLESPACE STG_3,
PARTITION STG_5 VALUES LESS THAN (TO_DATE('24/12/08','DD/MM/YYYY'))
TABLESPACE STG_4,
PARTITION STG_6 VALUES LESS THAN (MAXVALUE)
TABLESPACE STG_5
currently, I have partitioning on only "BUS_CY_D" column, now I need to add one more column to the partitioning key. How can we do this?Anurag Tibrewal wrote:
Hi,
You can achieve this in following ways.
1) Using DBMS_REDEFINITION
2) a) Taking export backup of existing table.
b) Rename existing table, constraints indexes
c) Create new table with required paritition key
d) Import the data to new table.
Regards
Anurag3) rename existing table, create table as select to create new table, add index constraints etc
4) create table as select to create new table, drop existing table, rename new table, add index constraints etc
5) create new table, for each partition of old table (insert data into new table, truncate old table partition) ... etc.
I would try not to use the export method unless space was really tight. If space was an issue then I'd prefer 5. -
Ok, folks... this one is a little strange and baffling...
I am running this command:
delete
from stgbb2_char_xref scx
where exists (select 1 from tt a where scx.entity_id = a.entity_id and scx.attr_id = a.attr_id)
the tt table is nothing but a regular heap table containing the rows that will be used to id those rows in STGBB2_CHAR_XREF that we need to delete.
The definition of tt is:
create table bloomberg.tt(
ENTITY_ID NUMBER(9,0) NOT NULL,
ATTR_ID NUMBER(9,0) NOT NULL
parallel
nocache
nologging
When running the delete, I get this error:
[Error] Script lines: 1-3 --------------------------ORA-12801: error signaled in parallel query server P001
ORA-14400: inserted partition key does not map to any partition
(We are running Oracle 10g)
The stgbb2_char_xref table is a partitioned IOT table - below is the definition:
CREATE TABLE BLOOMBERG.STGBB2_CHAR_XREF (
ENTITY_ID NUMBER(9,0) NOT NULL,
ATTR_ID NUMBER(9,0) NOT NULL,
BASE_ID NUMBER(5,0) NOT NULL,
ROW_ID NUMBER NOT NULL,
PRIMARY KEY(ENTITY_ID,ATTR_ID,BASE_ID,ROW_ID)
ORGANIZATION INDEX
parallel
NOCACHE
MONITORING
partition list(base_id)
(partition base_id1 values(1),
partition base_id1 values(2500))
The question is - why would I get a ORA-14400 on a delete?? I can understand if we were inserting data, but on a delete?? This looks like an Oracle bug almost??Good thought, but no - it's pretty much just a straight up partitioned table with no triggers that could contain an insert.
-
Imp error - ORA-14400: inserted partition key does not map to any partition
Hi,
We have a table (table t) with partitions (p1, p2, ... p12) and two of the partitions (p11 and p12) need to be imported into
another database with different schema. Both the partitions to be imported are in two different export dumps. So, I started
by dropping the table t and then import with the first export dump (p12). The first import went fine, but the second import
failed with error:
IMP-00058: ORACLE error 14400 encountered
ORA-14400: inserted partition key does not map to any partition
IMP-00057: Warning: Dump file may not contain data of all partitions of this table
About to enable constraints...
Import terminated successfully with warnings.
The imp command used is:
imp user/pwd tables=t log=imp.log file=exp.dmp fromuser=db1user touser=db2user ignore=Y grants=n indexes=n constraints=n
statistics=none
Please let me know where is the problem and what is the solution? I need to import the second partition (p11) also
successfully.
Thanks.
BNetraCreated a new partition REST_VALUES with higher range value and all my imports worked fine. But now I have two related issues:
1) All the data got imported into the new partition instead of correct partitions.
2) I observed that the column on which the table is partitioned CREATE_DATE values have been changed to today's (import) date for all rows imported into the new partition.
How do I import properly into respective partitions and not into temporary new partition?
Why did the CREATE_DATE value got changed automatically during import?
Thanks. -
Configuring IPIB with non-default partition key
Hello
I want to put IB HCA port into non-default partition to create separate network on my IB fabric. On IB switch (Voltaire ISR9096) I created network with non-default partition key 0x7ffe and add HCA port to this partition.
But this IB-VPPA was displayed as unconfigured on Solaris host
ib::3BA0001004181,ffff,ipib IB-VPPA connected configured ok
ib::3BA0001004182,fffe,ipib IB-VPPA connected unconfigured unknown
ib::3BA0001004182,ffff,ipib IB-VPPA connected configured okConfiguration of new VPPA with cfgadm was unsuccessful:
# cfgadm -c configure ib::3BA0001004182,fffe,ipib
Configure the device: /devices/ib:fabric::3BA0001004182,fffe,ipib
This operation will suspend activity on the IB device
Continue (yes/no)? yes
cfgadm: Hardware specific failure: configure operation failed ap_id: /devices/ib:fabric::3BA0001004182,fffe,ipibI unconfigured VPPA with default partition key (0xffff) on HCA port 0x3BA0001004182 and issued cfgadm for VPPA with pkey 0xfffe again - the same effect.
I tried this on Solaris 10 8/07 and OpenSolaris b72 with the same result - no success ;)
Is it possible to configure VPPA with non-default pkey on Solaris ?
Is it possible to configure more than 1 IPIB VPPA on single HCA port ?
How to perform these configurations ?
Thanks in advance.
Regards,
Denishi
I was able to setup the listener to serve both databases using netmgr, thanks. Apparently I was trying to use the wrong tool for this previously.
Now i'm able to access the EM Database Control and it seems to be working fine though i get the following error message
Logged in As SYS
Error
java.lang.Exception: Number of responses does not match queries
Database Instance: devel.foo.bar
Now, i'd like to be able to use EM for administering two separate databases (running on the same host). Do i need to migrate the database control somehow to grid control? How do i do that?
What about security? I'd like to use SSL and limit connections to selected clients only.
regards,
aspa -
|Error SQL: ORA-14400: inserted partition key does not map to any partition
I have an installation of ECC6 with BI7 in which consolidated through SEM-BCS OBCS_C10 with the cube, which I have version 100 for fiscal data, 101 data for IFRS and IFRS Copying a 301 version.
The client will ask me the empty version of the 301 in the cube OBCS_C10.
Before switching to empty the cube "Target Real-Time Data Can Be Loaded With Data; Planning Not Allowed."
To empty the cube using transaction RSA1 / manage / contents / Delete Selection.
However, the data is not erased and revise the job gives me the error:
Resumen log job para job BI_INDXD51A1NTCIYWU06OKZZESN1R94 / 07520600
Log job
Hora
Txt.mje.no codificado
04.02.2009
07:52:06
El job ha sido lanzado.
04.02.2009
07:52:06
Paso 001 iniciado (programa RSINDEX1, variante &0000000000108, usuario ACHUY)
04.02.2009
07:52:10
SQL: 04.02.2009 07:52:10 ACHUY
04.02.2009
07:52:10
DELETE FROM DDSTORAGE WHERE DBSYSABBR = 'ORA'
04.02.2009
07:52:10
AND INDEXNAME = ' ' AND TABNAME =
04.02.2009
07:52:10
'/BI0/D0BCS_C101
04.02.2009
07:52:10
SQL-END: 04.02.2009 07:52:10 00:00:00
04.02.2009
07:52:10
SQL: 04.02.2009 07:52:10 ACHUY
04.02.2009
07:52:10
DELETE FROM DDSTORAGE WHERE DBSYSABBR = 'ORA'
04.02.2009
07:52:10
AND INDEXNAME = ' ' AND TABNAME =
04.02.2009
07:52:10
'/BI0/D0BCS_C101
04.02.2009
07:52:10
SQL-END: 04.02.2009 07:52:10 00:00:00
04.02.2009
07:52:10
SQL: 04.02.2009 07:52:10 ACHUY
04.02.2009
07:52:10
CREATE TABLE "/BI0/0100000076" PCTFREE 00
04.02.2009
07:52:10
PCTUSED 00 INITRANS 001 TABLESPACE PSAPSR3
04.02.2009
07:52:10
STORAGE (INITIAL 0000000016 K NEXT
04.02.2009
07:52:10
0000000016 K MINEXTENTS 0000000001 MAXEXTENTS
04.02.2009
07:52:10
UNLIMITED PCTINCREASE 0000 FREELISTS 001
04.02.2009
07:52:10
FREELIST GROUPS 01) AS SELECT DISTINCT DIMID FROM
04.02.2009
07:52:10
"/BI0/D0BCS_C101" "DIM" , "/BI0/SCS_VERSION"
04.02.2009
07:52:10
"MD1" WHERE "DIM"."SID_0CS_VERSION" = "MD1"."SID"
04.02.2009
07:52:10
AND ( "MD1"."CS_VERSION" BETWEEN '301' AND '301'
04.02.2009
07:52:10
SQL-END: 04.02.2009 07:52:10 00:00:00
04.02.2009
07:52:25
SQL: 04.02.2009 07:52:25 ACHUY
04.02.2009
07:52:25
DELETE FROM DDSTORAGE WHERE DBSYSABBR = 'ORA'
04.02.2009
07:52:25
AND INDEXNAME = ' ' AND TABNAME = '/BI0/F0BCS_C10
04.02.2009
07:52:25
SQL-END: 04.02.2009 07:52:25 00:00:00
04.02.2009
07:52:25
SQL: 04.02.2009 07:52:25 ACHUY
04.02.2009
07:52:25
DELETE FROM DDSTORAGE WHERE DBSYSABBR = 'ORA'
04.02.2009
07:52:25
AND INDEXNAME = ' ' AND TABNAME = '/BI0/F0BCS_C10
04.02.2009
07:52:25
SQL-END: 04.02.2009 07:52:25 00:00:00
04.02.2009
07:52:25
SQL: 04.02.2009 07:52:25 ACHUY
04.02.2009
07:52:25
CREATE TABLE "/BI0/0100000030" PCTFREE 10
04.02.2009
07:52:25
PCTUSED 00 INITRANS 001 TABLESPACE PSAPSR3
04.02.2009
07:52:25
STORAGE (INITIAL 0000000016 K NEXT
04.02.2009
07:52:25
0000000000 K MINEXTENTS 0000000001 MAXEXTENTS
04.02.2009
07:52:25
2147483645 PCTINCREASE 0000 FREELISTS 001
04.02.2009
07:52:25
FREELIST GROUPS 01) PARTITION BY RANGE
04.02.2009
07:52:25
("KEY_0BCS_C10P") ( PARTITION "/BI0/F0BCS_C100"
04.02.2009
07:52:25
VALUES LESS THAN (0) TABLESPACE "PSAPSR3",
04.02.2009
07:52:25
PARTITION "/BI0/F0BCS_C100000000019" VALUES LESS
04.02.2009
07:52:25
THAN (0000000019) TABLESPACE "PSAPSR3", PARTITION
|
04.02.2009
07:52:25
"/BI0/F0BCS_C100000000276" VALUES LESS THAN
04.02.2009
07:52:25
(0000000276) TABLESPACE "PSAPSR3", PARTITION
04.02.2009
07:52:25
"/BI0/F0BCS_C100000000277" VALUES LESS THAN
04.02.2009
07:52:25
(0000000277) TABLESPACE "PSAPSR3") AS SELECT *
04.02.2009
07:52:25
FROM "/BI0/F0BCS_C10" WHERE "KEY_0BCS_C101" NOT
04.02.2009
07:52:25
IN ( SELECT "DIMID" FROM "/BI0/0100000076"
04.02.2009
07:52:29
SQL-END: 04.02.2009 07:52:29 00:00:04
04.02.2009
07:52:29
Error SQL: ORA-14400: inserted partition key does not map to any partition
04.02.2009
07:52:29
Error de sistema: CREATE_TABLE_AS_SELECT/RSDU_EXEC_SQL /BI0/0100000030 14400
04.02.2009
07:52:29
El job ha sido cancelado tras excepción de sistema ERROR_MESSAGE.
Someone has an idea how to fix this?This is the SQL of the insert
The partition condition of the table is the column ("KEY_0BCS_C10P")
SELECT * FROM "/BI0/F0BCS_C10" WHERE "KEY_0BCS_C101" NOT IN ( SELECT "DIMID" FROM "/BI0/0100000076" )
This is the info of the /BIO/0100000076 TABLE
SQL> SELECT "DIMID" FROM sapsr3."/BI0/0100000076";
DIMID
6
SQL>
And this are the rows that I think are not included in the partitions of the table
1 SELECT DISTINCT KEY_0BCS_C10P, KEY_0BCS_C101 FROM SAPSR3."/BI0/F0BCS_C10"
2 WHERE KEY_0BCS_C10P > 277
3* AND "KEY_0BCS_C101" NOT IN ( SELECT "DIMID" FROM SAPSR3."/BI0/0100000076" )
SQL> /
KEY_0BCS_C10P KEY_0BCS_C101
284 4
285 4
293 3
292 4
293 4
293 5
285 3
290 4
292 5
283 4
285 5
KEY_0BCS_C10P KEY_0BCS_C101
291 5
292 3
291 4
14 rows selected.
SQL> -
RA-14400: inserted partition key does not map to any partition
Our repository tablespace filledup alll 40GB allocated and over the weekend we stopped OMS agenets and ran the package for partition maintenance.
exec emd_maint_util.partition_maintenance;
Now after starting OMS, all xml files are gettting moved errors directory and following error is getting reported in the emoms.trc file. Any idea how to add these partitions. Not much help in metalink. One of the note says try running "exec emd_loader.rollup(); ". THis is for 10GR1 grid conrol. I am running 10gR2 and reopositiry database 10.1.0.5
==========>
at oracle.sysman.emdrep.dbjava.loader.XMLLoader.run(XMLLoader.java:1304)
at java.lang.Thread.run(Thread.java:534)
2007-05-04 15:35:35,312 [XMLLoader0 90000003561.xml] WARN eml.XMLLoader LoadFiles.672 - Marking the file for retry : 90000003561.xml after receiving exceptionjava.sql.SQLException: ORA-14400: inserted partition key does not map to any partition
<========I think emd_loader.rollup is part of the
emd_maintenance.analyze_emd_schema('SYSMAN') package. Let me try this. -
ORA-14402: updating partition key column would cause a partition change
Hi,
When I am trying to execute an update statement where i am tring to update date values emp_det from 11-oct-2010 to 12-nov-2010.
Oracle throws an error :
ORA-14402
updating partition key column would cause a partition change
I think that this is because emp_det is a partitioning key of a partitioned table.
Oracle documentation says that
"UPDATE will fail if you change a value in the column that would move the
row to a different partition or subpartition, unless you enable row
movement" .
alter table t enable row movement;
I did not understand what is meant by "enable row movement".
I cannot drop the partitions and recreate it after updating the table and also i don't have proper priviliges for enale row movement syntax
because of the lack of privileges. How to solve this is issues with out row movement and recreate partition.
Can this be done by a developer or is there any other way to execute update in this case? its urgent.. pls help..
thanks in advance..
By
Sivaraman
Edited by: kn_sivaraman on Nov 1, 2010 2:32 AMkn_sivaraman wrote:
I did not understand what is meant by "enable row movement". Each partition in partitioned table is physically separate segment. Assume you have a row that belongs to partition A stored in segment A and you change row's partitioning column to value that belongs to partition B - you have an issue since updated row can't be now stored in segment A anymore. By default such update is not allowed and you get an error. You can enable row movement and Oracle will move row to target partition:
SQL> CREATE TABLE SALES_LIST(
2 SALESMAN_ID NUMBER(5,0),
3 SALESMAN_NAME VARCHAR2(30),
4 SALES_STATE VARCHAR2(20),
5 SALES_AMOUNT NUMBER(10,0),
6 SALES_DATE DATE
7 )
8 PARTITION BY LIST(SALES_STATE)
9 (
10 PARTITION SALES_WEST VALUES('California', 'Hawaii'),
11 PARTITION SALES_EAST VALUES('New York', 'Virginia', 'Florida'),
12 PARTITION SALES_CENTRAL VALUES('Texas', 'Illinois'),
13 PARTITION SALES_OTHER VALUES(DEFAULT)
14 )
15 /
Table created.
SQL> insert
2 into sales_list
3 values(
4 1,
5 'Sam',
6 'Texas',
7 1000,
8 sysdate
9 )
10 /
1 row created.
SQL> update sales_list
2 set sales_state = 'New York'
3 where sales_state = 'Texas'
4 /
update sales_list
ERROR at line 1:
ORA-14402: updating partition key column would cause a partition change
SQL> alter table sales_list enable row movement
2 /
Table altered.
SQL> update sales_list
2 set sales_state = 'New York'
3 where sales_state = 'Texas'
4 /
1 row updated.
SQL> SY. -
Vld 004 error - partition key has less than 2 partitions defined
HI All,
i have created a new table with a partition on one colunm. when i am trying to validate the table in owb, i am getting the vld-904 - partition key has less than two partitions defined error.
please help.
thank you.Hi,
Oracle DB requires that a partitioned table has at least 2 partitions. That is why you get an error from owb, the table creation would fail anyway.
Regards,
Carsten. -
Oracle 11gR2: partition key column, need to be modified
Hi folks,
Have a situation, need to increase a column width, which is also a partition key and table is pretty huge, can any one assist, what is the best possible way to achieve this task.
Thanks in advance.No need to build multiple temp tables, do multiple swaps, and do multiple redefines of the temp table columns when you can just build the one table that you need.OK. Could you show us a script for your approach.
Meantime I show mine.
Preparation
create table PART_TEST (part_key number(1), val varchar2(100))
partition by range(part_key)(
partition P0 values less than (1),
partition P1 values less than (2),
partition P2 values less than (3),
partition P3 values less than (4)
insert into PART_TEST values (0,'zero');
insert into PART_TEST values (1,'one');
insert into PART_TEST values (2,'two');
insert into PART_TEST values (3,'three');
commit;The modification
set timing on
create table PART_TEST_P0 as select * from PART_TEST where 1=0;
create table PART_TEST_P1 as select * from PART_TEST where 1=0;
create table PART_TEST_P2 as select * from PART_TEST where 1=0;
create table PART_TEST_P3 as select * from PART_TEST where 1=0;
alter table PART_TEST exchange partition P0 with table PART_TEST_P0;
alter table PART_TEST exchange partition P1 with table PART_TEST_P1;
alter table PART_TEST exchange partition P2 with table PART_TEST_P2;
alter table PART_TEST exchange partition P3 with table PART_TEST_P3;
alter table PART_TEST_P0 modify part_key number(6);
alter table PART_TEST_P1 modify part_key number(6);
alter table PART_TEST_P2 modify part_key number(6);
alter table PART_TEST_P3 modify part_key number(6);
drop table PART_TEST;
create table PART_TEST (part_key number(6), val varchar2(100))
partition by range(part_key)(
partition P0 values less than (1),
partition P1 values less than (2),
partition P2 values less than (3),
partition P3 values less than (4)
alter table PART_TEST exchange partition P0 with table PART_TEST_P0;
alter table PART_TEST exchange partition P1 with table PART_TEST_P1;
alter table PART_TEST exchange partition P2 with table PART_TEST_P2;
alter table PART_TEST exchange partition P3 with table PART_TEST_P3;Whole modification of the column takes a fraction of second because there is no need to physically move data. Only metadata is changed. -
Column Containing Partition Key Condition Information
I am using 11.2.0.2 on AIX 6.1.
I am creating a range partition table as below.
CREATE TABLE SALES_RANGE
( prod_id NUMBER(6)
, cust_id NUMBER
, time_id DATE
, channel_id NUMBER(3)
PARTITION BY RANGE (time_id)
( PARTITION sales_q1_2012 VALUES LESS THAN (TO_DATE('01-APR-2012','dd-MON-yyyy'))
, PARTITION sales_q2_2012 VALUES LESS THAN (TO_DATE('01-JUL-2012','dd-MON-yyyy'))
, PARTITION sales_q3_2012 VALUES LESS THAN (TO_DATE('01-OCT-2012','dd-MON-yyyy'))
, PARTITION sales_q4_2012 VALUES LESS THAN (TO_DATE('01-JAN-2013','dd-MON-yyyy'))
);I can find all the information related to this table in dictionary tables like below.
SQL> SELECT OWNER,
TABLE_NAME,
PARTITIONING_TYPE,
SUBPARTITIONING_TYPE,
PARTITION_COUNT,
PARTITIONING_KEY_COUNT,
STATUS,
DEF_TABLESPACE_NAME
FROM DBA_PART_TABLES
WHERE OWNER='SCOTT';
OWNER TABLE_NAME PARTITION SUBPARTIT PARTITION_COUNT PARTITIONING_KEY_COUNT STATUS DEF_TABLESPACE_NAME
SCOTT SALES_RANGE RANGE NONE 4 1 VALID USERS
SQL> SELECT TABLE_OWNER,
TABLE_NAME,
COMPOSITE,
PARTITION_NAME,
PARTITION_POSITION,
TABLESPACE_NAME,
LAST_ANALYZED
FROM DBA_TAB_PARTITIONS
WHERE TABLE_OWNER='SCOTT'
ORDER BY PARTITION_POSITION;
TABLE_OWNER TABLE_NAME COM PARTITION_NAME PARTITION_POSITION TABLESPACE_NAME LAST_ANAL
SCOTT SALES_RANGE NO SALES_Q1_2012 1 USERS 17-FEB-12
SCOTT SALES_RANGE NO SALES_Q2_2012 2 USERS 17-FEB-12
SCOTT SALES_RANGE NO SALES_Q3_2012 3 USERS 17-FEB-12
SCOTT SALES_RANGE NO SALES_Q4_2012 4 USERS 17-FEB-12
SQL> SELECT * FROM DBA_PART_KEY_COLUMNS WHERE OWNER='SCOTT';
OWNER NAME OBJEC COLUMN_NAME COLUMN_POSITION
SCOTT SALES_RANGE TABLE TIME_ID 1But where can i find the partition key condition i.e. *"VALUES LESS THAN (TO_DATE('01-APR-2012','dd-MON-yyyy'))"* in any dictionary table ?Thanks for your quick reply....
I have already checked and included in my example given.
SQL> SELECT * FROM DBA_PART_KEY_COLUMNS WHERE OWNER='SCOTT';
OWNER NAME OBJEC COLUMN_NAME COLUMN_POSITION
SCOTT SALES_RANGE TABLE TIME_ID 1It's only giving the column name on which partitioning is done, not the partitioning condition.
My question was, in which table i can check the criteria on which i have range partitioned a table ? Is there an dictionary table which holds information like:
PARTITION_NAME PARTITION_CONDITION
SALES_Q1_2012 VALUES LESS THAN (TO_DATE('01-APR-2012','dd-MON-yyyy')I hope i am clear in my question......
Maybe you are looking for
-
Reader 11.0.4.63 freezes after click (not responding)
Hi, Windows 7 x64, Reader 11.0.4.63. When I open a PDF (or even when I just open reader) it freezes when I click the mouse or try to scroll the document. I've tried uninstalling and reinstalling. I've tried turning off protected mode (found a registr
-
I have created an 8 page Pages 06 document, I am trying to change the page locations, normally I would just drag the pages into the order I want but whilst i can do this with pages 1 & 2 pages 3-8 all seem act as one page - by clicking on page 4 all
-
Hello, my email is connected to Lotus Notes. When I updated my iPad to iOS 6, it REQUIRED that I have a password for the iPad or else my email wouldn't work or synchronize with Lotus Notes (on my work laptop). This is really frustrating, because I ca
-
Field History in Wbe dynpro application
Hi everybody, I would like to have the field history in the input fields, for example. I know that Web Dynpro ABAP has disabled this browser feature. Is it possible to implement a specific solution to have the field history ? Thanks a lot. Jérôme
-
Pick Common records from 2 internal tables
Hi, I have 2 similar internal tables it_bseg1 (contain records based on the Posting Date BUDAT of document) & it_bseg2 (contain records based on the Customer Code KUNNR). Both these tables contains some common records. And I want these common records