Too many Transactions?
Created a BPEL process (10.1.2.0.0) to access a stored procedure in a 10gR1 database and using the emp table. The PartnerLink references the stored procedure which takes a number (empno) and is to return the ename and sal corresponding to the empno.
Stored procedure works as run from a SQL prompt. When invoke the the PartnerLink using an empno after about a minute delay get the following error message.
Any help is greatly appreciated - Ken Cooper
Build Information:
Oracle BPEL Server version 10.1.2.0.0
Build: 1442
Build time: Fri Apr 29 16:59:32 PDT 2005
Build type: release
Source tag: BPELPM_10_1_2_release_branch
Exception Message:
[com.evermind.server.rmi.OrionRemoteException]
Transaction was rolled back: Error in transaction: MarshallingXAException : [POL-3261] there are too many transactions; nested exception is:
MarshallingXAException : [POL-3261] there are too many transactions
Just to clarify ..
you are using OLite as dehydration store .. and connect your plnk to a fledged Oracle DB - right ..
because the exception is coming from the olite stack ...
/clemens
Similar Messages
-
Too many transactions in buffer
Hi:
I am sending a lot of transactions to TimesTen, now I checked the sys tables and i can see my tables must have almost 745 rows, but when I send a count(*) directly to the table, I get 246 rows only. So I tried to find the missing records, I ran the command:
ttxactadmin -v 1 -interval 5 "dsn=snapshotdsn"
And I got something like:
13394 locks found for transaction 12.204928
1 outstanding transaction found
I have to many locked or pending transactions in TimesTen. I tried free this transactions using ttckpt but nothing happened.
some one can help please...Hi,
As with all databases, to complete a transaction, release the locks and make the new rows visible to other connections/users/transactions you need to commit the transaction.
The active locks for this transaction show that your application code have not issues a commit call. In general, you should try to keep transactions reasonably short. For example, inserting 1000 rows as one transaction is very reasonable, inserting 100,000 rows in one transaction is not very reasonable. Large transactions can consume excessive system resources (locks etc.) and may also impact concurrency.
Chris -
Too many loopback session id's in SMGW transaction (ABAP+JAVA System)
Hi All,
From SMGW transaction I am able to see too many loopback (127.0.01) session ids existing in the system.
107 system(s) logged on *** showing from this more than 50 session are loopback. I am not able to find the reason.
How to check and how to reduce this session.
Thanks in advanceHi Maurício
Thank you for your support.
As per note I have checked in my system and I can not find relavent things
from SM04 I am able to see only 12 users logged into the system ( *** 12 users logged on with 15 modes ***
) and from 12 users 5 of users using GUI and remaing RFC. From SMGW it is showing only 8 active connection and
SMGW --? Goto -->logged on clients from here able to 98 systems logged on ( *** 97 system(s) logged on *** ) in this around 70 logons related to loopback (127.0.0.1)
Please suggest me how to anaylze this issue and how to take corrective steps for this kind of issue. -
Too many distributed transactions
I am programming an application with JDeveloper 10g and ADF Framework. It is a application that only queries data (no modifications). I created ViewObjects based on sql queries and an application module.
The problem is that is I execute that application for some time, I get the following error:
java.sql.SQLException: ORA-02042: too many distributed transactions
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:189)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:242)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:554)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:888)
at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2346)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2660)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:457)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:387)
at oracle.jbo.server.QueryCollection.buildResultSet(QueryCollection.java:665)
As it is a query only program, i do not need transactions. How can fix this?
Thanks in advanceHi,
this is information from metalink:
The ORA-2042 indicates that you should increase the parameter
distributed_transactions.
The ORA-2063 indicates that this must be done at the remote
database.
Explanation
If the distributed transaction table is full on either side of
the database link you get the error ORA-2042:
ORA-02042: "too many distributed transactions"
Cause: the distributed transaction table is full,
because too many distributed transactions are active.
Action: increase the INIT.ORA "distributed_transactions" or
run fewer transactions.
If you are sure you don't have too many concurrent
distributed transactions, this indicates an internal
error and support should be notified.
Instance shutdown/restart would be a workaround.
When the error is generated at the remote database it is
accompanied with an ORA-2063. In this case the parameter
distributed_transactions must be increased at the remote
database.
If there is no ORA-2063 the parameter distributed_transactions
must be increased at the local database. -
ORA-02042: too many distributed transactions
1. I have been working on a portal application for several weeks.
2. Portal is installed in 1 instance and my data is in another instance.
3. I've had no ora-02042 problems in the devt environment set up that way.
4. I've recently migrated the application/pages to a test environment set up that way.
5. I've been working in the test environment for several days with no problems.
6. For some portlets on some pages I'm now getting:
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>
Failed to parse query
Error:ORA-02042: too many distributed transactions
Error:ORA-02042: too many distributed transactions
ORA-02063: preceding line from
LINK_TO_TEST (WWV-11230) Failed to parse as PACID_SCHEMA -
select user_action.userid, action.name,
user_action.created_date,
user_action.created_by, action.action_id,
'del' del_link from user_action , action
where user_action.action_id =
action.action_id and user_action.userid
LIKE UPPER(:userid) order by USERID
ASC, NAME ASC, CREATED_DATE
ASC (WWV-08300)
<HR></BLOCKQUOTE>
7. I cannot find anything about this error in the db log files for either instance.
8. I've increased distributed transactions to 200 in the portal db and bounced
it. Still get the error.
9. No records in dba_2pc_pending or dba_2pc_neighbors in the portal instance.
10. I get the error in various reports and form LOVs at different times. Pages with a lot of portlets seem to be more prone to the error.
Here is a typical LOV error:
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>
COMBOBOX LOV ERROR:
LOV: "ASIMM_1022.TITLE_LOV"
Parse Message: Parse as pre-set global: "PACID_SCHEMA".
Find Message: LOV is of type DYNAMIC (LOV based on SQL query).
Query: "select code display_column, code return_column from codes where table_id = 'OFFICER_TITLE' order by code"
wwv_parse.parse_as_user: ORA-02042: too many distributed transactions ORA-02063: preceding line from LINK_TO_TEST wwv_parse.parse_as_user: Failed to parse as PACID_SCHEMA - select code display_column, code return_column from codes where table_id = 'OFFICER_TITLE' order by code wwv_security.check_comp_privilege: Insufficient privileges. wwpre_utl.get_path_id: The preference path does not exist: ORACLE.WEBVIEW.PARAMETERS.217_USER_INPUT_ASIMM_5423428
<HR></BLOCKQUOTE>
Why are these select statements being interpreted as distributed transactions? Note:1032658.6 suggests I "USE SET TRANSACTION READ ONLY". Is this necessary? If so how?
What puzzles me is that this set up has been working fine for several days. I don't know of any changes to my environment apart from me increasing distributed transactions.
nullHi,
this is information from metalink:
The ORA-2042 indicates that you should increase the parameter
distributed_transactions.
The ORA-2063 indicates that this must be done at the remote
database.
Explanation
If the distributed transaction table is full on either side of
the database link you get the error ORA-2042:
ORA-02042: "too many distributed transactions"
Cause: the distributed transaction table is full,
because too many distributed transactions are active.
Action: increase the INIT.ORA "distributed_transactions" or
run fewer transactions.
If you are sure you don't have too many concurrent
distributed transactions, this indicates an internal
error and support should be notified.
Instance shutdown/restart would be a workaround.
When the error is generated at the remote database it is
accompanied with an ORA-2063. In this case the parameter
distributed_transactions must be increased at the remote
database.
If there is no ORA-2063 the parameter distributed_transactions
must be increased at the local database. -
Too many loopback session id's in SMGW transaction
Hi All,
From SMGW transaction I am able to see too many loopback (127.0.01) session ids existing in the system.
107 system(s) logged on *** showing from this more than 50 session are loopback. I am not able to find the reason.
How to check and how to reduce this session.
Thanks in advanceDear Pravin,
Are you referring to 'Active Connections' or 'Logged on clients'. Which is the kernel patch level that you are running?
Best Regards,
Tim -
hi
I am getting the following error while calling the procedure in the batch process
ORA-06512: at "SYS.UTL_HTTP", line 1022
ORA-29270: too many open HTTP requests
Could you please help me on this? As this is getting affected in the live databases.
ORA-06512: at "SYS.UTL_HTTP", line 1022
ORA-29270: too many open HTTP requests
CREATE OR REPLACE PROCEDURE Send_To_Spg(
PTRANSACTION_ID IN VARCHAR2,
PCHANNEL_TYPE IN VARCHAR2 DEFAULT NULL,
PCSS_ORDER_NUMBER IN VARCHAR2 DEFAULT NULL,
PTELEPHONE_NUMBER IN VARCHAR2 DEFAULT NULL,
PSCENARIO_TYPE IN VARCHAR2 DEFAULT NULL,
PCUSTOMER_REQUIRED_DATE IN VARCHAR2 DEFAULT NULL,
PCUSTOMER_REQUIRED_TIME IN VARCHAR2 DEFAULT NULL,
PCANCELLATION_REASON IN VARCHAR2 DEFAULT NULL,
PCANCELLATION_NOTES IN VARCHAR2 DEFAULT NULL,
PSMPF_RETENTION IN VARCHAR2 DEFAULT NULL,
PEMERGENCY_WINBACK IN VARCHAR2 DEFAULT NULL,
PCSS_PROJECT_ID IN VARCHAR2 DEFAULT NULL,
PCSS_ORDER_NOTES IN VARCHAR2 DEFAULT NULL,
PREASON_FOR_CESSATION IN VARCHAR2 DEFAULT NULL,
P_RESPONSE OUT VARCHAR2,
PSMART_USER_ID IN VARCHAR2 DEFAULT NULL,
PORACLE_ERROR OUT VARCHAR2,
PORACLE_ERROR_MESSAGE OUT VARCHAR2,
PRESPONSE_TIME OUT NUMBER,
PDATA_TRANSFER_STATUS OUT VARCHAR2)
IS
v_scenario_type VARCHAR2(20); -- Varialble to Hold Time Out of every request to SPG
v_transaction_time NUMBER; -- Total time in which Request to SPG was processed
v_record_inserted_at DATE; -- Date/Time about the record insertion to the Error Handler
v_start_time NUMBER; -- Variable to hold Start Time for calculationg Transaction Time
v_url VARCHAR2(32767);-- URL to use when sending data to SPG
vtransaction_id VARCHAR2(18); -- Variable to hold Transaction ID for the request
v_buffer VARCHAR2(32760);-- Variable to read response from the SPG interface
v_timeout PLS_INTEGER; -- Time Out for each Transaction
v_oracle_err_msg VARCHAR2(600); -- Variable to hold Oracle Error Message
v_resp UTL_HTTP.RESP; -- Response Object
v_req UTL_HTTP.REQ; -- Request Object
v_userid_pwd SMT_ORACLE_PARAMETERS%ROWTYPE; --Variable declared to contain User ID & Password
vl_RetCode VARCHAR2(5000);
vl_std_returnCode VARCHAR2(3000);
--PDATA_TRANSFER_STATUS Holds the Data Transfer Status which can have possible values as
-- N => Data Has not been sent to SPG
-- Y => Received Successful response from SPG
-- F => On the First try to Send data to SPG Oracle Error Occured or response from SPG was a faulure
-- S => On the Second try to Send data to SPG Oracle Error Occured or response from SPG was a faulure
-- T => Data Has been transferred to the Error Log Table
-- X => Data need not be transfered to Error Log Table.
--Location of the timeout, URL & User Id & Password in Standing Data.
c_url_stopwlr SMT_ORACLE_PARAMETERS.PARAMETER_CODE%TYPE:='SPG_WLR';-- Stop WLR URL
c_url_cancelown SMT_ORACLE_PARAMETERS.PARAMETER_CODE%TYPE:='SPG_OWN';-- Cancel own URL
c_url_cancelother SMT_ORACLE_PARAMETERS.PARAMETER_CODE%TYPE:='SPG_OTH';-- Cancel other URL
c_url_amendcrd SMT_ORACLE_PARAMETERS.PARAMETER_CODE%TYPE:='SPG_CRD';--Amend CRD URL
c_spg_useridpwd SMT_ORACLE_PARAMETERS.PARAMETER_CODE%TYPE:='SPGIDPWD'; --Contains user id and pwd
ctimeout smt_parameters.parameter_code%TYPE:='SPGTO'; --This holds the timeout parameter
BEGIN
--In case the calling batch process can pass this value this SQL read will not be required & can be deleted
--Read data transfer status for the transaction Id
SELECT data_transfer_status INTO PDATA_TRANSFER_STATUS FROM SPG_INTERFACE_TABLE
WHERE transaction_id = PTRANSACTION_ID;
--Record the start time
v_start_time:=DBMS_UTILITY.GET_TIME;
--If Data transfer status is S then send the record to error handler
IF PDATA_TRANSFER_STATUS = 'S' THEN
Error_Handler(PTRANSACTION_ID,PSMART_USER_ID,PORACLE_ERROR,PORACLE_ERROR_MESSAGE,v_record_inserted_at,PDATA_TRANSFER_STATUS);
ELSE
--In case Data Tranfer Status is something other than S then send the request to SPG
--Initialise other variables which will be populated during the journey
P_RESPONSE := '';
PORACLE_ERROR := NULL;
PORACLE_ERROR_MESSAGE := NULL;
PRESPONSE_TIME := 0;
--Read timeout parameter from standing data.
BEGIN
SELECT VALUE INTO v_timeout FROM smt_parameters WHERE parameter_code=ctimeout;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_timeout:=30;
WHEN OTHERS THEN
v_timeout:=30;
END;
-- Construct the URL for Stop WLR Scenario
IF PSCENARIO_TYPE = 'STOP_WLR' THEN
BEGIN
-- Read the Initial URL from Standing Data
SELECT VALUE
INTO v_url
FROM SMT_ORACLE_PARAMETERS
WHERE parameter_code = c_url_stopwlr
AND host_id = ( SELECT host_id
FROM SMART_HOSTS A
WHERE EXISTS ( SELECT 1
FROM DB_PARAMETERS b
WHERE A.hostname = b.hostname
AND A.database_id = b.database_id));
--handle unforseen exception
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_url:='Http://wls.brassi1c.devenv1.bt.co.uk:64738/pls/spgenv/spg_btrc.add_btrc_winback_details'; --After testing the same, URL will be fetched from the Query
WHEN OTHERS THEN
v_url:='Http://wls.brassi1c.devenv1.bt.co.uk:64738/pls/spgenv/spg_btrc.add_btrc_winback_details'; --After testing the same, URL will be fetched from the Query
END;
--construct the URL depending on the parameters to be passed to the url
v_url := v_url || '?';
v_url := v_url || 'p_data_entered=' || Smart_Urlencode('xmloverhttp') || '&';
v_url := v_url || 'p_channel_type=' || Smart_Urlencode(PCHANNEL_TYPE)|| '&';
v_url := v_url || 'p_css_start_order_no=' || Smart_Urlencode(PCSS_ORDER_NUMBER)|| '&';
v_url := v_url || 'p_tel_no=' || Smart_Urlencode(PTELEPHONE_NUMBER)|| '&';
v_url := v_url || 'p_crd=' || Smart_Urlencode(PCUSTOMER_REQUIRED_DATE)|| '&';
v_url := v_url || 'p_take_over_time=' || Smart_Urlencode(PCUSTOMER_REQUIRED_TIME)|| '&';
v_url := v_url || 'p_retainsmpf=' || Smart_Urlencode(PSMPF_RETENTION)|| '&';
--v_url := v_url || 'p_emergency_winback=' || Smart_Urlencode(PEMERGENCY_WINBACK)|| '&';
v_url := v_url || 'p_projectno=' || Smart_Urlencode(PCSS_PROJECT_ID)|| '&';
v_url := v_url || 'p_ordernotes=' || Smart_Urlencode(PCSS_ORDER_NOTES)|| '&';
v_url := v_url || 'p_reason_cessation=' || Smart_Urlencode(PREASON_FOR_CESSATION);
ELSIF PSCENARIO_TYPE='CANCEL_OWN' THEN
--Fetch the URL for cancel own from standing data.
BEGIN
SELECT VALUE
INTO v_url
FROM SMT_ORACLE_PARAMETERS
WHERE parameter_code = c_url_cancelown
AND host_id = ( SELECT host_id
FROM SMART_HOSTS A
WHERE EXISTS ( SELECT 1
FROM DB_PARAMETERS b
WHERE A.hostname = b.hostname
AND A.database_id = b.database_id));
--handle unforseen exception
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_url := 'Http://wls.brassi1c.devenv1.bt.co.uk:64738/pls/spgenv/spg_btrc.add_btrc_cancelown_details'; --After testing the same, URL will be fetched from the Query
WHEN OTHERS THEN
v_url := 'Http://wls.brassi1c.devenv1.bt.co.uk:64738/pls/spgenv/spg_btrc.add_btrc_cancelown_details'; --After testing the same, URL will be fetched from the Query
END;
--construct the URL
v_url := v_url || '?';
v_url := v_url || 'p_data_entered=' ||Smart_Urlencode('xmloverhttp')|| '&';
v_url := v_url || 'p_channel_type=' ||Smart_Urlencode(PCHANNEL_TYPE)|| '&';
v_url := v_url || 'p_css_start_order_no=' ||Smart_Urlencode(PCSS_ORDER_NUMBER)|| '&';
v_url := v_url || 'p_tel_no=' ||Smart_Urlencode(PTELEPHONE_NUMBER)|| '&';
v_url := v_url || 'p_cancel_reason=' ||Smart_Urlencode(PCANCELLATION_REASON)|| '&';
v_url:= v_url || 'p_cancel_notes=' ||Smart_Urlencode(PCANCELLATION_NOTES);
ELSIF PSCENARIO_TYPE='CANCEL_OTHER' THEN
--Fetch the URL for cancel own from standing data.
BEGIN
SELECT VALUE
INTO v_url
FROM SMT_ORACLE_PARAMETERS
WHERE parameter_code = c_url_cancelother
AND host_id = ( SELECT host_id
FROM SMART_HOSTS A
WHERE EXISTS ( SELECT 1
FROM DB_PARAMETERS b
WHERE A.hostname = b.hostname
AND A.database_id = b.database_id));
--handle unforseen exception
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_url := 'Http://wls.brassi1c.devenv1.bt.co.uk:64738/pls/spgenv/spg_btrc.add_btrc_cancelother_details'; --After testing the same, URL will be fetched from the Query
WHEN OTHERS THEN
v_url := 'Http://wls.brassi1c.devenv1.bt.co.uk:64738/pls/spgenv/spg_btrc.add_btrc_cancelother_details'; --After testing the same, URL will be fetched from the Query
END;
--construct the URL
v_url := v_url || '?';
v_url := v_url || 'p_data_entered=' ||Smart_Urlencode('xmloverhttp')|| '&';
v_url := v_url || 'p_channel_type=' ||Smart_Urlencode(PCHANNEL_TYPE)|| '&';
v_url := v_url || 'p_css_stop_order_no=' ||Smart_Urlencode(PCSS_ORDER_NUMBER)|| '&';
v_url := v_url || 'p_tel_no=' ||Smart_Urlencode(PTELEPHONE_NUMBER)|| '&';
v_url := v_url || 'p_cancel_reason=' ||Smart_Urlencode(PCANCELLATION_REASON);
ELSIF Pscenario_type='AMEND_CRD' THEN
--Fetch the URL for cancel own from standing data.
BEGIN
SELECT VALUE
INTO v_url
FROM SMT_ORACLE_PARAMETERS
WHERE parameter_code = c_url_amendcrd
AND host_id = ( SELECT host_id
FROM SMART_HOSTS A
WHERE EXISTS ( SELECT 1
FROM DB_PARAMETERS b
WHERE A.hostname = b.hostname
AND A.database_id = b.database_id));
--handle unforseen exception
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_url := 'Http://wls.brassi1c.devenv1.bt.co.uk:64738/pls/spgenv/spg_btrc.add_btrc_amendcrd_details'; -- After testing the same , URL will be fetched from the Query
WHEN OTHERS THEN
v_url := 'Http://wls.brassi1c.devenv1.bt.co.uk:64738/pls/spgenv/spg_btrc.add_btrc_amendcrd_details'; -- After testing the same , URL will be fetched from the Query
END;
--construct the URL
v_url := v_url || '?';
v_url := v_url || 'p_data_entered=' ||Smart_Urlencode('xmloverhttp')|| '&';
v_url := v_url || 'p_channel_type=' ||Smart_Urlencode(PCHANNEL_TYPE)|| '&';
v_url := v_url || 'p_css_start_order_no=' ||Smart_Urlencode(PCSS_ORDER_NUMBER)|| '&';
v_url := v_url || 'p_tel_no=' ||Smart_Urlencode(PTELEPHONE_NUMBER)|| '&';
v_url := v_url || 'p_crd=' ||Smart_Urlencode(PCUSTOMER_REQUIRED_DATE)|| '&';
v_url := v_url || 'p_css_change_order_numbers='||Smart_Urlencode(PCANCELLATION_REASON);
END IF;
--this is start of setting parameters for utl http object. the show begins...
utl_http.set_transfer_timeout(v_timeout);
--Set the wallet
--XXXXX e.g.UTL_HTTP.SET_WALLET(?file:DirectoryPath?,'put password here?);
--Set proxy
--YYYYY e.g. utl_http.set_proxy(p_proxy_in, p_no_proxy_domains_in);
v_url := REPLACE(v_url,'%27%27','%27'); -- Fix to ensure Double Quotes are converted to Single Quotes
--set the required URL to utl http.
v_req := utl_http.begin_request(v_url);
--Authentication setting
--Fetch the user id and password from stnding data.
BEGIN
SELECT *
INTO v_userid_pwd
FROM SMT_ORACLE_PARAMETERS
WHERE PARAMETER_CODE=c_spg_useridpwd
AND HOST_ID = ( SELECT HOST_ID
FROM SMART_HOSTS A
WHERE EXISTS ( SELECT 1
FROM DB_PARAMETERS B
WHERE A.HOSTNAME = B.HOSTNAME
AND A.DATABASE_ID = B.DATABASE_ID));
EXCEPTION
WHEN NO_DATA_FOUND THEN
P_RESPONSE := 'ORACLE_ERROR: USER id AND Password NOT configured IN SMT_ORACLE_PARAMETERS:SPGIDPWD';
WHEN OTHERS THEN
P_RESPONSE := 'ORACLE_ERROR: USER id AND Password NOT configured IN SMT_ORACLE_PARAMETERS:SPGIDPWD';
END;
--utl_http.set_authentication(v_req, p_username_in, p_password_in);
utl_http.set_authentication(v_req, v_userid_pwd.description, v_userid_pwd.VALUE);
v_resp := utl_http.get_response(v_req);
--Fill in the the response time
PRESPONSE_TIME := (DBMS_UTILITY.GET_TIME - v_start_time)/100;
IF v_resp.reason_phrase = 'OK' THEN
-- Fetch the response
BEGIN
LOOP
utl_http.read_line(v_resp, v_buffer);
P_RESPONSE := P_RESPONSE || v_buffer;
END LOOP;
utl_http.end_response(v_resp);
EXCEPTION
WHEN utl_http.end_of_body THEN
utl_http.end_response(v_resp);
P_RESPONSE := P_RESPONSE || v_buffer;
END;
ELSIF v_resp.reason_phrase <> 'OK' OR P_RESPONSE = '' THEN
--error handling starts
--If the HTTP Status is not OK then store the error information
PORACLE_ERROR_MESSAGE := 'Status Code: '|| v_resp.STATUS_CODE||'. Reason Phrase ' ||v_resp.reason_phrase;
P_RESPONSE := 'ORACLE_ERROR: '|| ' Reason Phrase ' || v_resp.reason_phrase;
PORACLE_ERROR := v_resp.STATUS_CODE;
END IF;
--In case we got successful response from SPG
IF P_RESPONSE LIKE '%<RetCde>0</RetCde>%' THEN
PDATA_TRANSFER_STATUS := 'Y';
ELSE
BEGIN
SELECT message
INTO vl_std_returnCode
FROM SMT_MESSAGES
WHERE MESSAGE_CODE='SPGANTIDTS';
EXCEPTION
WHEN NO_DATA_FOUND THEN
vl_std_returnCode := '-12545,-29273,-1,401,';
WHEN OTHERS THEN
vl_std_returnCode := '-12545,-29273,-1,401,';
END;
--In case there was an error do not update Data Transfer Status
IF PORACLE_ERROR <> NULL AND INSTR(vl_std_returnCode, PORACLE_ERROR || ',', 1, 1) <> 0 THEN
PDATA_TRANSFER_STATUS:=PDATA_TRANSFER_STATUS;
ELSE
vl_RetCode := SUBSTR(P_RESPONSE, INSTR(P_RESPONSE,'<RetCde>', 1, 1),
INSTR(P_RESPONSE,'</RetCde>',1,1)+9 - INSTR(P_RESPONSE,'<RetCde>', 1, 1));
BEGIN
SELECT VALUE
INTO vl_std_returnCode
FROM SMT_ORACLE_PARAMETERS
WHERE PARAMETER_CODE='SPGRCS'
AND HOST_ID = ( SELECT HOST_ID
FROM SMART_HOSTS A
WHERE EXISTS ( SELECT 1
FROM DB_PARAMETERS B
WHERE A.HOSTNAME = B.HOSTNAME
AND A.DATABASE_ID = B.DATABASE_ID));
EXCEPTION
WHEN NO_DATA_FOUND THEN
vl_std_returnCode := '<RetCde>4244</RetCde><RetCde>4245</RetCde><RetCde>4246</RetCde>';
WHEN OTHERS THEN
vl_std_returnCode := '<RetCde>4244</RetCde><RetCde>4245</RetCde><RetCde>4246</RetCde>';
END;
IF INSTR(vl_std_returnCode, vl_RetCode, 1, 1) <> 0 THEN
--needs not to re attempted.
PDATA_TRANSFER_STATUS:='X';
ELSE
--In case we did'nt got SUCCESSFUL response FROM SPG THEN UPDATE the Data Transfer Status so that the failed requests can be picked up BY the NEXT batch job RUN
IF PDATA_TRANSFER_STATUS='N' THEN
--initially if data transfer status was N then update it now to F
PDATA_TRANSFER_STATUS := 'F';
ELSIF PDATA_TRANSFER_STATUS='F' THEN
--initially if data transfer status was N then update it now to S
PDATA_TRANSFER_STATUS := 'S';
END IF;
END IF;
END IF;
END IF;
--Now Update all the modified Values
UPDATE SPG_INTERFACE_TABLE
SET response = P_RESPONSE,
data_transfer_status = PDATA_TRANSFER_STATUS,
oracle_error = PORACLE_ERROR,
oracle_error_message = PORACLE_ERROR_MESSAGE,
response_time = PRESPONSE_TIME
WHERE transaction_id = PTRANSACTION_ID;
COMMIT;
END IF;
EXCEPTION
WHEN OTHERS THEN
--Handling the unhandled exception
PORACLE_ERROR := SQLCODE;
PORACLE_ERROR_MESSAGE := SQLERRM;
P_RESPONSE := 'ORACLE_ERROR: '|| PORACLE_ERROR_MESSAGE;
PRESPONSE_TIME := (DBMS_UTILITY.GET_TIME - v_start_time)/100;
SELECT data_transfer_status INTO PDATA_TRANSFER_STATUS
FROM SPG_INTERFACE_TABLE
WHERE transaction_id=PTRANSACTION_ID;
--New functionality to update the oracle error and oracle error message and not the Data Transfer Status
BEGIN
SELECT message
INTO vl_std_returnCode
FROM SMT_MESSAGES
WHERE MESSAGE_CODE='SPGANTIDTS';
EXCEPTION
WHEN NO_DATA_FOUND THEN
vl_std_returnCode := '-12545,-29273,-1,';
WHEN OTHERS THEN
vl_std_returnCode := '-12545,-29273,-1,';
END;
vl_RetCode := PORACLE_ERROR || ',';
IF INSTR(vl_std_returnCode, vl_RetCode, 1, 1) <> 0 THEN
--If the error is found in above maintained standing data do not change the Data Transfer Status
pdata_transfer_status:=pdata_transfer_status;
ELSE
IF pdata_transfer_status='N' THEN
PDATA_TRANSFER_STATUS := 'F';
DBMS_OUTPUT.PUT_LINE('DUE TO ERROR DATA COULDN''T GET TRANSFERED TO SPG FOR TRANSACTION'||' '||PTRANSACTION_ID);
DBMS_OUTPUT.PUT_LINE(SQLERRM);
ELSIF pdata_transfer_status='F' THEN
PDATA_TRANSFER_STATUS := 'S';
DBMS_OUTPUT.PUT_LINE('DUE TO ERROR DATA COULDN''T GET TRANSFERED TO SPG FOR TRANSACTION'||' '||PTRANSACTION_ID);
DBMS_OUTPUT.PUT_LINE(SQLERRM);
ELSE
DBMS_OUTPUT.PUT_LINE('Failure WHEN sending data TO Error LOG. Data Transfer Status IS ' || PDATA_TRANSFER_STATUS || '. TRANSACTION ID '|| PTRANSACTION_ID);
END IF;
END IF;
--Now update all the information gathered above to the table
UPDATE SPG_INTERFACE_TABLE
SET response = P_RESPONSE,
data_transfer_status = PDATA_TRANSFER_STATUS,
oracle_error = PORACLE_ERROR,
oracle_error_message = PORACLE_ERROR_MESSAGE,
response_time = PRESPONSE_TIME
WHERE transaction_id = PTRANSACTION_ID;
COMMIT;
END;
/I have fixed the problem by own.
Seems there are some while space in the endpoint url.
Fix
http_req:= utl_http.begin_request
trim(l_endpoint_url)
,'POST'
,'HTTP/1.1'
It works...
Regards
BS -
TOO many OPEN CURSORS during loop of INSERT's
Running ODP.NET beta2 (can't move up yet but will do that soon)
I don't think it is related with ODP itself but probably on how .Net works with cursors. We have a for/next loop that executes INSERT INTO xxx VALUES (:a,:b,:c)
statements. Apparently, when monitoring v$sysstat (current open cursors) we see these raising with 1 INSERT = 1 cursor. If subsequently we try to perform another action, we get max cursors exceeded. We allready set open_cursor = 1000, but the number of inserts can be very high. Is there a way to release these cursors (already wrote oDataAdaptor.dispose, oCmd.dispose but this does not help.
Is it normal that each INSERT has it's own cursor ? they all have the same hashvalue in v$open_cursor. They seem to be released after a while, especially when moving to another asp.net page, but it's not clear when that happens and if it is possible to force the release of the (implicit?) cursors faster.
Below is a snippet of the code, I unrolled a couple of function-calls into the code so this is just an example, not sure it will run without errors like this, but the idea should be clear (the code looks rather complex for what it does but the unrolled functions make the code more generic and we have a database-independend datalayer):
Try
' Set the Base Delete statement
lBaseSql = _
"INSERT INTO atable(col1,col2,col3) " & _
"VALUES(:col1,:col2,:col3)"
' Initialize a transaction
lTransaction = oConnection.BeginTransaction()
' Create the parameter collection, containing for each
' row in the list the arguments
For Each lDataRow In aList.Rows
lOracleParamters = New OracleParameterCollection()
lOracleParameter = New OracleParameter("luserid", OracleDbType.Varchar2,
_ CType(aCol1, Object))
lOracleParamters.Add(lOracleParameter)
lOracleParameter = New OracleParameter("part_no", OracleDbType.Varchar2, _
CType(lDataRow.Item("col2"), Object))
lOracleParamters.Add(lOracleParameter)
lOracleParameter = New OracleParameter("revision", OracleDbType.Int32, _
CType(lDataRow.Item("col3"), Object))
lOracleParamters.Add(lOracleParameter)
' Execute the Statement;
' If the execution fails because the row already exists,
' then the insert should be considered as succesfull.
Try
Dim aCommand As New OracleCommand()
Dim retval As Integer
'associate the aConnection with the aCommand
aCommand.Connection = oConnection
'set the aCommand text (stored procedure name or SQL statement)
aCommand.CommandText = lBaseSQL
'set the aCommand type
aCommand.CommandType = CommandType.Text
'attach the aCommand parameters if they are provided
If Not (lOracleParameters Is Nothing) Then
Dim lParameter As OracleParameter
For Each lParameter In lOracleParameters
'check for derived output value with no value assigned
If lParameter.Direction = ParameterDirection.InputOutput _
And lParameter.Value Is Nothing Then
lParameter.Value = Nothing
End If
aCommand.Parameters.Add(lParameter)
Next lParameter
End If
Return
' finally, execute the aCommand.
retval = cmd.ExecuteNonQuery()
' detach the OracleParameters from the aCommand object,
' so they can be used again
cmd.Parameters.Clear()
Catch ex As Exception
Dim lErrorMsg As String
lErrorMsg = ex.ToString
If Not lTransaction Is Nothing Then
lTransaction.Rollback()
End If
End Try
Next
lTransaction.Commit()
Catch ex As Exception
lTransaction.Rollback()
Throw New DLDataException(aConnection, ex)
End TryI have run into this problem as well. To my mind
Phillip's solution will work but seems completey unnecessary. This is work the provider itself should be managing.
I've done extensive testing with both ODP and OracleClient. Here is one of the scenarios: In a tight loop of 10,000 records, each of which is either going to be inserted or updated via a stored procedure call, the ODP provider throws the "too many cursor errors at around the 800th iteration. With over 300 cursors being open. The exact same code with OracleClient as the provider never throws an error and opens up 40+ cursors during execution.
The applicaation I have updates a Oracle8i database from a DB2 database. There are over 30 tables being updated in near real time. Reusing the command object is not an option and adding all the code Phillip did for each call seems highly unnecessary. I say Oracle needs to fix this problem. As much as I hate to say it the microsoft provider seems superior at this point. -
Hi,
We have developed an universe on BI query and developed report on it. But while running this BO query in Web Intelligence we get the following error
A database error occured. The database error text is: Error in MDDataSetBW.GetCellData. MDX result contains too many cells (more than 1 million). (WIS 10901)
This BO query is restricted for one document number.
Now when i check in the BI cube there are not more than 300-400 records for that document number.
If i restrict the BO query for document number, delivery number, material and acknowledged date then the query runs successfully.
Can anyone please help with this issue.follow this article to get the mdx generated by the webi report.
http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/90b02218-d909-2e10-1988-a2ca74547900
then try to execute the same in mdxtest transaction in bw -
Too many objects match the primary key oracle.jbo.Key
Hi OAF Gurus,
Currently we are implementing R12 Upgrade , for this we have deployed all the custom OAF Application related files on to the the respective JAVA_TOP folder.
We have a custom municipal postal application which tracks the Postal Details.
The page runs perfectly fine without any error in 11i instance, but the same is erroring out In R12.
In R12 it shows an error as Too many objects match the primary key oracle.jbo.Key[112010 2014-10-01]
here 112010 is nothing but the postal code id and 2014-10-01 is the Effective Start Date
We have a custom table as xxad_postal_codes_f (Date Track table)which contains the postal_code_id and effective_start_date (primary key is combination of postal_code_id and effective_start_date ).
The Table already contains a row for postal_code_id = 112010 and Effective_Start_date = Sysdate.
Now we want to update the entry for the same postal code with the Id being same as 112010 and Effective_Start_date as 2014-10-01 through custom PostCodeChangePG
at the time of save we are getting an error as Too many objects match the primary key oracle.jbo.Key[112010 2014-10-01]
The table doesn't contain any of the data mentioned ([112010 2014-10-01]) at the time of insertion, hence there should not be any duplication of primary key but still we are getting the error.
Please let us know how can we handle this..?
Below is the code which is getting called on Click of Save button of PostCodeChangePG
if (pageContext.getParameter("Apply") != null)
PCodeCoWorkerBase coWorker = getCoWorker(pageContext, webBean);
coWorker.processApply();
Code in PCodeCoWorkerBase
public void processApply()
String postalCodeId = UIHelper.getRequiredParameter(pageContext, "postalCodeId");
Date startDate = UIHelper.getRequiredDateParameter(pageContext , "EffectiveStartDate");
Serializable[] postalCodeData = (Serializable[]) applicationModule.invokeMethod( "insertPostalCodeMajorChange", params, paramTypes );
finalizeTransactionAndRedirect( postalCodeData );
Code in Application Module
public Serializable[] insertPostalCodeMajorChange ( String postalCodeId, Date date )
PCodeAmWorker amWorker = new PCodeAmWorker(this);
return amWorker.insertMajorChange( postalCodeId, DateHelper.convertClientToServerDate( getOADBTransaction(), date )
Code in PCodeAmWorker
public Serializable[] insertMajorChange ( String postalCodeId, Date date )
// Get the view objects we need from the application module
OAViewObject viewObject = (OAViewObject) applicationModule.getPCodesVO();
PCodesVORowImpl currentRow = (PCodesVORowImpl) viewObject.getCurrentRow();
currentRow.validate();
currentRow.setEffectiveStartDate(date);
currentRow.setComment1(currentRow.getNewComment());
// Create a new row based on the current row
PCodesVORowImpl newRow = (PCodesVORowImpl) viewObject.createAndInitRow(currentRow); //This is failing out and gives the error
// Get the new effective start date as entered by the user
Date effectiveStartDate = currentRow.getEffectiveStartDate();
// Calculate the previous period's effective end date
Date previousEffectiveEndDate = DateHelper.addDays(effectiveStartDate, -1);
// Refresh the current row (the one changed by the UI) with the data it had at the beginning of the transaction
currentRow.refresh(Row.REFRESH_UNDO_CHANGES);
// The current row will now represent data for the the previous period set the effective end date for the previous period
currentRow.setEffectiveEndDate(previousEffectiveEndDate);
// Insert the newly created row that now represents the new period
viewObject.insertRow(newRow);
applicationModule.apply();
return generateResult(newRow);
PCodesVO() is based on PostalCodeEO
below is the code from PostalCodeEOImpl
public void create(AttributeList attributeList)
// NOTE: This call will set attribute values if the entity object is created with a call to vo.createAndInitRow(..)
super.create(attributeList);
if (getPostalCodeId() == null)
setPostalCodeId(getOADBTransaction().getSequenceValue("XXAD_POSTAL_CODES_S"));
if (getEffectiveStartDate() == null)
setEffectiveStartDate(getOADBTransaction().getCurrentDBDate());
After diagnosing the issue we found that the error is on the code of AMworker file while creating a new row PCodesVORowImpl newRow = (PCodesVORowImpl) viewObject.createAndInitRow(currentRow);
we tried so many things such as clearing entity cache, VO cache, validating for duplicate primary key but still not able to resolved this.
Please advice how to insert a new row on the PCodesVORowImpl without any exception.
Thanks,
PallaviHi ,
One question here , if you are udating a existing record then why you are trying to create a new row
PCodesVORowImpl newRow = (PCodesVORowImpl) viewObject.createAndInitRow(currentRow);
Thanks
Pratap -
BEA-012036 Too Many Files | Weblogic Start Up for EJB deployment
Trying to deploy EAR with EJB module inside. I am seeing the below error intermittently while deploying and now starting the weblogic server .
There is already an EAR deployed with all the Shared Libraries under APP-INF/lib. I deployed a new EAR with all the similar common shared libraries ( APP-INF/lib jar files ) packaged inside this new file.
<Apr 28, 2009 7:45:18 PM EDT> <Error> <EJB> <BEA-012036> <Compiling generated EJB classes produced the following Java compiler error message:
/prod/xxxx/prd/server/dev_xxxx/servers/mt_crd_180_15001/cache/EJBCompilerCache/f6yuykfqdn7i/com/test/xxx/ejb/rtmschema/CreditserviceSessionEjb_f0jmmq_Impl.java:17: error while writing com.test.xxx.ejb.rtmschema.CreditserviceSessionEjb_f0jmmq_Impl: /prod/xxxx/prd/server/dev_xxxx/servers/mt_crd_180_15001/cache/EJBCompilerCache/f6yuykfqdn7i/com/test/xxx/ejb/rtmschema/CreditserviceSessionEjb_f0jmmq_Impl.class (Too many open files)
(source unavailable)
1 error
>
<Apr 28, 2009 7:45:19 PM EDT> <Error> <Deployer> <BEA-149205> <Failed to initialize the application 'xxx-ear-ejb4' due to error weblogic.application.ModuleException: Exception preparing module: EJBModule(xxx-ejbschema-service.jar)
Unable to deploy EJB: xxx-ejbschema-service.jar from xxx-ejbschema-service.jar:
There are 1 nested errors:
java.io.IOException: Compiler failed executable.exec:
/prod/xxxx/prd/server/dev_xxxx/servers/mt_crd_180_15001/cache/EJBCompilerCache/f6yuykfqdn7i/com/test/xxx/ejb/rtmschema/CreditserviceSessionEjb_f0jmmq_Impl.java:17: error while writing com.test.xxx.ejb.rtmschema.CreditserviceSessionEjb_f0jmmq_Impl: /prod/xxxx/prd/server/dev_xxxx/servers/mt_crd_180_15001/cache/EJBCompilerCache/f6yuykfqdn7i/com/test/xxx/ejb/rtmschema/CreditserviceSessionEjb_f0jmmq_Impl.class (Too many open files)
(source unavailable)
1 error
at weblogic.utils.compiler.CompilerInvoker.compileMaybeExit(CompilerInvoker.java:493)
at weblogic.utils.compiler.CompilerInvoker.compile(CompilerInvoker.java:332)
at weblogic.utils.compiler.CompilerInvoker.compile(CompilerInvoker.java:340)
at weblogic.ejb.container.ejbc.EJBCompiler.doCompile(EJBCompiler.java:343)
at weblogic.ejb.container.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:533)
at weblogic.ejb.container.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:500)
at weblogic.ejb.container.deployer.EJBDeployer.runEJBC(EJBDeployer.java:476)
at weblogic.ejb.container.deployer.EJBDeployer.compileJar(EJBDeployer.java:798)
at weblogic.ejb.container.deployer.EJBDeployer.compileIfNecessary(EJBDeployer.java:701)
at weblogic.ejb.container.deployer.EJBDeployer.prepare(EJBDeployer.java:1234)
at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:372)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:360)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:56)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:46)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:615)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:191)
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:147)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61)
at weblogic.deploy.internal.targetserver.AppDeployment.prepare(AppDeployment.java:137)
at weblogic.management.deploy.internal.DeploymentAdapter$1.doPrepare(DeploymentAdapter.java:39)
at weblogic.management.deploy.internal.DeploymentAdapter.prepare(DeploymentAdapter.java:187)
at weblogic.management.deploy.internal.AppTransition$1.transitionApp(AppTransition.java:21)
at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:233)
at weblogic.management.deploy.internal.ConfiguredDeployments.prepare(ConfiguredDeployments.java:165)
at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:122)
at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:173)
at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:89)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:464)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)
weblogic.application.ModuleException: Exception preparing module: EJBModule(xxx-ejbschema-service.jar)
Unable to deploy EJB: xxx-ejbschema-service.jar from xxx-ejbschema-service.jar:
There are 1 nested errors:
java.io.IOException: Compiler failed executable.exec:
/prod/xxxx/prd/server/dev_xxxx/servers/mt_crd_180_15001/cache/EJBCompilerCache/f6yuykfqdn7i/com/test/xxx/ejb/rtmschema/CreditserviceSessionEjb_f0jmmq_Impl.java:17: error while writing com.test.xxx.ejb.rtmschema.CreditserviceSessionEjb_f0jmmq_Impl: /prod/xxxx/prd/server/dev_xxxx/servers/mt_crd_180_15001/cache/EJBCompilerCache/f6yuykfqdn7i/com/test/xxx/ejb/rtmschema/CreditserviceSessionEjb_f0jmmq_Impl.class (Too many open files)
(source unavailable)
1 error
at weblogic.utils.compiler.CompilerInvoker.compileMaybeExit(CompilerInvoker.java:493)
at weblogic.utils.compiler.CompilerInvoker.compile(CompilerInvoker.java:332)
at weblogic.utils.compiler.CompilerInvoker.compile(CompilerInvoker.java:340)
at weblogic.ejb.container.ejbc.EJBCompiler.doCompile(EJBCompiler.java:343)
at weblogic.ejb.container.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:533)
at weblogic.ejb.container.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:500)
at weblogic.ejb.container.deployer.EJBDeployer.runEJBC(EJBDeployer.java:476)
at weblogic.ejb.container.deployer.EJBDeployer.compileJar(EJBDeployer.java:798)
at weblogic.ejb.container.deployer.EJBDeployer.compileIfNecessary(EJBDeployer.java:701)
at weblogic.ejb.container.deployer.EJBDeployer.prepare(EJBDeployer.java:1234)
at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:372)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:360)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:56)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:46)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:615)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:191)
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:147)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61)
at weblogic.deploy.internal.targetserver.AppDeployment.prepare(AppDeployment.java:137)
at weblogic.management.deploy.internal.DeploymentAdapter$1.doPrepare(DeploymentAdapter.java:39)
at weblogic.management.deploy.internal.DeploymentAdapter.prepare(DeploymentAdapter.java:187)
at weblogic.management.deploy.internal.AppTransition$1.transitionApp(AppTransition.java:21)
at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:233)
at weblogic.management.deploy.internal.ConfiguredDeployments.prepare(ConfiguredDeployments.java:165)
at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:122)
at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:173)
at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:89)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:464)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)
at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:399)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:360)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:56)
Truncated. see log file for complete stacktrace
java.io.IOException: Compiler failed executable.exec:
/prod/xxxx/prd/server/dev_xxxx/servers/mt_crd_180_15001/cache/EJBCompilerCache/f6yuykfqdn7i/com/test/xxx/ejb/rtmschema/CreditserviceSessionEjb_f0jmmq_Impl.java:17: error while writing com.test.xxx.ejb.rtmschema.CreditserviceSessionEjb_f0jmmq_Impl: /prod/xxxx/prd/server/dev_xxxx/servers/mt_crd_180_15001/cache/EJBCompilerCache/f6yuykfqdn7i/com/test/xxx/ejb/rtmschema/CreditserviceSessionEjb_f0jmmq_Impl.class (Too many open files)
(source unavailable)
1 error
at weblogic.utils.compiler.CompilerInvoker.compileMaybeExit(CompilerInvoker.java:493)
at weblogic.utils.compiler.CompilerInvoker.compile(CompilerInvoker.java:332)
at weblogic.utils.compiler.CompilerInvoker.compile(CompilerInvoker.java:340)
at weblogic.ejb.container.ejbc.EJBCompiler.doCompile(EJBCompiler.java:343)
at weblogic.ejb.container.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:533)
Truncated. see log file for complete stacktrace
Thanks
AbhiPut only files which needs to be 'shared' ( e.g persistent store files for jms, jta transaction store etc) on the network drive .. put all other files including logs on the local disk.. see if that makes a difference..
NAS is slower than other storage setups like SAN and DAS... -
DB need too many locks in single threaded application
Hello,
I`m new to BDB, and search for help of gurus.
I try to create database importing data from csv files. Import procedure is already written and works fine, but sometimes it starts to need too many locks.
Import process read csv file line by line. Check if key is already in the database, if yes it updates data, otherwise create new record. Import procedure is using DBEnv and transaction.
Please, look at 2 cases of data to import.
Case 1: Data in csv files are like:
key1, some_data_1
key1, some_data_2
key2, some_data_3
key2, some_data_4
keyN, some_data_2N-1
keyN, some_data_2N
(key became a key and data became the value in the database)
Case 2: Remove each second line in the csv file, so it became:
key1, some_data_1
key2, some_data_3
keyN, some_data_2N-1
In this case for successful import of the file more locks are needed then in case 1.
This seems very odd to me. Could somebody explain why lock system behave so? Looking forward to hearing any response.
Thanks.
p.s.: maybe my explanation is not very clear, but i don't know which other details are really important. I could provide more details if it could help.
Message was edited by:
user647892There is nothing wrong.
Oracle by default locks records. In case 1, you insert a record (1 row level lock) and update that same record. Why is a mystery, but the update doesn't require a lock (by you) as you already did lock the record.
In case 2, you have distinct keys for each line, so each line results in a row level lock as expected.
There are as much record locks as you request it to make.
You could consider locking the table explicitly once, prior to the transaction, by a lock table statement.
However, your approach is fundamentally flawed an non-scalable, as it processes each line individually instead of loading the data in a staging table and transferring it to the production table using
insert into production table
select * from staging table
where key not in (select key from product table)
Sybrand Bakker
Senior Oracle DBA -
JBO-25013: Too many objects match the primary key oracle.jbo.Key
hi am adding values from one viewObject to another viewObject am geting this error JBO-25013: Too many objects match the primary key oracle.jbo.Key
i used this code
<af:commandButton text="Add New" id="cb5"
actionListener="#{pageFlowScope.addMember.addMember}"/>
RichTable empTable;
public void setEmpTable(RichTable empTable) {
this.empTable = empTable;
public RichTable getEmpTable() {
return empTable;
binding="#{pageFlowScope.addMember.empTable}">
the error is pointing in this line
public void addMember(javax.faces.event.ActionEvent actionEvent) {
List<String> tempTable = new ArrayList<String>();
//Code to get the bindings for TargetVO :
RowKeySet selectedEmps = getEmpTable().getSelectedRowKeys();
Iterator selectedEmpIter = selectedEmps.iterator();
DCBindingContainer bindings =
(DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();
DCIteratorBinding empIter = bindings.findIteratorBinding("UserDetailsViewVO1Iterator");
RowSetIterator empRSIter = empIter.getRowSetIterator();
while(selectedEmpIter.hasNext()){
Key key = (Key)((List)selectedEmpIter.next()).get(0);
Row currentRow = empRSIter.getRow(key);
onRowCreate(currentRow);
public void onRowCreate( Row currentRow ) {
OIDOperations oIDOperations= new OIDOperations();
Map<Object,String> mp=new HashMap<Object, String>();
BindingContainer bindings = BindingContext.getCurrent().getCurrentBindingsEntry();
//access the name of the iterator the table is bound to.
DCIteratorBinding dciter = (DCIteratorBinding) bindings.get("DeltMember1Iterator");
//access the underlying RowSetIterator
RowSetIterator rsi = dciter.getRowSetIterator();
//get handle to the last row
Row lastRow = rsi.last();
//obtain the index of the last row
int lastRowIndex = rsi.getRangeIndexOf(lastRow);
//create a new row
Row newRow = rsi.createRow();
String f = (String)currentRow.getAttribute("Firstname");
String s = (String)currentRow.getAttribute("Surname");
String u = (String)currentRow.getAttribute("Username");
String n = (String)currentRow.getAttribute("Emailaddress");
newRow.setAttribute("Firstname", f);
newRow.setAttribute("Surname", s);
newRow.setAttribute("Username1", u);
newRow.setAttribute("Username", u);
newRow.setAttribute("Emailaddress", n);
newRow.setAttribute("Organisationid1",getorgid());
//initialize the row
newRow.setNewRowState(Row.STATUS_INITIALIZED);
//add row to last index + 1 so it becomes last in the range set
rsi.insertRowAtRangeIndex(lastRowIndex +1, newRow);
//make row the current row so it is displayed correctly
rsi.setCurrentRow(newRow);
System.out.println("Username " + u);
System.out.println("firstname " + f);
System.out.println("surname " + s);
System.out.println("email " + n);
}Edited by: adf009 on 2013/02/14 2:44 PM
Edited by: adf009 on 2013/02/14 2:44 PM
Edited by: adf009 on 2013/02/14 2:46 PM
Edited by: adf009 on 2013/02/14 2:47 PMhow must i control my pk
my log error is
Caused by: oracle.jbo.TooManyObjectsException: JBO-25013: Too many objects match the primary key oracle.jbo.Key[2909 ].
at oracle.jbo.server.EntityCache.throwTooManyObjectsException(EntityCache.java:604)
at oracle.jbo.server.EntityCache.handleDuplicateKey(EntityCache.java:613)
at oracle.jbo.server.EntityCache.addForAltKey(EntityCache.java:1020)
at oracle.jbo.server.EntityCache.add(EntityCache.java:537)
at oracle.jbo.server.EntityImpl.callCreate(EntityImpl.java:1207)
at oracle.jbo.server.ViewRowStorage.create(ViewRowStorage.java:1152)
at oracle.jbo.server.ViewRowImpl.create(ViewRowImpl.java:498)
at oracle.jbo.server.ViewRowImpl.callCreate(ViewRowImpl.java:515)
at oracle.jbo.server.ViewObjectImpl.createInstance(ViewObjectImpl.java:5714)
at oracle.jbo.server.QueryCollection.createRowWithEntities(QueryCollection.java:1993)
at oracle.jbo.server.ViewRowSetImpl.createRowWithEntities(ViewRowSetImpl.java:2492)
at oracle.jbo.server.ViewRowSetImpl.doCreateAndInitRow(ViewRowSetImpl.java:2533)
at oracle.jbo.server.ViewRowSetImpl.createRow(ViewRowSetImpl.java:2514)
at oracle.jbo.server.ViewObjectImpl.createRow(ViewObjectImpl.java:11079)
at uam.cadastre.gov.za.OrgDetails.onRowCreate(OrgDetails.java:1650)
at uam.cadastre.gov.za.OrgDetails.addMember(OrgDetails.java:1624)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.el.parser.AstValue.invoke(Unknown Source)
at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)
at org.apache.myfaces.trinidadinternal.taglib.util.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:53)
... 49 more
<DCUtil> <findSpelObject> [3498] DCUtil, returning:oracle.jbo.uicli.binding.JUFormBinding, for uam_view_pageDefs_OrgDetailsPageDef_WEB_INF_Updatetaskflow_definition_xml_Updatetaskflow_definition
<DCIteratorBinding> <releaseDataInternal> [3499] Releasing iterator binding:OfficecodeList_436
<DCIteratorBinding> <releaseDataInternal> [3500] Releasing iterator binding:OrganisationtypecodeList_344
<DCIteratorBinding> <releaseDataInternal> [3501] Releasing iterator binding:OrgsubtypecodeList_437
<DCIteratorBinding> <releaseDataInternal> [3502] Releasing iterator binding:CountrycodeList_438
<DCIteratorBinding> <releaseDataInternal> [3503] Releasing iterator binding:ProvinceList_439
<DCIteratorBinding> <releaseDataInternal> [3504] Releasing iterator binding:CityList_440
<DCIteratorBinding> <releaseDataInternal> [3505] Releasing iterator binding:SuburbList_441
<JUCtrlHierNodeBinding> <release> [3506] released: ROOT node binding:noCtrl_oracle_adfinternal_view_faces_model_binding_FacesCtrlHierNodeBinding_45, value:UpdResPerson1Iterator
<JUCtrlHierNodeBinding> <release> [3507] released: ROOT node binding:noCtrl_oracle_adfinternal_view_faces_model_binding_FacesCtrlHierNodeBinding_46, value:UpdResPerson1Iterator
<JUCtrlHierNodeBinding> <release> [3508] released: ROOT node binding:noCtrl_oracle_adfinternal_view_faces_model_binding_FacesCtrlHierNodeBinding_90, value:UserDetailsViewVO1Iterator
<JUCtrlHierNodeBinding> <release> [3509] released: ROOT node binding:noCtrl_oracle_adfinternal_view_faces_model_binding_FacesCtrlHierNodeBinding_203, value:DeltMember1Iterator
<DCIteratorBinding> <releaseDataInternal> [3510] Releasing iterator binding:UpdUamOrganisation1Iterator
<JUCtrlHierNodeBinding> <release> [3511] released: ROOT node binding:noCtrl_oracle_adfinternal_view_faces_model_binding_FacesCtrlHierNodeBinding_45, value:UpdResPerson1Iterator
<JUCtrlHierNodeBinding> <release> [3512] released: ROOT node binding:noCtrl_oracle_adfinternal_view_faces_model_binding_FacesCtrlHierNodeBinding_46, value:UpdResPerson1Iterator
<DCIteratorBinding> <releaseDataInternal> [3513] Releasing iterator binding:UpdResPerson1Iterator
<DCIteratorBinding> <releaseDataInternal> [3514] Releasing iterator binding:UpdPaymentOptions1Iterator
<DCIteratorBinding> <releaseDataInternal> [3515] Releasing iterator binding:LutPaymentmethodsView1Iterator
<JUCtrlHierNodeBinding> <release> [3516] released: ROOT node binding:noCtrl_oracle_adfinternal_view_faces_model_binding_FacesCtrlHierNodeBinding_203, value:DeltMember1Iterator
<DCIteratorBinding> <releaseDataInternal> [3517] Releasing iterator binding:DeltMember1Iterator
<DCIteratorBinding> <releaseDataInternal> [3518] Releasing iterator binding:UamUserdetailsView1Iterator
<DCIteratorBinding> <releaseDataInternal> [3519] Releasing iterator binding:UpdOrganisationUser1Iterator
<JUCtrlHierNodeBinding> <release> [3520] released: ROOT node binding:noCtrl_oracle_adfinternal_view_faces_model_binding_FacesCtrlHierNodeBinding_90, value:UserDetailsViewVO1Iterator
<DCIteratorBinding> <releaseDataInternal> [3521] Releasing iterator binding:UserDetailsViewVO1Iterator
<JUCtrlHierNodeBinding> <release> [3522] released: ROOT node binding:noCtrl_oracle_adfinternal_view_faces_model_binding_FacesCtrlHierNodeBinding_87, value:vcRowsIterator
<DCIteratorBinding> <releaseDataInternal> [3523] Releasing iterator binding:operators_357
<DCIteratorBinding> <releaseDataInternal> [3524] Releasing iterator binding:listIter
<DCIteratorBinding> <releaseDataInternal> [3525] Releasing iterator binding:values_360
<DCIteratorBinding> <releaseDataInternal> [3526] Releasing iterator binding:values_360
<DCIteratorBinding> <releaseDataInternal> [3527] Releasing iterator binding:nestedViewCriteria_362
<DCIteratorBinding> <releaseDataInternal> [3528] Releasing iterator binding:nestedViewCriteria_362
<DCIteratorBinding> <releaseDataInternal> [3529] Releasing iterator binding:operators_357
<DCIteratorBinding> <releaseDataInternal> [3530] Releasing iterator binding:operators_364
<DCIteratorBinding> <releaseDataInternal> [3531] Releasing iterator binding:listIter
<DCIteratorBinding> <releaseDataInternal> [3532] Releasing iterator binding:values_367
<DCIteratorBinding> <releaseDataInternal> [3533] Releasing iterator binding:values_367
<DCIteratorBinding> <releaseDataInternal> [3534] Releasing iterator binding:nestedViewCriteria_369
<DCIteratorBinding> <releaseDataInternal> [3535] Releasing iterator binding:nestedViewCriteria_369
<DCIteratorBinding> <releaseDataInternal> [3536] Releasing iterator binding:operators_364
<DCIteratorBinding> <releaseDataInternal> [3537] Releasing iterator binding:operators_371
<DCIteratorBinding> <releaseDataInternal> [3538] Releasing iterator binding:listIter
<DCIteratorBinding> <releaseDataInternal> [3539] Releasing iterator binding:values_374
<DCIteratorBinding> <releaseDataInternal> [3540] Releasing iterator binding:values_374
<DCIteratorBinding> <releaseDataInternal> [3541] Releasing iterator binding:nestedViewCriteria_376
<DCIteratorBinding> <releaseDataInternal> [3542] Releasing iterator binding:nestedViewCriteria_376
<DCIteratorBinding> <releaseDataInternal> [3543] Releasing iterator binding:operators_371
<DCIteratorBinding> <releaseDataInternal> [3544] Releasing iterator binding:operators_378
<DCIteratorBinding> <releaseDataInternal> [3545] Releasing iterator binding:listIter
<DCIteratorBinding> <releaseDataInternal> [3546] Releasing iterator binding:values_381
<DCIteratorBinding> <releaseDataInternal> [3547] Releasing iterator binding:values_381
<DCIteratorBinding> <releaseDataInternal> [3548] Releasing iterator binding:nestedViewCriteria_383
<DCIteratorBinding> <releaseDataInternal> [3549] Releasing iterator binding:nestedViewCriteria_383
<DCIteratorBinding> <releaseDataInternal> [3550] Releasing iterator binding:operators_378
<DCIteratorBinding> <releaseDataInternal> [3551] Releasing iterator binding:criteriaItemsForSearch_348
<DCIteratorBinding> <releaseDataInternal> [3552] Releasing iterator binding:viewObjectBindVars_351
<DCIteratorBinding> <releaseDataInternal> [3553] Releasing iterator binding:viewObjectBindVars_351
<DCIteratorBinding> <releaseDataInternal> [3554] Releasing iterator binding:properties_353
<DCIteratorBinding> <releaseDataInternal> [3555] Releasing iterator binding:properties_353
<DCIteratorBinding> <releaseDataInternal> [3556] Releasing iterator binding:criteriaItemsForSearch_348
<JUCtrlHierNodeBinding> <release> [3557] released: ROOT node binding:noCtrl_oracle_adfinternal_view_faces_model_binding_FacesCtrlHierNodeBinding_88, value:vcRowsIterator
<JUCtrlHierNodeBinding> <release> [3558] released: ROOT node binding:noCtrl_oracle_adfinternal_view_faces_model_binding_FacesCtrlHierNodeBinding_87, value:vcRowsIterator
<JUCtrlHierNodeBinding> <release> [3559] released: ROOT node binding:noCtrl_oracle_adfinternal_view_faces_model_binding_FacesCtrlHierNodeBinding_88, value:vcRowsIterator
<DCIteratorBinding> <releaseDataInternal> [3560] Releasing iterator binding:vcRowsIterator
<DCIteratorBinding> <releaseDataInternal> [3561] Releasing iterator binding:variableIterator
<DCIteratorBinding> <releaseDataInternal> [3562] Releasing iterator binding:UamAddress1Iterator
<ApplicationPoolMessageHandler> <doPoolMessage> [3563] **** PoolMessage REQ ATTACH LWS
<ApplicationPoolMessageHandler> <doPoolMessage> [3564] **** PoolMessage REQ DETACH LWS
<ViewObjectImpl> <closeStatementsResetRowSet> [3565] ViewObject: [internal_vcival_def]Root.internal_vcival_def_385 close prepared statements...
<ViewObjectImpl> <closeStatementsResetRowSet> [3566] ViewObject: [internal_vco_def]Root.internal_vco_def_442 close prepared statements...
<ViewObjectImpl> <closeStatementsResetRowSet> [3567] ViewObject: [internal_vci_def]Root.internal_vci_def_355 close prepared statements...
<ViewObjectImpl> <closeStatementsResetRowSet> [3568] ViewObject: [AppModule.UserDetailsViewVO1.data_uam_view_updateorgPageDef_Updatetaskflowdefinition1_uam_view_pageDefs_OrgDetailsPageDef_WEB_INF_Updatetaskflow_definition_xml_Updatetaskflow_definition_ImplicitViewCriteriaQuery]Root.AppModule_UserDetailsViewVO1_data_uam_view_updateorgPageDef_Updatetaskflowdefinition1_uam_view_pageDefs_OrgDetailsPageDef_WEB_INF_Updatetaskflow_definition_xml_Updatetaskflow_definition_ImplicitViewCriteriaQuery_346 close prepared statements...
<DCUtil> <findSpelObject> [3569] DCUtil, returning:oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding, for ImplicitViewCriteriaQuery
<JUCtrlHierNodeBinding> <release> [3570] released: ROOT node binding:noCtrl_oracle_adfinternal_view_faces_model_binding_FacesCtrlHierNodeBinding_87, value:vcRowsIterator
<JUCtrlHierNodeBinding> <release> [3571] released: ROOT node binding:noCtrl_oracle_adfinternal_view_faces_model_binding_FacesCtrlHierNodeBinding_88, value:vcRowsIterator
<JUCtrlHierNodeBinding> <release> [3572] released: ROOT node binding:noCtrl_oracle_adfinternal_view_faces_model_binding_FacesCtrlHierNodeBinding_87, value:vcRowsIterator
<JUCtrlHierNodeBinding> <release> [3573] released: ROOT node binding:noCtrl_oracle_adfinternal_view_faces_model_binding_FacesCtrlHierNodeBinding_88, value:vcRowsIterator
<DCIteratorBinding> <releaseDataInternal> [3574] Releasing iterator binding:vcRowsIterator
<DCIteratorBinding> <releaseDataInternal> [3575] Releasing iterator binding:variableIterator
<ADFLogger> <begin> Rollback transaction
<ApplicationModuleImpl> <resetState> [3576] Resetting AM=Root
<ApplicationPoolMessageHandler> <doPoolMessage> [3577] **** PoolMessage REQ DETACH LWS
<ApplicationPoolMessageHandler> <doPoolMessage> [3578] **** PoolMessage REQ ATTACH LWS
<ApplicationPoolMessageHandler> <doPoolMessage> [3579] **** PoolMessage REQ DETACH LWS
<XmlErrorHandler> <handleError> ADF_FACES-60096:Server Exception during PPR, #1
javax.servlet.ServletException: JBO-25013: Too many objects match the primary key oracle.jbo.Key[2909 ].
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:277)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:179)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
Caused by: oracle.jbo.TooManyObjectsException: JBO-29114 ADFContext is not setup to process messages for this exception. Use the exception stack trace and error code to investigate the root cause of this exception. Root cause error code is JBO-25013. Error message parameters are {0=oracle.jbo.Key[2909 ]}
at oracle.jbo.server.EntityCache.throwTooManyObjectsException(EntityCache.java:604)
at oracle.jbo.server.EntityCache.handleDuplicateKey(EntityCache.java:613)
at oracle.jbo.server.EntityCache.addForAltKey(EntityCache.java:1020)
at oracle.jbo.server.EntityCache.add(EntityCache.java:537)
at oracle.jbo.server.EntityImpl.callCreate(EntityImpl.java:1207)
at oracle.jbo.server.ViewRowStorage.create(ViewRowStorage.java:1152)
at oracle.jbo.server.ViewRowImpl.create(ViewRowImpl.java:498)
at oracle.jbo.server.ViewRowImpl.callCreate(ViewRowImpl.java:515)
at oracle.jbo.server.ViewObjectImpl.createInstance(ViewObjectImpl.java:5714)
at oracle.jbo.server.QueryCollection.createRowWithEntities(QueryCollection.java:1993)
at oracle.jbo.server.ViewRowSetImpl.createRowWithEntities(ViewRowSetImpl.java:2492)
at oracle.jbo.server.ViewRowSetImpl.doCreateAndInitRow(ViewRowSetImpl.java:2533)
at oracle.jbo.server.ViewRowSetImpl.createRow(ViewRowSetImpl.java:2514)
at oracle.jbo.server.ViewObjectImpl.createRow(ViewObjectImpl.java:11079)
at OrgDetails.onRowCreate(OrgDetails.java:1650)
at OrgDetails.addMember(OrgDetails.java:1624)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.el.parser.AstValue.invoke(Unknown Source)
at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)
at org.apache.myfaces.trinidadinternal.taglib.util.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:53)
at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodBinding(UIXComponentBase.java:1256)
at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:183)
at org.apache.myfaces.trinidad.component.UIXCollection.broadcast(UIXCollection.java:148)
at org.apache.myfaces.trinidad.component.UIXTable.broadcast(UIXTable.java:279)
at oracle.adf.view.rich.component.UIXTable.broadcast(UIXTable.java:145)
at oracle.adf.view.rich.component.rich.data.RichTable.broadcast(RichTable.java:402)
at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:148)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:1018)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:386)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:194)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
... 38 more
the error is in this like Row newRow = rsi.createRow();Edited by: adf009 on 2013/02/14 2:48 PM -
ICloud mail "Too many connections" error
Anyone ever gotten this error when sending to an @me.com account? This is what it looks like when I send email to myself using it. My gut says it's a Boxcar issue but I haven't used that service in months and I've now disconnected anything from it. This is the error I'm seeing back when sending email to my iCloud account:
This report relates to a message you sent with the following header fields:
Message-id: <[email protected]>
Date: Wed, 07 Nov 2012 14:29:50 -0500
From: Brad Franklin <[email protected]>
To: Brad Franklin <[email protected]>
Subject: Test
Your message cannot be delivered to the following recipients:
Recipient address: [email protected]
Original address: [email protected]
Reason: Rejection greeting returned by server.
Diagnostic code: smtp;554 Transaction failed. Too many connections.
Remote system: dns;push.boxcar.io (TCP|17.172.204.240|45227|173.192.56.11|25) (Transaction failed. Too many connections.)
Original-envelope-id: [email protected]
Reporting-MTA: dns;st11p01mm-asmtp005.mac.com (tcp-daemon)
Arrival-date: Wed, 07 Nov 2012 19:29:54 +0000 (GMT)
Original-recipient: rfc822;[email protected]
Final-recipient: rfc822;[email protected]
Action: failed
Status: 5.0.0 (Rejection greeting returned by server.)
Remote-MTA: dns;push.boxcar.io (TCP|17.172.204.240|45227|173.192.56.11|25)
(Transaction failed. Too many connections.)
Diagnostic-code: smtp;554 Transaction failed. Too many connections.I'm also having this issue with two of my accounts (the main ones I use the most!) I get this message:
-
Select from (too many) tables
Hi all,
I'm a proud Oracle Apex developer. We have developed an Interactive Report that is generated from many joined tables in a remote system. I've read that to improve performances we can do the following:
1) Create a temporary table on our system that stores the app_user id and the colmun as a result of the query
2) Create a procedure that does:
declare
param1:= :PXX_item
param2:= :PXY_item.
param3:= :V('APP_USER')
insert into <our_table>
(select param3, <query from remore system>)
commit;
3) Rediresct to a query page where IR reads from this temp table
On "Exit" button there's a procedure that purge table data of that user (delete from temp where user=V('app_user'), so the temp table is only filled with necessary data.
Do you see any inconvenience? Application will be used from about 500 users, about 50 concurrent users at a time.
Thank you!1) We don't have a control on source syste, we can only perform query on itI was referring to a materialized view on the system where Apex is installed, not on the source database.
2) There are many tables involvedI don't understand why this is a problem. Too much data I can see, but too many tables... not so much.
3) Data has to be in real time, with no delayThis would a problem for MV or collections. The collections would store the data as of the initial query. Any IRs using the collection after the fact would be using stale data. If you absolutely have to have the data as of right now every time, then the full query must run on the remote system every time. Tuning that query is the only option to make it faster.
4) There are many transactions on the source tables (they are the core of the source system) and so MV could not be refreshed so fastProbably could be with fast refresh enabled, but not necessarily practical to do so. As I indicated in 3, you have painted yourself into a corner here. You have indicated a need for a real-time query and that eliminates a number of possibilities for query-once use-many performance solutions.
Maybe you are looking for
-
HT201441 how to unlock my ipad
i cant activat my ipad so can u ntell me how to active my ipad
-
I want to know how I could use another method of payment in my Request Forms I do have an embed code to generate a buttom... How can I do?? regards Renato
-
Black and white photo of child with undisturbed eye color?
How can I get this effect?
-
"Phantom" email accounts - how to delete?
I have OS X Yosemite and use the built in mail app. I am am having trouble sending email via my Yahoo! mail account. I regularly get a popup message asking for my password. After several attempts I brought up the Mail Connection Doctor and noticed tw
-
Email Messages Replacing Letters With = Signs
Somebody please help I am having an issue with my z10. When I send an email from my device is adds a bunch of script into the email that should not be there. It even goes as far as replacing letters I have put in with = signs and a bunch of other ran