ORA-01410 Invalid RowID. Help me..
Hi,
I'm getting ORA-01410 error while trying to backup table X.
(table X has no indexes.)
what i did..
1) using exp... --> ORA-01410 error
2) create table X2 as select * from X --> ORA-01410 error
3) alter table X move tablespace T2 --> ORA-01410 error
4) analyze table X validate structure cascade --> ORA-01410 error
maybe corruption?
what i did next..
1) fsck --> OK
2) dbv file=XXX BLOCKSIZE=8192 (all datafiles) -> OK
3) dbms_repair.check_object(...) -> OK
i cannot understand this case.
it's not the case of index corruption or "current of" bug.
My environment is...
- OS : Fedora Core 4
- DB : Oracle 9.2.0.8 for Linux
Can somebody tell me how i should repair this table?
Table size is 4,197,449,728 (about 4GB) and 512,384 blocks (1block = 8KB)
as I mentioned before, create as select statement was failed.
at the view "v$longops" ,
I can see progress of full scanning..
from 0 block to 451341 block...
but, there the ORA-01410 error is raised.
Similar Messages
-
Help to Identify the peace of code Causing - ORA-01410: invalid ROWID
Hi I have Plsql Block that runs monthly and process 10 million records and every once in a while it fails with the ORA-01410: invalid ROWID Error ,last month it failed two times with same error ,if any one could point me what is wrong this code ,i will work on it to fix. if you see the code we have exceptio n block at the end of the code ,we have procedure that inserts a record into log table ,so both the failures had inserted a record into the table that means it failed before it entered into for loop.
my question is can Fech statement cause invalid rowid.
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production
CORE 10.2.0.4.0 Production
DECLARE
cFetchLimit CONSTANT NUMBER := 100000;
nRunningTotal NUMBER := 0;
CURSOR curRawData IS
SELECT rawdata.*, SYS_GUID() combinedprofitdataid,
NVL((SELECT 'Y'
FROM SNAP_CDS_HR_NONSENSITIVE_DATA
WHERE emplid = LPAD(rawdata.fk_westprireltnshpmanagerempid,11,'0')),'N') hrempexists,
NVL((SELECT MAX('Y')
FROM SNAP_MAX_Entity
WHERE AU = DECODE(LENGTH(REPLACE(TRANSLATE(rawdata.fk_west_bookingau, '0123456789' ,'**********'), '*', NULL)), NULL, rawdata.fk_west_bookingau, NULL)
),'N') bookingauexists,
NVL((SELECT MAX('Y')
FROM SNAP_MAX_Entity
WHERE AU = DECODE(LENGTH(REPLACE(TRANSLATE(rawdata.fk_westprireltnshpmanagerempau, '0123456789' ,'**********'), '*', NULL)), NULL, rawdata.fk_westprireltnshpmanagerempau, NULL)
),'N') prirelmanempauexists,
NVL((SELECT MAX('Y')
FROM SNAP_MAX_ProductGroup
WHERE ProductGroupId = DECODE(LENGTH(REPLACE(TRANSLATE(rawdata.fk_west_productgroupid, '0123456789' ,'**********'), '*', NULL)), NULL, rawdata.fk_west_productgroupid, NULL)
),'N') productgroupexists,
NVL((SELECT MAX('Y')
FROM SNAP_MAX_Product
WHERE ProductId = rawdata.fk_west_productid
),'N') productidexists,
NVL((SELECT MAX('Y')
FROM SNAP_MAX_SubProduct
WHERE SubProductId = rawdata.fk_west_subproductid
),'N') subproductidexists,
(SELECT e.GL_ENTITY
FROM SNAP_CDS_HR_NONSENSITIVE_DATA e
WHERE e.emplid = LPAD(rawdata.fk_westprireltnshpmanagerempid,11,'0')
AND e.AU = rawdata.FK_WESTPRIRELTNSHPMANAGEREMPAU ) entity_fk_westprirelmanempau
FROM T_rawdata rawdata
WHERE rawdata.dda_flag = 'N';
TYPE RawData_aat IS TABLE OF curRawData%ROWTYPE INDEX BY PLS_INTEGER;
l_RawData RawData_aat;
TYPE CombinedProfitData_aat IS TABLE OF T_WIS_CDS_COMBINEDPROFITDATA%ROWTYPE INDEX BY PLS_INTEGER;
l_CombinedP CombinedProfitData_aat;
cpdIdx NUMBER := 0;
vcHREmpExists VARCHAR2(1) := 'N';
vcBookingAuExists VARCHAR2(1) := 'N';
vcPriRelManEmpAuExists VARCHAR2(1) := 'N';
vcProductGroupExists VARCHAR2(1) := 'N';
vcProductIDExists VARCHAR2(1) := 'N';
vcSubProductIDExists VARCHAR2(1) := 'N';
vcBEIDExists VARCHAR2(1) := 'N';
l_raw_accountnum t_wis_cds_h_act_rawdata.account%TYPE := NULL;
l_raw_bank_id t_wis_cds_h_act_rawdata.account%TYPE := NULL;
l_west_sourcesystem t_wis_cds_h_act_rawdata.sourcesystem%TYPE := NULL;
l_fnd_combinedprofitdataid T_WIS_CDS_COMBINEDPROFITDATA.combinedprofitdataid%TYPE := NULL;
FUNCTION BEIDExists(p_west_be_id VARCHAR2) RETURN VARCHAR2 IS
CURSOR curBEIDData IS
SELECT 'Y'
FROM SNAP_STOBEX_BUSINESS_ENTITY
WHERE be_id = p_west_be_id;
BEGIN
FOR recBEIDData IN curBEIDData LOOP
RETURN 'Y';
END LOOP;
RETURN 'N';
EXCEPTION
WHEN OTHERS THEN
P_WIS_CDS.LOG('exists', SQLCODE, SQLERRM);
RETURN 'N';
END BEIDExists;
BEGIN
OPEN curRawData;
LOOP
FETCH curRawData BULK COLLECT INTO l_RawData LIMIT cFetchLimit;
EXIT WHEN l_RawData.COUNT = 0;
l_CombinedP.DELETE;
cpdIdx := 0;
nRunningTotal := nRunningTotal + l_RawData.COUNT;
P_WIS_CDS.info('Merge_cp','0', 'Processing '||nRunningTotal||' rows @ '||SYSDATE);
FOR i IN l_RawData.FIRST..l_RawData.LAST LOOP
cpdIdx := (cpdIdx+1);
vcHREmpExists := 'N';
vcBookingAuExists := 'N';
vcPriRelManEmpAuExists := 'N';
vcProductGroupExists := 'N';
vcProductIDExists := 'N';
vcSubProductIDExists := 'N';
vcBEIDExists := 'N';
l_CombinedP(cpdIdx).exportsource := l_RawData(i).exportsource;
l_CombinedP(cpdIdx).exportsourcetype := l_RawData(i).exportsourcetype;
l_CombinedP(cpdIdx).fk_exportsourceid := l_RawData(i).exportsourceid;
IF l_RawData(i).fk_westprireltnshpmanagerempid IS NOT NULL THEN
l_CombinedP(cpdIdx).fk_westprireltnshpmanagerempid :=
LPAD(l_RawData(i).fk_westprireltnshpmanagerempid, 11, '0');
ELSE
l_CombinedP(cpdIdx).fk_westprireltnshpmanagerempid := NULL;
END IF;
l_CombinedP(cpdIdx).fk_west_productgroupid :=
l_RawData(i).fk_west_productgroupid;
l_CombinedP(cpdIdx).fk_west_productid :=
l_RawData(i).fk_west_productid;
l_CombinedP(cpdIdx).fk_west_subproductid :=
l_RawData(i).fk_west_subproductid;
l_CombinedP(cpdIdx).fk_west_bookingau := NULL;
IF l_RawData(i).fk_westprireltnshpmanagerempau IS NOT NULL OR l_RawData(i).fk_westprireltnshpmanagerempau <> '0' THEN
l_CombinedP(cpdIdx).fk_westprireltnshpmanagerempau :=
lpad(l_RawData(i).fk_westprireltnshpmanagerempau,7,'0'); ---->751 task
ELSE
l_CombinedP(cpdIdx).fk_westprireltnshpmanagerempau := NULL;
END IF;
l_CombinedP(cpdIdx).combinedprofitdataid := l_RawData(i).combinedprofitdataid; ---SYS_GUID();
l_CombinedP(cpdIdx).exportsource := l_RawData(i).exportsource;
l_CombinedP(cpdIdx).exportsourcetype := l_RawData(i).exportsourcetype;
l_CombinedP(cpdIdx).fk_exportsourceid := l_RawData(i).exportsourceid;
l_CombinedP(cpdIdx).endofmonthdate := l_RawData(i).endofmonthdate;
l_CombinedP(cpdIdx).account := l_RawData(i).account;
l_CombinedP(cpdIdx).westaccount := l_RawData(i).westaccount;
IF l_RawData(i).westaccount IS NOT NULL
THEN
l_CombinedP(cpdIdx).iseastaccountconvertedtowest := 'Y';
END IF;
BEGIN
SELECT customer.WEST_BE_ID,
linkage.parent_id,
linkage.top_parent_id
INTO l_CombinedP(cpdIdx).fk_west_be_id,
l_CombinedP(cpdIdx).fk_west_ber_id,
l_CombinedP(cpdIdx).fk_west_hlber_id
FROM SNAP_STOBEX_BE_BER_LINKAGE linkage,
T_EastToWest customer
WHERE customer.east_customerid = l_RawData(i).fk_customerid
AND customer.east_accountid = NVL(l_RawData(i).westaccount,l_RawData(i).account)
AND linkage.entity_id(+) = customer.west_be_id
AND linkage.entity_type(+) = 'BE'
AND ROWNUM = 1;
EXCEPTION
WHEN NO_DATA_FOUND THEN
BEGIN
SELECT customer.WEST_BE_ID,
linkage.parent_id,
linkage.top_parent_id
INTO l_CombinedP(cpdIdx).fk_west_be_id,
l_CombinedP(cpdIdx).fk_west_ber_id,
l_CombinedP(cpdIdx).fk_west_hlber_id
FROM SNAP_STOBEX_BE_BER_LINKAGE linkage,
T_EastToWest customer
WHERE customer.east_customerid = l_RawData(i).fk_customerid
AND customer.east_accountid = l_RawData(i).account
AND linkage.entity_id(+) = customer.west_be_id
AND linkage.entity_type(+) = 'BE'
AND ROWNUM = 1;
EXCEPTION
WHEN OTHERS THEN
l_CombinedP(cpdIdx).fk_west_be_id := NULL;
l_CombinedP(cpdIdx).fk_west_ber_id := NULL;
l_CombinedP(cpdIdx).fk_west_hlber_id := NULL;
END;
WHEN OTHERS THEN
l_CombinedP(cpdIdx).fk_west_be_id := NULL;
l_CombinedP(cpdIdx).fk_west_ber_id := NULL;
l_CombinedP(cpdIdx).fk_west_hlber_id := NULL;
END;
l_fnd_combinedprofitdataid := NULL;
BEGIN
SELECT COMBINEDPROFITDATAID
INTO l_fnd_combinedprofitdataid
FROM T_WIS_CDS_COMBINEDPROFITDATA cpd
WHERE cpd.fk_west_be_id = l_CombinedP(cpdIdx).fk_west_be_id
AND cpd.fk_west_productgroupid = l_CombinedP(cpdIdx).fk_west_productgroupid
AND cpd.fk_west_productid = l_CombinedP(cpdIdx).fk_west_productid
AND cpd.fk_west_subproductid = l_CombinedP(cpdIdx).fk_west_subproductid
AND extract(month from cpd.endofmonthdate) = extract(month from l_CombinedP(cpdIdx).endofmonthdate)
AND extract(year from cpd.endofmonthdate) = extract(year from l_CombinedP(cpdIdx).endofmonthdate)
AND cpd.revenue BETWEEN l_CombinedP(cpdIdx).revenue - 10.00 AND l_CombinedP(cpdIdx).revenue + 10.00
AND cpd.exportsource <> 'CP'
AND ROWNUM = 1;
EXCEPTION
WHEN NO_DATA_FOUND THEN
l_fnd_combinedprofitdataid := NULL;
WHEN OTHERS THEN
l_fnd_combinedprofitdataid := NULL;
END;
IF l_fnd_combinedprofitdataid IS NOT NULL THEN
l_CombinedP(cpdIdx).isduplicate := 'Y';
l_CombinedP(cpdIdx).fk_duplicatecpdid := l_fnd_combinedprofitdataid;
ELSE
l_CombinedP(cpdIdx).isduplicate := 'N';
l_CombinedP(cpdIdx).fk_duplicatecpdid := NULL;
END IF;
l_CombinedP(cpdIdx).iserror := 'N';
l_CombinedP(cpdIdx).errormessage := NULL;
IF l_CombinedP(cpdIdx).FK_WESTPRIRELTNSHPMANAGEREMPAU IS NULL AND l_CombinedP(cpdIdx).ENTITY_FK_WESTPRIRELMANEMPAU IS NOT NULL THEN
l_CombinedP(cpdIdx).iserror := 'Y';
IF (LENGTH(NVL(l_CombinedP(cpdIdx).errormessage,0))+LENGTH('FK_WESTPRIRELTNSHPMANAGEREMPAU is NULL but Entity value exists. ')) < 250 THEN
l_CombinedP(cpdIdx).errormessage := l_CombinedP(cpdIdx).errormessage||'FK_WESTPRIRELTNSHPMANAGEREMPAU is NULL but Entity value exists. ';
END IF;
END IF;
IF l_CombinedP(cpdIdx).fk_westprireltnshpmanagerempid IS NULL AND
l_RawData(i).primaryrelationshipmanagerid IS NOT NULL THEN
l_CombinedP(cpdIdx).iserror := 'Y';
IF (LENGTH(NVL(l_CombinedP(cpdIdx).errormessage,0))+LENGTH('Missing CP RM/EMP ID translation. ')) < 250 THEN
l_CombinedP(cpdIdx).errormessage := l_CombinedP(cpdIdx).errormessage||'Missing CP RM/EMP ID translation. ';
END IF;
ELSE
vcHREmpExists := l_RawData(i).HREmpExists;
IF vcHREmpExists <> 'Y' THEN
l_CombinedP(cpdIdx).iserror := 'Y';
IF (LENGTH(NVL(l_CombinedP(cpdIdx).errormessage,0))+LENGTH('Invalid CP RM/Emp ID translation. ')) < 250 THEN
l_CombinedP(cpdIdx).errormessage := l_CombinedP(cpdIdx).errormessage||'Invalid CP RM/Emp ID translation. ';
END IF;
END IF;
END IF;
IF l_CombinedP(cpdIdx).fk_westprireltnshpmanagerempau IS NULL AND
l_RawData(i).primaryrelationshipmanagerau IS NOT NULL THEN
l_CombinedP(cpdIdx).iserror := 'Y';
IF (LENGTH(NVL(l_CombinedP(cpdIdx).errormessage,0))+LENGTH('Missing CP RM/EMP AU reference. ')) < 250 THEN
l_CombinedP(cpdIdx).errormessage := l_CombinedP(cpdIdx).errormessage||'Missing CP RM/EMP AU reference. ';
END IF;
END IF;
vcPriRelManEmpAuExists := l_RawData(i).PriRelManEmpAuExists;
IF vcBookingAuExists <> 'Y' THEN
l_CombinedP(cpdIdx).iserror := 'Y';
IF (LENGTH(NVL(l_CombinedP(cpdIdx).errormessage,0))+LENGTH('Invalid CP RM/Emp AU translation. ')) < 250 THEN
l_CombinedP(cpdIdx).errormessage := l_CombinedP(cpdIdx).errormessage||'Invalid CP RM/Emp AU translation. ';
END IF;
END IF;
IF l_CombinedP(cpdIdx).fk_west_productgroupid IS NULL THEN
l_CombinedP(cpdIdx).iserror := 'Y';
IF (LENGTH(NVL(l_CombinedP(cpdIdx).errormessage,0))+LENGTH('Missing CP Product Group translation. ')) < 250 THEN
l_CombinedP(cpdIdx).errormessage := l_CombinedP(cpdIdx).errormessage||'Missing CP Product Group translation. ';
END IF;
ELSE
vcProductGroupExists := l_RawData(i).ProductGroupExists;
IF vcProductGroupExists <> 'Y' THEN
l_CombinedP(cpdIdx).iserror := 'Y';
IF (LENGTH(NVL(l_CombinedP(cpdIdx).errormessage,0))+LENGTH('Invalid CP Product Group translation. ')) < 250 THEN
l_CombinedP(cpdIdx).errormessage := l_CombinedP(cpdIdx).errormessage||'Invalid CP Product Group translation. ';
END IF;
END IF;
END IF;
IF l_CombinedP(cpdIdx).fk_west_productid IS NOT NULL THEN
vcProductIdExists := l_RawData(i).ProductIdExists;
IF vcProductGroupExists <> 'Y' THEN
l_CombinedP(cpdIdx).iserror := 'Y';
IF (LENGTH(NVL(l_CombinedP(cpdIdx).errormessage,0))+LENGTH('Invalid CP Product translation. ')) < 250 THEN
l_CombinedP(cpdIdx).errormessage := l_CombinedP(cpdIdx).errormessage||'Invalid CP Product translation. ';
END IF;
END IF;
END IF;
IF l_CombinedP(cpdIdx).fk_west_subproductid IS NOT NULL THEN
vcSubProductIdExists := l_RawData(i).SubProductIdExists;
IF vcSubProductIdExists <> 'Y' THEN
l_CombinedP(cpdIdx).iserror := 'Y';
IF (LENGTH(NVL(l_CombinedP(cpdIdx).errormessage,0))+LENGTH('Invalid CP Sub Product translation. ')) < 250 THEN
l_CombinedP(cpdIdx).errormessage := l_CombinedP(cpdIdx).errormessage||'Invalid CP Sub Product translation. ';
END IF;
END IF;
END IF;
IF l_CombinedP(cpdIdx).fk_west_be_id IS NULL THEN
l_CombinedP(cpdIdx).iserror := 'Y';
IF (LENGTH(NVL(l_CombinedP(cpdIdx).errormessage,0))+LENGTH('Missing CP BE ID translation. ')) < 250 THEN
l_CombinedP(cpdIdx).errormessage := l_CombinedP(cpdIdx).errormessage||'Missing CP BE ID translation. ';
END IF;
ELSE
vcBEIDExists := BEIDExists(l_CombinedP(cpdIdx).fk_west_be_id);
IF vcBEIDExists <> 'Y' THEN
l_CombinedP(cpdIdx).iserror := 'Y';
IF (LENGTH(NVL(l_CombinedP(cpdIdx).errormessage,0))+LENGTH('Invalid CP BE ID translation. ')) < 250 THEN
l_CombinedP(cpdIdx).errormessage := l_CombinedP(cpdIdx).errormessage||'Invalid CP BE ID translation. ';
END IF;
END IF;
END IF;
END LOOP;
FORALL i in l_CombinedP.FIRST..l_CombinedP.LAST
INSERT INTO T_WIS_CDS_COMBINEDPROFITDATA
VALUES l_CombinedP(i);
COMMIT;
END LOOP;
CLOSE curRawData;
COMMIT;
EXCEPTION
WHEN OTHERS THEN
IF curRawData%ISOPEN THEN
CLOSE curRawData;
END IF;
P_WIS_CDS.LOG('Error', SQLCODE, SQLERRM);
END;
/Thank youI just looked at all the ddls' i have the following syntax for all MV's
CREATE MATERIALIZED VIEW WIS.SNAP_MAX_ENTITY
TABLESPACE WIS_CDS_DATA01
PCTUSED 0
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 80K
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
NOCACHE
LOGGING
NOCOMPRESS
NOPARALLEL
BUILD IMMEDIATE
USING INDEX
TABLESPACE WIS_DATA01
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 80K
NEXT 80K
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
REFRESH FORCE ON DEMAND
WITH PRIMARY KEYEdited by: vijayp on Aug 7, 2012 6:44 PM
Edited by: vijayp on Aug 7, 2012 7:02 PM -
Raise Form_Trigger_Failure on When-Button-Pressed ORA-01410 Invalid RowID
Hello to all...
I have an error whit Raise Form_Trigger_Failure on trigger When-Button-Pressed.
I guess the error is when does the Raise Form_Trigger_Failure
When validate something, this validation ask me if i want to continue.
When i answer NO, give me this error: ORA-01410 Invalid RowID
If i answer YES, the process continue and in an unexpected moment, give that error too
Why give me that error?
How can i resolve this error...help me
thanks...
Part of Code
FOR i IN 1..TItemsAsi1.LAST LOOP
IF TItemsAsi1(i).c_error IS NOT NULL THEN
l_error := l_error + 1;
IF TItemsAsi1(i).c_error = 'ND' THEN
IF NOT Fpa_mensaje.disp_consulta_sino('Atención','No hay datos suficientes para generar Asiento de cierre relacionado a Reconocimiento de los recursos del ejercicio') THEN
RAISE FORM_TRIGGER_FAILURE;
END IF ; ELSIF TItemsAsi1(i).c_error = 'AD' THEN
IF NOT Fpa_mensaje.disp_consulta_sino('Atención','Hay cuentas Acreedoras con saldo Deudor CUENTA: '||TItemsAsi1(i).c_cuenta||'. ¿Desea continuar con el cierre? ') THEN
RAISE FORM_TRIGGER_FAILURE;
END IF ; ELSIF TItemsAsi1(i).c_error = 'DA' THEN
IF NOT Fpa_mensaje.disp_consulta_sino('Atención','Hay cuentas Deudoras con saldo Acreedor CUENTA:'||TItemsAsi1(i).c_cuenta||'. ¿Desea continuar con el cierre? ') THEN
RAISE FORM_TRIGGER_FAILURE;
END IF ; END IF;END IF;END LOOP;delete from <table> where rowid like '<block id>%'Arrgh. To be honest, this is the worst sql-statement i have seen this year. i hope the statement will raise an error on execution, but even if it would get executed, what should be the reason for something like this? Delete anything which is stored in a specific block, regardless of the meaning ?
-
Local Domain Index query fails with ora-01410: invalid rowid
Hello!
I have a task to implement partitioned domain index for range partitioned table.
As I understood from reference http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28425/dom_idx.htm
the main difference is to provide support for partitioning operations by
implementing corresponding ODCI interface functions.
For the first I decided to create something simple to not spend time on system partitioned
index storage table. My problem is that domain index works correctly when it's created without
support for partitioning and produces "*ORA-01410: INVALID ROWID*" when it's created
with LOCAL option.
Test query:
SELECT /* +index(from_sample_index) */ * FROM index_in_partitioned_tbl WHERE position_between(card_no) < 50 ORDER BY card_no DESC;
Index creared in this way returns 3 rows:
CREATE INDEX from_sample_index ON index_in_partitioned_tbl (card_no) INDEXTYPE IS position_indextype;
When index has been creared with LOCAL option I got "ORA-01410: INVALID ROWID" :
CREATE INDEX from_sample_index ON index_in_partitioned_tbl (card_no) INDEXTYPE IS position_indextype LOCAL;
I don't post implementation's source code to reduce amount of text in post. It works for global index.
If I copy rowid from index storage table and then put it into something like
SELECT card_no FROM index_in_partitioned_tbl WHERE rowid = 'AAAXHGAAEAAAFERAAh';
then it will be executed successfully without any errors.
I suppose the error could be somehow linked with "alter index" calls that Oracle makes when local domain index is created.
The calls are made with option "AlterIndexRebuild" - possibly they mark index as invalid (though it's shown as valid in SQL Developer)Solved :)
when index is LOCAL calls for ODCIINDEXSTART - ODCIINDEXFETCH - ODCIINDEXCLOSE are executed for each partition of base table.
In my case ODCIINDEXFETCH returns row_id's regardless of partition that are currently scanned for values. So first call returned rowid values for all partitions not only for the first partition and validation failed with "ora-01410: invalid rowid" -
ORA-01410: invalid ROWID, when procedure is executed
Hi,
I am using Oracle 10g 10.2.0.3 on linux 64 bit
I am getting following error
ORA-12012: error on auto execute of job 17069
ORA-01410: invalid ROWID
ORA-06512: at "t1.DR1", line 12
ORA-06512: at line 1
t1 is the schema and DR1 is the procedure run every hour
Error in Alert log showing thirce time.
Following is the content of procedure
create or replace procedure t1.dr1
is
CURSOR CS1
IS
select * FROM t1.V_TL_DR1;
begin
FOR CURRENT_RECORD IN CS1
LOOP
begin
insert into t1.tr_dr1
values
(t1.tr_dr1_seq.nextval,CURRENT_RECORD.uuid,default,'ANY',DEFAULT,NULL,NULL,NULL,null);
if CURRENT_RECORD.dv_code in('SD1','SD2') then
INSERT INTO t1.dr1_writer
values
(t1.dr1_writer_feed_seq.nextval,CURRENT_RECORD.uuid,'OP1',DEFAULT,NULL,DEFAULT,NULL,null,DEFAULT,NULL);
else
INSERT INTO t1.dr1_writer
values
(t1.dr1_writer_feed_seq.nextval,CURRENT_RECORD.uuid,'OP2',DEFAULT,NULL,DEFAULT,NULL,null,DEFAULT,NULL);
end if;
exception
WHEN DUP_VAL_ON_INDEX then
dbms_output.put_line('IT IS NOT ALLOWED TO DUPLICATE');
end;
END LOOP;
end;
t1.V_TL_DR1 IS a view which has two columns uuid and dv_code
Could any one tell me that, is it something to do with above procedureCREATE OR REPLACE VIEW t1.V_TL_DR1 AS
select distinct ap.uuid uuid,ap.adv_code adv_code
from
(select alj.app_uid app_uid,alj.stages_uid stages_uid
,max(rate_AB) RATE_AB
,max(rate_Ac) RATE_AC
,max(rate_AD) RATE_AD
,MAX(CREATED) CREATED
from t1.aof alj, (select max(uuid) uuid,max(in_name) in_name from t1.stages where stage=50 group by app_uid) st2
where alj.stages_uid=st2.uuid
group by alj.app_uid,alj.stages_uid) alj
,t1.app ap
,t1.app_user appu
,(select * from t1.app_applicant where joint='P') applicants
WHERE
alj.app_uid=ap.uuid
and ap.user_uid=appu.uuid
and ap.uuid=applicants.app_uid(+)
and alj.created between systimestamp-(30/1440) and systimestamp-(10/1440)
and ap.app_status='N'
and
(RATE_AB is not null and RATE_AB<>0)
OR (RATE_AC not null and RATE_AC<>0)
OR (RATE_AD is not null and RATE_AD<>0 and applicants.residential_status not in('T','U'))
and appu.role='WEB'
and ap.created between systimestamp-90 and systimestamp
and ap.adv_code not in('UP1','UP2','UP3','UP4')Edited by: user605066 on 21-Feb-2011 02:32
Edited by: user605066 on 21-Feb-2011 02:35 -
ORA-01410: invalid ROWID
I was trying to load data into a table using SQL Loader
when I came across this error in the log file . I am not sure what might have happened or where to look to fix this up. Any ideas or suggestions as to where to look? I am on Oracle 9.2.0.4 on unix(AIX 4.3)
Thanks
insert into med.orders a
ERROR at line 1:
ORA-01410: invalid ROWIDMy control file is as follows :
load data
append
into table orders
fields terminated by '|'
(disc_telephone_number,
order_number,
due_date,
completion_date,
status,
ocn,
region CONSTANT "TOC",
pon,
start_date,
start_time,
technician,
phone_number,
actual_time)
Actually my shell script does some updates and then inserts records into the table using sqlldr.
First the updates which works fine...but during insert, it just hangs.
1260 rows updated.
Commit complete.
It was supposed to do the insert and then again commit. (About 2500 records),,,but should take only about 20 minutes...(i compared this to my 8i environment.)But it just sits there, and when I cancel after a long gap of time it gives me the ORA error message saying
Insert into orders ( .........)
User requested cancel of operation
Any suggestions ? Thanks -
Hi All,
I have scheduled a job to execute the following code to perform row movement and shrink space weekly. However, I encounter ORA-10632 while running this job. I have read the online solution to resolve this issues is to re-issue the command.
Is it because there are too many tables executing enable row movement and shrink space which causes ORA-10632 error?
Please advise.
Thank you.
BEGIN
OPEN cur FOR
SELECT TABLE_NAME
FROM TABLE_MAINTENANCE;
LOOP
FETCH cur
INTO p_tablename;
EXIT WHEN cur%NOTFOUND;
EXECUTE IMMEDIATE 'ALTER TABLE ' || p_tablename || ' ENABLE ROW MOVEMENT';
EXECUTE IMMEDIATE 'ALTER TABLE ' || p_tablename || ' SHRINK SPACE';
END LOOP;
ENDEdited by: liangtehz on Jun 5, 2009 7:02 PMHello,
Cause : Segment Highwatermark was overwritten due to shrink and space reused
Action : Reissue this command.
Therefore, perhaps:
BEGIN
EXECUTE IMMEDIATE 'ALTER TABLE ' || p_tablename || ' ENABLE ROW MOVEMENT';
EXECUTE IMMEDIATE 'ALTER TABLE ' || p_tablename || ' SHRINK SPACE';
EXCEPTION
WHEN OTHERS THEN
EXECUTE IMMEDIATE 'ALTER TABLE ' || p_tablename || ' SHRINK SPACE';
END;
... -
Hi I am trying to insert data in a table and getting following error message.
There is no primary key in the table so I have to choose rowId as primary key and when in Process From request method I am calling the AM method for code commit(), I am getting this error.
oracle.apps.fnd.framework.OAException: oracle.jbo.DMLException: JBO-26080: Error while selecting entity for TestEO
java.sql.SQLException: ORA-01410: invalid ROWID
Thanks
AnoopAnoop,
If this is a custom table, y can't u have a primary key column. You can have that column as sequence.I think TAR won't help here, because in current version of BC4J this is a issue, and thats y Oracle says to have a primary key column in EO.
--Mukul -
Folks,
I need your help in finding the solution to the below problem. I very much appreciate any help.When I ran this command I am getting the following error: Please take a look. I was running the same without problem before. I will stop by in a minute.
execute DBMS_mview.REFRESH('DOW_DATA.DW_ASSET_DATA','?',null,true,false,atomic_refresh=>true);
14:28:27 Error executing statement: ORA-12008: error in snapshot refresh path
14:28:27 ORA-01410: invalid ROWID
14:28:27 ORA-06512: at "SYS.DBMS_SNAPSHOT", line 617
14:28:27 ORA-06512: at "SYS.DBMS_SNAPSHOT", line 674
14:28:27 ORA-06512: at "SYS.DBMS_SNAPSHOT", line 654
14:28:27 ORA-06512: at line 2
ORA-01410 invalid ROWID
Cause: A ROWID was entered incorrectly. ROWIDs must be entered as formatted hexadecimal strings using only numbers and the characters A through F. A typical ROWID format is '000001F8.0001.0006'.
Action: Check the format, then enter the ROWID using the correct format. ROWID format: block ID, row in block, file ID.
ORA-06512 at stringline string
Cause: Backtrace message as the stack is unwound by unhandled exceptions.
Action: Fix the problem causing the exception or write an exception handler for this condition. Or you may need to contact your application administrator or database administrator.Subject: Re : ORA-01410:Invalid ROWID ORA-02063 ORA-06512
You may be hitting bug 1322919, fixed in 8.1.7.2 patchset. Are you using "WHERE CURRENT OF cursor"? Does your dblink connect the 8i database to an 8.0 or V7 database? If you issue the statement within the procedure manually in sqlplus, do you get similar errors?
In that case, are you using inline views? if so, you may be hitting bug 1227266. If not, you may want to post this to the plsql forum, they will need to look at your procedure and syntax more indepth.
(from MetaLink forums) -
Invalid Rowid Error on Insert Row
I have a table on which i don't have any primary key defined (or don't want to define any primary key on it). The EO has therefore ROWID generated by wizard as primary key. Every thing works alright on updating records. But during the insert i get a error "Unable to save the changes oracle.jbo.DMLException: JBO-26080: Error while selecting entity for PeriodSourceEO". BTW i am using following code to insert a row.
PeriodVOImpl perGlobalVO = getPeriodVO();
PeriodVORowImpl perGlobalRow = (PeriodVORowImpl) perGlobalVO.createRow();
perGlobalRow.setNewRowState(Row.STATUS_NEW);
perGlobalVO.insertRow(perGlobalRow);
perGlobalVO.setCurrentRow(perGlobalRow);
I get the error on committing the transaction.
The error trace is
<BaseSQLBuilderImpl> <doRefreshSQL> [14182] Executing Refresh SQL...SELECT ROWID FROM TPOVPERIODSOURCE WHERE ROWID=?
<BaseSQLBuilderImpl> <bindWhereAttrValue> [14183] Where binding param 1: 686984
<BaseSQLBuilderImpl> <doRefreshSQL> [14184] SQL failure in doRefreshSQL - 'ORA-01410: invalid ROWID
Is insert not possibler using ROWID and I have to define a primary key to table? Or can someone point out workaround to it.Got the way to work around the problem. Just override the method protected void doRefreshSQL(int operation, java.util.ArrayList refreshAttrs) in the implementation of EntityImpl class.
-
8.1.7: ORA-01410 in PL/SQL but not SQL*Plus
This has been driving me crazy, and a search here and in comp.databases.oracle didn't turn up any solutions.
When the following code is part of a stored procedure, it fails with ORA-01410 (Invalid ROWID). It executes perfectly from SQL*Plus, I've verified that TMP_TASK_DATA contains data, and the query clearly specifies a ROWID.
As noted in the subject, this occurs on 8.1.7. TMP_TASK_DATA and TMP_TASK_RETRIEVAL are both global temp tables. I don't currently have access to Metalink, so was hoping that someone has run across this and has some hints.
Thx,
(query edited to limit "IN" list):
INSERT INTO TMP_TASK_RETRIEVAL
(TASK_ID, TD_ROWID, SORT_ORDER)
SELECT TASK_ID, TD_ROWID, ROWNUM
FROM (
SELECT TASK_ID, TD_ROWID
FROM (
SELECT TASK_ID,
ROWID as TD_ROWID,
SF_GET_PRIORITY(TASK_TYPE, 1 ) as PRIORITY_COMM,
COMPLETED_TIME as FINISH_TIME,
FIRST_READY_TIME as QUEUE_TIME
FROM TMP_TASK_DATA
WHERE USER_NUMBER = v_USER_NUM
AND TASK_TYPE in
'AAAA', 'BBBB', 'CCCC'
ORDER BY
PRIORITY_COMM,
decode(PRIORITY_COMM, 10, FINISH_TIME, QUEUE_TIME)
);Thanks for the info. It turned out that I was wrong about removing the PL/SQL variable from the query; either that, or the error occurs at arbitrary times.
As best I can tell, a ROWID simply can't be passed between nested inline views, so I reduced them to one level (which means that I have to run the function twice in the ORDER BY, rather than once in the nested select). -
Errors ORA-01115 ORA-17507 ORA-01410
Hi i was using Oracle Data Integrator for loading data from one database to another, i programmed a package that loads data with a cycle in monthly intervals, it rans ok the first ten months since 2007/11 but then i got this errors
java.sql.SQLException: ORA-01115: IO error reading block from file 286 (block # 184745)
ORA-17507: I/O request size is not a multiple of logical block size
ORA-01410: invalid ROWID
Does anyone have any idea why this happened?.oracle error ORA-01115
1. Try to assess the cause and extent of the problem.
Examine the alert.log file for this instance. Scan the last few
days' entries for other occurrences of ORA-01115. If you find them,
A) Do they reference files in different disks?
If so, it is likely that there you have controller problems.
Move on to Scenario II.A below.
B) Do they reference different files in the same disk?
If so, it is likely that there are problems with that disk.
Move on to Scenario II.B below.
C) Do they always reference the same datafile?
If so, it is likely that the datafile contains bad blocks.
Move on to Scenario II.C below. If the file is bigger
than 2GB and you are running 7.1.4 or lower on a Solaris
platform, see Scenario II.D below.
D) If none of the above applies, move on to Step 2.
2. If the datafile is in the SYSTEM tablespace, or the database is in
NOARCHIVELOG mode, shut the database down. Move on to Step 4.
If shutdown immediate fails, do a shutdown abort.
3. If the database is in ARCHIVELOG mode, you should still shut the
database down. If the database cannot be shut down, offline the
datafile.
ALTER DATABASE DATAFILE '<full_path_file_name>' OFFLINE;
4. Try to copy the datafile to another disk (managed by a different
controller, if possible).
5. If the copy fails, even after you retry, the datafile must be considered
lost at this point. The next action depends on the tablespace to
which the lost file belongs. See the following Solution References to
PR entries, according to the different types of tablespaces,
for instructions on how to proceed.
IMPORTANT: While going through the references below, keep in mind that
if you restore the datafile from backup, you need to place it in another
disk, preferably under a different controller, and rename it inside Oracle
(see Note 115424.1 for details). If you recreate any tablespace, make
sure its datafiles are created in another disk, preferably under a
different controller.
Reference for Lost datafile scenarios : Note 198640.1
6. If the database is down, mount it.
7. Rename the datafile that you succeeded in copying inside Oracle.
ALTER DATABASE RENAME FILE '<old_full_path_file_name>'
TO '<new_full_path_file_name>';
8. If the database is mounted, open it. If you offlined the datafile,
perform media recovery on it, and then bring it online.
RECOVER DATAFILE '<full_path_file_name>';
ALTER DATABASE DATAFILE '<full_path_file_name>' ONLINE; -
Invalid rowid error while running the snapshot agent in transactional replication
Hi All,
I am getting an Invalid rowid error while replicating an large tables i.e around 30 millions rows from oracle(publisher) to sql server(Subscriber) while running the snapshot agent in transactional replication.
Its taking around 18 hours and its then its throwing this error.
Is there any faster way that i can replicate the initial snapshot this large table as 18 hours is very high on time.
Kindly suggest.i am always got quick and accurate response always..hope the same in this case also.
Thanks,Hi,
Could you please create a replication with some small tables for a test?
You can disable the firewall on both sides and rerun snapshot. Enable verbose logging to level 4 for snapshot agent and check the results if it fails.
http://support.microsoft.com/kb/312292
Here is a document says for the error: ORA-10632: Invalid rowid Cause: Segment Highwatermark was overwritten due to shrink and space reused Action: Reissue this command.
I also suggest you contact the Oracle support team for further help.
Thanks.
Tracy Cai
TechNet Community Support -
Has anyone faced the below error?
boldORA-01410: invalid ROWID ORA-06548: no more rows needed*bold*
Thanks in AdvanceBalarenganathan wrote:
Has anyone faced the below error?
boldORA-01410: invalid ROWID ORA-06548: no more rows needed*bold*
Thanks in Advanceusually due to bad design or implementation of PL/SQL code -
Oracle sys Index rebuild then Getting error Invalid Error Ora-01410
Oracle sys Index rebuild,
after Getting error Invalid Error Ora-01410 in alert log file.every Insert ,update and delete.
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
PL/SQL Release 11.1.0.7.0 - Production
Oracle sys Index rebuild list
CTXSYS
EXFSYS
FLOWS_030000
FLOWS_FILES
MDSYS
OLAPSYS
ORDSYS
OWBSYS
SI_INFORMTN_SCHEMA
TSMSYS
WKSYS
MDSYS
After rebuild above index im getting error while inserting,update,delete table rows
Error like 'INVALID ROWID' alert log file
ANY ONE HELP ME TO RESOLVE THE PROBLEM
Edited by: 927230 on May 26, 2012 8:51 PM
Edited by: 927230 on May 26, 2012 8:53 PM927230 wrote:
Oracle sys Index rebuild after Getting error Invalid Error Ora-01410
Oracle 11.1 version
Oracle sys Index rebuild list
CTXSYS
EXFSYS
FLOWS_030000
FLOWS_FILES
MDSYS
OLAPSYS
ORDSYS
OWBSYS
SI_INFORMTN_SCHEMA
TSMSYS
WKSYS
MDSYS
After rebuild above index im getting error while inserting,update,delete table rows
Error like 'INVALID ROWID'
ANY ONE HELP ME TO RESOLVE THE PROBLEMwhich came first the error or the rebuild?
COPY & PASTE whole session & SQL so we can see exactly what you do & how Oracle responds
post results from following SQL below
SELECT * FROM V$VERSION
Maybe you are looking for
-
MD04 - Subreq - Storage location MRP area
Hi all, I have an issue of Subreq in MD04 which is not assigned to the the good MRP area. I'm explaining : Business process -> I work with a subcontractor case 1 : either I buy raw material to be processed and delivered it directly to my s
-
Problem launching OC4J with HSQL db settings
jdeveloper auto-creates this xml when launching OC4J, but I get "Invalid Oracle URL specified" even though I know the connection string works elsewhere (e.g. in jdevs connection navigator). Any ides please. <?xml version = '1.0' encoding = 'windows-1
-
How to decrease line width in table in smartforms
hi i want to decrease line widht in tabel in smartforms. how can i do. thanks.
-
ITunes 9.0.1 (9) update fixed my iPhone 3g sync problem
After upgrading to iTunes 9, my iPhone would no longer sync with my iMac G5 (Tiger). I spent 35 minutes with Apple on the phone (no solution), then talked to a Genius at the store for 20 minutes. They made another appointment for me to bring in my iM
-
MappedByteBuffer with huge files.
Greetings I have an application for viewing and editing seismic files. Files sizes can range from 3600 bytes up to > 100 gigabytes. I/O performance on a RandomAccessFile is good until a file gets over 2.1 gigabytes then performance drops dramatically