ORA-01000 max cursors exceeded
After what I thought was fixing the problem, we are yet again hitting ORA-01000.
We have an application which was left running over Christmas and New Year but with no one using it.
We came back and the first time someone tried to do something we hit the ORA-01000 error.
Has anyone seen anything like this before?
I'm not ruling out a problem in our code somewhere but it seems odd that when the application is actually being used we have no problems but if we leave it to sit for a while it suddenly runs out of cursors!
Cheers
Alex
what is the application doing? Is any other application accessing the database? Are you using statement caching?
Similar Messages
-
ORA-01000 Max Cursors even when closing
When I execute the following code, the number of open cursors increases by 2, even though I am disposing of the reader, command and connection.
long returnValue=0;
OracleConnection myOracleConnection = null;
OracleCommand cmd = null;
OracleDataReader reader = null;
try
myOracleConnection = new OracleConnection(strDBConn);
myOracleConnection.Open();
cmd = new OracleCommand(spGetNextSequenceNo, myOracleConnection) ;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(prmSystemType,intSystemType);
cmd.Parameters.Add(prmSection,strSection);
cmd.Parameters.Add(new OracleParameter("rc1", OracleType.Cursor)).Direction = ParameterDirection.Output;
reader = cmd.ExecuteReader();
if(reader.Read())
int colCount = reader.GetOrdinal("NextSequence");
returnValue = reader.GetInt64(colCount);
return returnValue;
catch(Exception myException)
return 0;
finally
if( myOracleConnection != null )
myOracleConnection.Close();
myOracleConnection = null;
if( cmd != null )
cmd.Dispose();
cmd = null;
if( reader != null )
reader.Close();
reader.Dispose();
reader = null;
the stored procedure being called is given below
CREATE OR REPLACE PROCEDURE SPCRISPGETTRANSFORMFIELDS(
RC1 IN OUT crisp.globalPkg.RCT1) AS
/* Force:DPP Version: 1.0.5 DateModified: 2003:07:25 */
CURSOR curExtractsTrnsfrmLook IS
SELECT
name
FROM
CRISP_SYS_EXTRCTS_TRNSFRM_LOOK;
myRowVariable curExtractsTrnsfrmLook%ROWTYPE;
BEGIN
OPEN RC1 FOR
SELECT
FROM
CRISP_SYS_EXTRCTS_TRNSFRM_LOOK;
OPEN curExtractsTrnsfrmLook;
FETCH curExtractsTrnsfrmLook INTO myRowVariable;
IF curExtractsTrnsfrmLook%NOTFOUND THEN
raise_application_error(-20999, 'ERROR encountered when retrieving rows from CRISP_SYS_EXTRCTS_TRNSFRM_LOOK (spCRISPGetTransformFields)');
END IF;
CLOSE curExtractsTrnsfrmLook;
EXCEPTION
WHEN OTHERS THEN
IF curExtractsTrnsfrmLook%ISOPEN THEN
CLOSE curExtractsTrnsfrmLook;
END IF;
RAISE;
END SPCRISPGETTRANSFORMFIELDS;
I am closing the cursor checking for the existence of any rows, but even this cursor appears in the v$open_cursor view.
Can anyone explain why this is?I am having the exact same problem and am also closing and disposing the datareader and the connection. have you heard anything?
-
Max cursors exceeds problem(ORA-01000)
Hi
In my server open_cursors is set as 300 .We are developing a java application(using struts & Jboss web server) nearly 10 computers access the oracle 10g server through plsql procedures/functions ,frequently I am getting ORA-01000 -MAX CURSOR EXCEEDS errors,what should I do .please.....
by
s_balaThat means there is two cursor related parameters
|
|
|
|
| |
1)Cached cursors 2)Currently open cursor
1)Cached cursors 2)Currently open cursor
SQL> select o.sid,osuser,machine,count(*) num_curs
from v$open_cursor o,v$session s
WHERE user_name = 'ERP' and
o.sid = s.sid GROUP BY o.sid,osuser,machine
ORDER BY num_curs DESC; SQL>select max(a.value) as highest_open_cur,
p.value as max_open_cur
from v$sesstat a, v$statname b, v$parameter p
where a.statistic# = b.statistic#
and b.name = 'opened cursors current'
and p.name= 'open_cursors'group by p.value;
THIS IS THE RESULT I GOT
SID OSUSER MACHINE NUM_CURS
106 x 18
93 x 14
124 x 14
152 x 13
90 y y 11
121 z 8
132 a 8
118 b b 6
105 c 5
131 b 5
98 d d 4
95 x 3
147 y y 3
89 e 2
119 e 2 THIS IS THE RESULT I GOT
HIGHEST_OPEN_CUR MAX_OPEN_CUR
83 500
-This is related to ORA-01000 -MAX CURSOR EXCEEDS
From the above what I understood is correct ???
F) How to clear 1)Cached cursors ? (or) how to reduce NUM_CURS (from the above left side table ).
G) will the 1)Cached cursors give any problems to our database. -
Max Cursors Exceeded even with XSU 1.2
In one of the messages on this forum I read Steven Muench's comments stating that the max cursors exceeded problem for big result sets in XSQL has been addressed in XSU1.2
I have downloaded this software released in April 2000 but this version still gives me this error.
Has someone been able to find a solution/workaround to this.
ThanksIt might also be an issue with the HS_OPEn_CURSORS. By default the gateway allows only 50 open cursors to be opened at the foreign database. What happens when you set in the gateway init file HS_OPEN_CURSORS=200?
If it still fails, could you upload to a public file share a gateway trace level DEBUG (HS_FDS_TRACE_LEVEL=DEBUG)?
- Klaus -
Ora-1000 max openCursor exceeded
Hi,
i have a question about the ora-1000.
My prog is a "C"-coded Programm. Which is connected to the
database. After few days the Ora-message ora-1000 will be shown
in the tracefile.
The Parameter Max open Cursor is meanwhile set 1000.
Knows anyone the Problem with 8.1.7 DB.
We have also the online-backup and the Journaling set on.
I tried to generate the same fault with a test prog but it was
not possible with test- Tables. I had the same effect only with
the Production Tables.
bestv regardsMake sure that u close all the cursors that u open in the
program. Most of the time that is the biggest culprit.
Ketan. -
ORA-01000 maximum open cursors exceeded - help!
Hi, I need some help with resolving ORA-01000 maximum cursors exceeded issue.I know this issue has been discussed before. I know this is caused because of not closing the resultset and statement, connection objects at the right place.
Can anyone guide me where I should close them?. should they be closed inside the while(rs.next()) loop? There are two prepared statments. I am sure closing in finally block is not enough.
It would help if you show me by typing the code for closing rs , ps, rs2, ps2, and conn .. should conn be closed too? if yes where..
Connection conn = null;
PreparedStatement ps = null;
PreparedStatement ps2 = null;
ResultSet rs = null;
ResultSet rs2 = null;
ArrayList arrayList = new ArrayList();
displayerDO pdo = null;
DocTypeDO dtdo = null;
StringBuffer sql = new StringBuffer();
sql.append("SELECT displayer_id, name FROM tech_displayers ORDER BY name");
StringBuffer sql2 = new StringBuffer();
sql2.append(" SELECT D.doc_type_id, D.name" +
" FROM tech_DOC_TYPES D, tech_DOC_TYPE_displayERS P" +
" WHERE D.default_displayer_id = P.displayer_id" +
" AND P.displayer_id = ?");
if(VERBOSE)
Debug.displayln("displayingControllerDAOORCL.getdisplayers(): sql = " + sql.toString());
Debug.displayln("displayingControllerDAOORCL.getdisplayers(): sql2 = " + sql2.toString());
try
conn = DbUtil.getConnection("tech");
ps = conn.prepareStatement(sql.toString());
ps2 = conn.prepareStatement(sql2.toString());
rs = ps.executeQuery();
while(rs.next())
pdo = new displayerDO();
pdo.setdisplayerId(rs.getInt("displayer_id"));
pdo.setName(rs.getString("name"));
ps2.setInt(1, rs.getInt("displayer_id"));
rs2 = ps2.executeQuery();
while(rs2.next())
dtdo = new DocTypeDO();
dtdo.setDocTypeId(rs2.getInt("doc_type_id"));
dtdo.setName(rs2.getString("name"));
// get displayer name from FIRST result set
dtdo.setdisplayer(rs.getString("name"));
pdo.addDocType(dtdo);
arrayList.add(pdo);
catch(SQLException sqle)
if(VERBOSE)
Debug.displayln("displayingControllerDAOORCL.getDocdisplayers(): exception e=" + sqle);
throw sqle;
finally
DbUtil.close(rs2);
DbUtil.close(ps2);
DbUtil.close(ps, rs, conn);
Thanks,
scottScott,
From the code it looks like for every row of "ps" you are executing "ps2".
You should close ps2 as soon as it is done.
ie.,
<pre>
while(rs.next())
pdo = ...
rs2 = ps2.executeQuery()
while (rs2.next())
}// end of while(rs2.next())
rs2.close(); // NEW LINE: Close the resultset here.
}// end of while(rs.next())
HTH
Ashok -
We try to write a browser script which reads an excel sheet and sends information to a business service which in turn creates record in Siebel (Agreement Items, Price List Lines, etc).
The program runs for about 200 records and gives us Max Cursor Exceeded issue. When we check v$open_cursors table we see it has reached the max limit.
This is not happening in Dedicated and local client. Happens only in the thin client instance.
SELECT SID, COUNT (*)
FROM v$open_cursor
WHERE SID IN (SELECT SID
FROM v$session
WHERE logon_time = (SELECT MAX (logon_time)
FROM v$session
WHERE username IS NOT NULL))
GROUP BY SID;
above query returns the count of open_cursors for the last logged in Id
select user_name, status, osuser, machine, a.sql_text
from v$session b,
v$open_cursor a
where a.sid = b.sid and a.sid = '233'
above query lists all the open cursors for the given SID. using this query I was able to check that all the cursors are actually in "INACTIVE" state.
Oracle is also working on this issue with us but we thought to share it with group too to see if anyone faced this issue and can help.
Thanks for your time.
ShivaniThe BS invoked by the browser script is a customized one? If so, are you instantiating some BC objects? If so, are you clearing the pointers so the garbage collector can destroy the instantiated objects? Each instantiated BC will have one open cursor to the DB.
If you meet all these question the issue can be in the performance of the garbage collector, i.e. you are instantiating objects more quickly than the garbage collector is destroying them. You can state this by enabling the allocation logging and then analyze the creation and the destruction of the objects. -
Help needed, getting ORA-01000: maximum open cursors exceeded
CJ or anyone that may have come across this problem in the past, I hope that you may be able to help me
I am trying to implement a function from the Salesforce PHP tool kit that runs against a class that returns a object of ID's that have been updated in a given time frame.
This is a lot of code. I am sorry for that:
<?php
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
//Keep the SOAP cache clean
ini_set("soap.wsdl_cache_enabled","0");
$delete_count = 0;
$oracle_deleted = 0;
//Setup array for local ID's'
$opportunity_data = array();
$deleted_data = array();
//start setup for PL SQL statement
$strsql = "begin mapsapp.sforce_opp_insert(";
$strsql .= ":pm_id,";
$strsql .= ":pm_accountid,";
$strsql .= ":pm_name,";
$strsql .= ":pm_description,";
$strsql .= ":pm_stagename,";
$strsql .= ":pm_amount,";
$strsql .= ":pm_probability,";
$strsql .= ":pm_expectedrevenue,";
$strsql .= ":pm_closedate,";
$strsql .= ":pm_type,";
$strsql .= ":pm_nextstep,";
$strsql .= ":pm_leadsource,";
$strsql .= ":pm_isclosed,";
$strsql .= ":pm_iswon,";
$strsql .= ":pm_forecastcategory,";
$strsql .= ":pm_campaignid,";
$strsql .= ":pm_hasopportunitylineitem,";
$strsql .= ":pm_pricebook2id,";
$strsql .= ":pm_ownerid,";
$strsql .= ":pm_createddate,";
$strsql .= ":pm_createdbyid,";
$strsql .= ":pm_lastmodifieddate,";
$strsql .= ":pm_lastmodifiedbyid,";
$strsql .= ":pm_systemmodstamp,";
$strsql .= ":pm_rsm_project_id_score__c,";
$strsql .= ":pm_lead_fae__c,";
$strsql .= ":pm_avg_annual_volume__c,";
$strsql .= ":pm_priority__c,";
$strsql .= ":pm_design_start_date__c,";
$strsql .= ":pm_design_proto_date__c,";
$strsql .= ":pm_production_years__c,";
$strsql .= ":pm_production_life_months__c,";
$strsql .= ":pm_production_months__c,";
$strsql .= ":pm_design_freeze_date__c,";
$strsql .= ":pm_production_proto_date__c,";
$strsql .= ":pm_mass_production_date__c,";
$strsql .= ":pm_fae_status__c,";
$strsql .= ":pm_fae_assigned_date__c,";
$strsql .= ":pm_fae_accepted_date__c,";
$strsql .= ":pm_potential__c,";
$strsql .= ":pm_fae_reject_reason__c,";
$strsql .= ":pm_fae_project_complexity__c,";
$strsql .= ":pm_design_phase__c,";
$strsql .= ":pm_maxim_id__c,";
$strsql .= ":pm_project_number__c,";
$strsql .= ":pm_active__c,";
$strsql .= ":pm_pivotal_created_by__c,";
$strsql .= ":pm_manufactured_by__c,";
$strsql .= ":pm_isdeleted,";
$strsql .= ":pm_lastactivitydate";
$strsql .= "); end;";
//end setup for PL SQL statement
//include common files
require_once ('/users/msimonds/public_html/includes/sfdc.inc');
include_once ('adodb.inc.php');
$db = ADONewConnection("oci8");
//connect to Oracle
$db->Connect('',"database_user","password","dev2");
//$db->BeginTrans();
$db->SetFetchMode(ADODB_FETCH_ASSOC);
if ($db)
try
//Set current time to get records from Salesforce
$currentTime = mktime();
// assume that update occured within the last 24 hrs.
$startTime = $currentTime - (60 * 60 * 36); //(seconds * minutes * hours)
$endTime = $currentTime;
echo "***** Get Updated Opportunities from the last 24 hours *****<br />";
$getUpdateddResponse = $client->getUpdated('Opportunity',$startTime,$endTime);
//$getUpdateddResponse->ids = "";
//echo '<pre>'.print_r($getUpdateddResponse,true).'</pre>';
//exit;
$opportunity_data = $getUpdateddResponse->ids;
if (is_array($opportunity_data) || is_object($opportunity_data))
set_time_limit(0);
ini_set("memory_limit","512M");
//copy data from Object to local array
//count the number of records coming in from Salesforce
$record_count = count($opportunity_data);
echo $record_count;
exit;
//echo '<pre>'.print_r($opportunity_data,true).'</pre>';
//exit;
//loop through the records
for ($i = 0; $i < $record_count; $i++)
$id = $opportunity_data[$i];
//SQL query for Salesforce
$soql = "Select Id, IsDeleted, AccountId, Name, Description, StageName, Amount, Probability, ExpectedRevenue, CloseDate, Type, NextStep, LeadSource, IsClosed, IsWon, ForecastCategory, CampaignId, HasOpportunityLineItem, Pricebook2Id, OwnerId, CreatedDate, CreatedById, LastModifiedDate, LastModifiedById, SystemModstamp, LastActivityDate, RSM_Original_Project_ID_Score__c, Lead_FAE__c, Avg_Annual_Volume__c, Priority__c, Design_Start_Date__c, Design_Proto_Date__c, Production_Years__c, Production_Life_months__c, Production_Months__c, Design_Freeze_Date__c, Production_Proto_Date__c, Mass_Production_Date__c, FAE_Status__c, FAE_Assigned_Date__c, FAE_Accepted_Date__c, Project_Potential__c, FAE_Reject_Reason__c, FAE_Project_Complexity__c, Design_Phase__c, maxim_id__c, Project_Number__c, Active__c, Project_Comments__c, Pivotal_Created_By__c, Manufactured_By__c FROM Opportunity WHERE Id = '{$id}'";
//setup query to local Oracle MAPS database
$get_oracle_record = query_db($id,$db);
if ($get_oracle_record)
$sql = "DELETE FROM sforce_opportunity WHERE ID = '{$id}'";
if ($db->Execute($sql)) ;
$insert_records = get_records($client,$soql);
else
$insert_records = get_records($client,$soql);
foreach ($insert_records as $r)
$pass_this['id'] = $id;
$pass_this['accountid'] = (string )$r->fields->AccountId;
$pass_this['name'] = (string )$r->fields->Name;
$pass_this['description'] = (string )$r->fields->Description;
$pass_this['stagename'] = (string )$r->fields->StageName;
$pass_this['amount'] = (int)$r->fields->Amount;
$pass_this['probability'] = (int)$r->fields->Probability;
$pass_this['expectedrevenue'] = (int)$r->fields->ExpectedRevenue;
$pass_this['closedate'] = (string )$r->fields->CloseDate;
$pass_this['type'] = (string )$r->fields->Type;
$pass_this['nextstep'] = (string )$r->fields->NextStep;
$pass_this['leadsource'] = (string )$r->fields->LeadSource;
$pass_this['isclosed'] = (string )$r->fields->IsClosed;
$pass_this['iswon'] = (string )$r->fields->IsWon;
$pass_this['forecastcategory'] = (string )$r->fields->ForecastCategory;
$pass_this['campaignid'] = (string )$r->fields->CampaignId;
$pass_this['hasopportunitylineitem'] = (string )$r->fields->HasOpportunityLineItem;
$pass_this['pricebook2id'] = $r->fields->Pricebook2Id;
$pass_this['ownerid'] = $r->fields->OwnerId;
$pass_this['createddate'] = (string )$r->fields->CreatedDate;
$pass_this['createdbyid'] = (string )$r->fields->CreatedById;
$pass_this['lastmodifieddate'] = (string )$r->fields->LastModifiedDate;
$pass_this['lastmodifiedbyid'] = (string )$r->fields->LastModifiedById;
$pass_this['systemmodstamp'] = (string )$r->fields->SystemModstamp;
$pass_this['rsm_project_id_score__c'] = (int)$r->fields->RSM_Original_Project_ID_Score__c;
$pass_this['lead_fae__c'] = (string )$r->fields->Lead_FAE__c;
$pass_this['avg_annual_volume__c'] = (int)$r->fields->Avg_Annual_Volume__c;
$pass_this['priority__c'] = (string )$r->fields->Priority__c;
$pass_this['design_start_date__c'] = (string )$r->fields->Design_Start_Date__c;
$pass_this['design_proto_date__c'] = (string )$r->fields->Design_Proto_Date__c;
$pass_this['production_years__c'] = (int)$r->fields->Production_Years__c;
$pass_this['production_life_months__c'] = (int)$r->fields->Production_Life_months__c;
$pass_this['production_months__c'] = (int)$r->fields->Production_Months__c;
$pass_this['design_freeze_date__c'] = (string )$r->fields->Design_Freeze_Date__c;
$pass_this['production_proto_date__c'] = (string )$r->fields->Production_Proto_Date__c;
$pass_this['mass_production_date__c'] = (string )$r->fields->Mass_Production_Date__c;
$pass_this['fae_status__c'] = (string )$r->fields->FAE_Status__c;
$pass_this['fae_assigned_date__c'] = (string )$r->fields->FAE_Assigned_Date__c;
$pass_this['fae_accepted_date__c'] = (string )$r->fields->FAE_Accepted_Date__c;
$pass_this['project_potential__c'] = (int)$r->fields->Project_Potential__c;
$pass_this['fae_reject_reason__c'] = (string )$r->fields->FAE_Reject_Reason__c;
$pass_this['fae_project_complexity__c'] = (string )$r->fields->FAE_Project_Complexity__c;
$pass_this['design_phase__c'] = (string )$r->fields->Design_Phase__c;
$pass_this['maxim_id__c'] = (string )$r->fields->maxim_id__c;
$pass_this['objective_status_next_qtr__c'] = (string )$r->fields->Objective_Status_Next_Qtr__c;
$pass_this['quality_of_relationship__c'] = (string )$r->fields->Quality_of_Relationship__c;
$pass_this['targeted_po_date__c'] = (string )$r->fields->Targeted_PO_Date__c;
$pass_this['part_no_involved__c'] = (string )$r->fields->Part_No_Involved__c;
$pass_this['first_po_number__c'] = (string )$r->fields->First_PO_Number__c;
$pass_this['lost_reason__c'] = (string )$r->fields->Lost_Reason__c;
$pass_this['fae_estimate_of_business__c'] = (string )$r->fields->FAE_Estimate_of_Business__c;
$pass_this['digital_processor__c'] = (string )$r->fields->Digital_Processor__c;
$pass_this['project_number__c'] = (string )$r->fields->Project_Number__c;
$pass_this['active__c'] = (string )$r->fields->Active__c;
$pass_this['pivotal_created_by__c'] = (string )$r->fields->Pivotal_Created_By__c;
$pass_this['manufactured_by__c'] = (string )$r->fields->Manufactured_By__c;
$pass_this['isdeleted'] = (string )$r->fields->IsDeleted;
$pass_this['lastactivitydate'] = (string )$r->fields->LastActivityDate;
$pass_this['optocon_id__c'] = (string )$r->fields->OptoCon_ID__c;
if (strlen($pass_this['description']) == 0)
$pass_this['description'] = "No Description Posted";
else
$pass_this['description'] = $pass_this['description'];
//echo '<pre>'.print_r($pass_this,true).'</pre>';
//exit;
$record_inserted = insert_record($pass_this,$strsql,$db);
if (!$record_inserted)
//mail('[email protected]','insert error','There was a proble trying to insert a record into the database');
else
echo "Nothing here";
//exit;
//add back in once replication is done
//get deleted records from the Opportunity
$getDeletedResponse = $client->getDeleted('Opportunity',$startTime,$endTime);
//echo '<pre>'.print_r($getDeletedResponse,true).'</pre>';
//exit;
$deleted_ids = $getDeletedResponse->deletedRecords;
//echo '<pre>'.print_r($deleted_ids,true).'</pre>';
if (is_object($deleted_ids))
$temp_array[] = $deleted_ids;
unset($deleted_ids);
$deleted_ids = $temp_array;
$delete_count = count($deleted_ids);
//echo $delete_count;
for ($i = 0; $i < $delete_count; $i++)
$d_id = $deleted_ids[$i];
$id = $d_id->id;
if (query_db($id,$db))
$delete_sql = "Delete from sforce_opportunity WHERE ID = '{$id}'";
$oracle_deleted++;
if ($db->Execute($delete_sql))
echo "<font color=\"#0000FF\">".$id." was removed from the Oracle database</font><br />";
else
echo $id." is not in the Oracle database<br />";
echo $oracle_deleted." records were deleted from Oracle";
catch (exception $e)
$error = '<pre>'.print_r($e,true).'</pre>';
mail('[email protected]','insert error',$error);
$db->CommitTrans();
$db->Close();
exit;
function insert_record($pass_this,$strsql,&$db)
//Prepares PL/SQL Statement
$stmt = $db->Prepare($strsql);
$db->InParameter($stmt,$pass_this['id'],'pm_id');
$db->InParameter($stmt,$pass_this['accountid'],'pm_accountid');
$db->InParameter($stmt,$pass_this['name'],'pm_name');
$db->InParameter($stmt,$pass_this['description'],'pm_description',-1,OCI_B_CLOB);
$db->InParameter($stmt,$pass_this['stagename'],'pm_stagename');
$db->InParameter($stmt,$pass_this['amount'],'pm_amount');
$db->InParameter($stmt,$pass_this['probability'],'pm_probability');
$db->InParameter($stmt,$pass_this['expectedrevenue'],'pm_expectedrevenue');
$db->InParameter($stmt,$pass_this['closedate'],'pm_closedate');
$db->InParameter($stmt,$pass_this['type'],'pm_type');
$db->InParameter($stmt,$pass_this['nextstep'],'pm_nextstep');
$db->InParameter($stmt,$pass_this['leadsource'],'pm_leadsource');
$db->InParameter($stmt,$pass_this['isclosed'],'pm_isclosed');
$db->InParameter($stmt,$pass_this['iswon'],'pm_iswon');
$db->InParameter($stmt,$pass_this['forecastcategory'],'pm_forecastcategory');
$db->InParameter($stmt,$pass_this['campaignid'],'pm_campaignid');
$db->InParameter($stmt,$pass_this['hasopportunitylineitem'],'pm_hasopportunitylineitem');
$db->InParameter($stmt,$pass_this['pricebook2id'],'pm_pricebook2id');
$db->InParameter($stmt,$pass_this['ownerid'],'pm_ownerid');
$db->InParameter($stmt,$pass_this['createddate'],'pm_createddate');
$db->InParameter($stmt,$pass_this['createdbyid'],'pm_createdbyid');
$db->InParameter($stmt,$pass_this['lastmodifieddate'],'pm_lastmodifieddate');
$db->InParameter($stmt,$pass_this['lastmodifiedbyid'],'pm_lastmodifiedbyid');
$db->InParameter($stmt,$pass_this['systemmodstamp'],'pm_systemmodstamp');
$db->InParameter($stmt,$pass_this['rsm_project_id_score__c'],'pm_rsm_project_id_score__c');
$db->InParameter($stmt,$pass_this['lead_fae__c'],'pm_lead_fae__c');
$db->InParameter($stmt,$pass_this['avg_annual_volume__c'],'pm_avg_annual_volume__c');
$db->InParameter($stmt,$pass_this['priority__c'],'pm_priority__c');
$db->InParameter($stmt,$pass_this['design_start_date__c'],'pm_design_start_date__c');
$db->InParameter($stmt,$pass_this['design_proto_date__c'],'pm_design_proto_date__c');
$db->InParameter($stmt,$pass_this['production_years__c'],'pm_production_years__c');
$db->InParameter($stmt,$pass_this['production_life_months__c'],'pm_production_life_months__c');
$db->InParameter($stmt,$pass_this['production_months__c'],'pm_production_months__c');
$db->InParameter($stmt,$pass_this['design_freeze_date__c'],'pm_design_freeze_date__c');
$db->InParameter($stmt,$pass_this['production_proto_date__c'],'pm_production_proto_date__c');
$db->InParameter($stmt,$pass_this['mass_production_date__c'],'pm_mass_production_date__c');
$db->InParameter($stmt,$pass_this['fae_status__c'],'pm_fae_status__c');
$db->InParameter($stmt,$pass_this['fae_assigned_date__c'],'pm_fae_assigned_date__c');
$db->InParameter($stmt,$pass_this['fae_accepted_date__c'],'pm_fae_accepted_date__c');
$db->InParameter($stmt,$pass_this['project_potential__c'],'pm_potential__c');
$db->InParameter($stmt,$pass_this['fae_reject_reason__c'],'pm_fae_reject_reason__c');
$db->InParameter($stmt,$pass_this['fae_project_complexity__c'],'pm_fae_project_complexity__c');
$db->InParameter($stmt,$pass_this['design_phase__c'],'pm_design_phase__c');
$db->InParameter($stmt,$pass_this['maxim_id__c'],'pm_maxim_id__c');
$db->InParameter($stmt,$pass_this['project_number__c'],'pm_project_number__c');
$db->InParameter($stmt,$pass_this['active__c'],'pm_active__c');
$db->InParameter($stmt,$pass_this['pivotal_created_by__c'],'pm_pivotal_created_by__c');
$db->InParameter($stmt,$pass_this['manufactured_by__c'],'pm_manufactured_by__c');
$db->InParameter($stmt,$pass_this['isdeleted'],'pm_isdeleted');
$db->InParameter($stmt,$pass_this['lastactivitydate'],'pm_lastactivitydate');
//executes and loads data coming from salesforce into table
if ($db->Execute($stmt))
echo $pass_this['id']." was inserted into the database<br />";
flush();
unset($pass_this);
unset($stmt);
return true;
else
echo $db->ErrorMsg()."<br>";
mail('[email protected]','database error',$db->ErrorMsg());
return false;
//Get the data from Salesforce to populate Oracle
function get_records(&$connection,&$query)
$queryOptions = new QueryOptions(2000);
$response = new QueryResult($connection->query($query));
// if the size is zero, where done
if ($response->size > 0)
$products = $response->records;
// Cycles through additional responses if the number of records
// exceeds the batch size
while (!$response->done)
set_time_limit(100);
$response = $connection->queryMore($response->queryLocator);
$products = array_merge($products,$response->records);
return $products;
function query_db($id,&$db)
global $db;
$sql = "SELECT *
FROM sforce_opportunity
Where id = '{$id}'";
$rs = $db->Execute($sql);
if ($rs && $rs->_numOfRows > 0)
return true;
else
return false;
exit;
?>the code runs fine and I do not commit my inserts until after I am done retrieving all the records, but I am getting the oracle error: ORA-01000: maximum open cursors exceeded
I am not using any cursors in my PL SQL
CREATE OR REPLACE PROCEDURE MAPSAPP.sforce_opp_insert (
pm_id IN VARCHAR2,
pm_accountid IN VARCHAR2,
pm_name IN VARCHAR2,
pm_description IN VARCHAR2,
pm_stagename IN VARCHAR2,
pm_amount IN NUMBER,
pm_probability IN NUMBER,
pm_expectedrevenue IN NUMBER,
pm_closedate IN VARCHAR2,
pm_type IN VARCHAR2,
pm_nextstep IN VARCHAR2,
pm_leadsource IN VARCHAR2,
pm_isclosed IN VARCHAR2,
pm_iswon IN VARCHAR2,
pm_forecastcategory IN VARCHAR2,
pm_campaignid IN VARCHAR2,
pm_hasopportunitylineitem IN VARCHAR2,
pm_pricebook2id IN VARCHAR2,
pm_ownerid IN VARCHAR2,
pm_createddate IN VARCHAR2,
pm_createdbyid IN VARCHAR2,
pm_lastmodifieddate IN VARCHAR2,
pm_lastmodifiedbyid IN VARCHAR2,
pm_systemmodstamp IN VARCHAR2,
pm_rsm_project_id_score__c IN VARCHAR2,
pm_lead_fae__c IN VARCHAR2,
pm_avg_annual_volume__c IN VARCHAR2,
pm_priority__c IN VARCHAR2,
pm_design_start_date__c IN VARCHAR2,
pm_design_proto_date__c IN VARCHAR2,
pm_production_years__c IN NUMBER,
pm_production_life_months__c IN NUMBER,
pm_production_months__c IN NUMBER,
pm_design_freeze_date__c IN VARCHAR2,
pm_production_proto_date__c IN VARCHAR2,
pm_mass_production_date__c IN VARCHAR2,
pm_fae_status__c IN VARCHAR2,
pm_fae_assigned_date__c IN VARCHAR2,
pm_fae_accepted_date__c IN VARCHAR2,
pm_potential__c IN NUMBER,
pm_fae_reject_reason__c IN VARCHAR2,
pm_fae_project_complexity__c IN VARCHAR2,
pm_design_phase__c IN VARCHAR2,
pm_maxim_id__c IN VARCHAR2,
pm_project_number__c IN VARCHAR2,
pm_active__c IN VARCHAR2,
pm_pivotal_created_by__c IN VARCHAR2,
pm_manufactured_by__c IN VARCHAR2,
pm_isdeleted IN VARCHAR2,
pm_lastactivitydate IN VARCHAR2
IS
BEGIN
INSERT INTO SFORCE_OPPORTUNITY
(id,
accountid,
name,
description,
stagename,
amount,
probability,
expectedrevenue,
closedate,
type,
nextstep,
leadsource,
isclosed,
iswon,
forecastcategory,
campaignid,
hasopportunitylineitem,
pricebook2id,
ownerid,
createddate,
createdbyid,
lastmodifieddate,
lastmodifiedbyid,
systemmodstamp,
rsm_project_id_score__c,
lead_fae__c,
avg_annual_volume__c,
priority__c,
design_start_date__c,
design_proto_date__c,
production_years__c,
production_life_months__c,
production_months__c,
design_freeze_date__c,
production_proto_date__c,
mass_production_date__c,
fae_status__c,
fae_assigned_date__c,
fae_accepted_date__c,
project_potential__c,
fae_reject_reason__c,
fae_project_complexity__c,
design_phase__c,
maxim_id__c,
project_number__c,
active__c,
pivotal_created_by__c,
manufactured_by__c,
isdeleted,
lastactivitydate
VALUES (pm_id,
pm_accountid,
pm_name,
pm_description,
pm_stagename,
pm_amount,
pm_probability,
pm_expectedrevenue,
TO_DATE (SUBSTR (REPLACE (pm_closedate, 'T', ' '), 1, 19),'YYYY-MM-DD HH24:MI:SS'),
pm_type,
pm_nextstep,
pm_leadsource,
pm_isclosed,
pm_iswon,
pm_forecastcategory,
pm_campaignid,
pm_hasopportunitylineitem,
pm_pricebook2id,
pm_ownerid,
TO_DATE (SUBSTR (REPLACE (pm_createddate, 'T', ' '), 1, 19),'YYYY-MM-DD HH24:MI:SS'),
pm_createdbyid,
TO_DATE (SUBSTR (REPLACE (pm_lastmodifieddate, 'T', ' '), 1, 19),'YYYY-MM-DD HH24:MI:SS'),
pm_lastmodifiedbyid,
TO_DATE (SUBSTR (REPLACE (pm_systemmodstamp, 'T', ' '), 1, 19),'YYYY-MM-DD HH24:MI:SS'),
pm_rsm_project_id_score__c,
pm_lead_fae__c,
pm_avg_annual_volume__c,
pm_priority__c,
TO_DATE (SUBSTR (REPLACE (pm_design_start_date__c, 'T', ' '), 1, 19),'YYYY-MM-DD HH24:MI:SS'),
TO_DATE (SUBSTR (REPLACE (pm_design_proto_date__c, 'T', ' '), 1, 19),'YYYY-MM-DD HH24:MI:SS'),
pm_production_years__c,
pm_production_life_months__c,
pm_production_months__c,
TO_DATE (SUBSTR (REPLACE (pm_design_freeze_date__c, 'T', ' '), 1, 19),'YYYY-MM-DD HH24:MI:SS'),
TO_DATE (SUBSTR (REPLACE (pm_production_proto_date__c, 'T', ' '), 1, 19),'YYYY-MM-DD HH24:MI:SS'),
TO_DATE (SUBSTR (REPLACE (pm_mass_production_date__c, 'T', ' '), 1, 19),'YYYY-MM-DD HH24:MI:SS'),
pm_fae_status__c,
TO_DATE (SUBSTR (REPLACE (pm_fae_assigned_date__c, 'T', ' '), 1, 19),'YYYY-MM-DD HH24:MI:SS'),
TO_DATE (SUBSTR (REPLACE (pm_fae_accepted_date__c, 'T', ' '), 1, 19),'YYYY-MM-DD HH24:MI:SS'),
pm_potential__c,
pm_fae_reject_reason__c,
pm_fae_project_complexity__c,
pm_design_phase__c,
pm_maxim_id__c,
pm_project_number__c,
pm_active__c,
pm_pivotal_created_by__c,
pm_manufactured_by__c,
pm_isdeleted,
TO_DATE (SUBSTR (REPLACE (pm_lastactivitydate, 'T', ' '), 1, 19),'YYYY-MM-DD HH24:MI:SS')
END sforce_opp_insert;
/I was wondering anyone has seen this before
TIA,
MikeThe code below is deleting fine. Check your $id is valid. I wonder if ADOdb has some quirks with binding and variable creation/destruction, similar to #1 in http://www.oracle.com/technology/tech/php/htdocs/php_troubleshooting_faq.html#bindvars
<?php
See ADOdb Tutorial for Oracle: http://phplens.com/lens/adodb/docs-oracle.htm
drop table mytab;
create table mytab (city varchar2(20), country_id varchar2(20));
insert into mytab values ('SF', 'US');
insert into mytab values ('Sydney', 'AU');
insert into mytab values ('London', 'UK');
commit;
require_once("/home/cjones/public_html/php/adodb5/adodb.inc.php");
$db = ADONewConnection("oci8");
$db->Connect("//localhost/XE", "hr", "hrpwd");
echo "Before:\n";
$rs = $db->Execute("select city from mytab");
while ($arr = $rs->FetchRow()) {
echo $arr['CITY'] . "\n";
$s = $db->Prepare("delete from mytab where country_id = :ci");
$db->Parameter($s, $ci, 'ci');
foreach (array('US', 'AU') as $ci) {
$db->Execute($s);
echo "After:\n";
$rs = $db->Execute("select city from mytab");
while ($arr = $rs->FetchRow()) {
echo $arr['CITY'] . "\n";
?>There's another sample in the ADOdb OCI8 driver:
Usage:
$stmt = $DB->Prepare("insert into table (col0, col1, col2) values (:0, :1, :2)");
$DB->Bind($stmt, $p1);
$DB->Bind($stmt, $p2);
$DB->Bind($stmt, $p3);
for ($i = 0; $i < $max; $i++) {
$p1 = ?; $p2 = ?; $p3 = ?;
$DB->Execute($stmt);
}For queries I know this works. I haven't seen any examples that prepare once.
$rs = $db->Execute("select city from mytab where country_id = :ci", array('ci' => 'UK'));
while ($arr = $rs->FetchRow()) {
echo $arr['CITY'] . "<br>\n";
} -
ORA-01000: maximum open cursors exceeded (please help / JDBC guru needed)
ORA-01000: maximum open cursors exceeded
I am getting this error when trying to execute 2,500 Sql DDL statements. I am executing the statement with:
public boolean execute(String sql) ( like stmt.execute(sql); )
After each execute() I close the statement ( like stmt.close() )
I tried taking this a step further and decided to close and reopen the database connection after every 100 Sql statements processed and I still get this exception when continuing.
ORA-01000: maximum open cursors exceeded
Any help will be greatly appreciated. I need to figure how to close the cursors or how to finish processing all 2,500 statements. I do not have control over the init.ora file and can not increase the max cursors. I hope to figure out how to close the cursors so that no tweaking of the init.ora file is needed.
ChrisTDWhy dont you allocate dukes for this problem ???
am getting this error when trying to execute 2,500 Sql DDL statements. I am executing the statement with:
public boolean execute(String sql) ( like stmt.execute(sql); )
After each execute() I close the statement ( like stmt.close() )
What kind of DDL is that? are you using any cursor operations to fetch the data? What kind of query does this sql parameter contain?
Look there is only 3 solutions for this kind of problem.
1) shutdown the database and restart it.
I dont think closing connection will shutdown the database as you
told.
2) shutdown the database access init.ora and increase the
OPEN_CURSORS and then restart it.
You told that you dont have access to init.ora.
3) close every cursor that you open.(Probably you are not closing the cursor once you fetch the data). -
ORA-01000: maximum open cursors exceeded with Thin and OCI
Hi I have this ERROR :
ORA-01000: maximum open cursors exceeded
ORA-06510: PL/SQL: unhandled user-defined exception
ORA-06512: at line 1
and all the connections show this error, I run the weblogic.Admin RESET_POOL utility
and the problem are fixed !!
Why show this error ?
why with RESET_POOL utility resolve the problem ?
the Oracle Version is Oracle 8.1.7.0 32bits on Solaris 8Mitesh:
I using testConnOnReserve=true and testReleasedConnections=true specify testTableName
when the errors appear , but increse the open_cusror value to 1200, i think is
not the solution, because the DB and Stored Procedure is used by Cold Fusion ,
is the same Application, in Cold Fusion not show this error u other errors with
380 users on the application.
I check to increse the open_cusror and test the application.
thanks
Roberto
Mitesh Patel <[email protected]> wrote:
You should do couple of things here.
First of all you can increse the open_cusror value to 1200 if it is ok
with you.
Secondly, make sure you are using testConnOnReserve=true and specify
testTableNAme
in your config.xml for your connection pool defination.
Thanks,
Mitesh
Roberto Hernandez wrote:
Mitesh Patel,
WLS 6.1 sp3 on Solaris 8, in init.ora file
session_cached_cursors = 30 and Open_Cursors = 600
Any Idea to resolve the Error and not use manual RESET_POOL utility?
thanks
Mitesh Patel <[email protected]> wrote:
This is know bug from oracle.
XAResource.recover repeatedly returns the same set of in-doubt
Xids irrespective of the input flag. According to the XA spec, the
Transaction Manager should initially call XAResource.recover with
TMSTARTRSCAN and then call XAResource.recover with
TMNOFLAGS repeatedly until no Xids are returned. This Oracle
bug could lead to infinite recursion and subsequent running out
of Oracle cursors with error "ORA-01000: maximum open cursors
exceeded."
What version of weblogic are you using? What is value for max cursors
in init.ora file
in your dbserver?
Resets the named database ConnectionPool by shutting down and
reestablishing all the allocated connections. This method should
only be called when the connection pool is known to be in a bad
state, for example when the database has been restarted.
By using Reset you are cleaning all bad connections and associated
cursors
with it. That
is why it resolves ora-1000 for you.
Mitesh
Roberto Hernandez wrote:
Hi I have this ERROR :
ORA-01000: maximum open cursors exceeded
ORA-06510: PL/SQL: unhandled user-defined exception
ORA-06512: at line 1
and all the connections show this error, I run the weblogic.Admin
RESET_POOL
utility
and the problem are fixed !!
Why show this error ?
why with RESET_POOL utility resolve the problem ?
the Oracle Version is Oracle 8.1.7.0 32bits on Solaris 8 -
Getting ORA-01000 : maximum open cursors exceeded problem
I am getting ORA-01000 : maximum open cursors exceeded problem in my piece of java code when the
load is high .Open cursors is set to 1000 still getting the same problem .
Basically i have to select some rows from a table which i am doing in A() function and process it and insert into
another table which i do it in another function B() there is a update statement also in this fun.
There is a particular business logic for which i need to call B() from the A() function
which happens to be in the select result set like below
A()
query ="Select * from temp";
while(rs.next)
B();
All the result sets are properly being closed that too in finally block.
I dont see any other problem with code .Still I am gettin this cursor problem.
Is some thing wrong with the design like calling a
insert from a result set while loop or the update statementThe code below is deleting fine. Check your $id is valid. I wonder if ADOdb has some quirks with binding and variable creation/destruction, similar to #1 in http://www.oracle.com/technology/tech/php/htdocs/php_troubleshooting_faq.html#bindvars
<?php
See ADOdb Tutorial for Oracle: http://phplens.com/lens/adodb/docs-oracle.htm
drop table mytab;
create table mytab (city varchar2(20), country_id varchar2(20));
insert into mytab values ('SF', 'US');
insert into mytab values ('Sydney', 'AU');
insert into mytab values ('London', 'UK');
commit;
require_once("/home/cjones/public_html/php/adodb5/adodb.inc.php");
$db = ADONewConnection("oci8");
$db->Connect("//localhost/XE", "hr", "hrpwd");
echo "Before:\n";
$rs = $db->Execute("select city from mytab");
while ($arr = $rs->FetchRow()) {
echo $arr['CITY'] . "\n";
$s = $db->Prepare("delete from mytab where country_id = :ci");
$db->Parameter($s, $ci, 'ci');
foreach (array('US', 'AU') as $ci) {
$db->Execute($s);
echo "After:\n";
$rs = $db->Execute("select city from mytab");
while ($arr = $rs->FetchRow()) {
echo $arr['CITY'] . "\n";
?>There's another sample in the ADOdb OCI8 driver:
Usage:
$stmt = $DB->Prepare("insert into table (col0, col1, col2) values (:0, :1, :2)");
$DB->Bind($stmt, $p1);
$DB->Bind($stmt, $p2);
$DB->Bind($stmt, $p3);
for ($i = 0; $i < $max; $i++) {
$p1 = ?; $p2 = ?; $p3 = ?;
$DB->Execute($stmt);
}For queries I know this works. I haven't seen any examples that prepare once.
$rs = $db->Execute("select city from mytab where country_id = :ci", array('ci' => 'UK'));
while ($arr = $rs->FetchRow()) {
echo $arr['CITY'] . "<br>\n";
} -
Login issues with xelsysadm along with ORA-01000 (cursor exceeded) error
Hi,
I am facing an strange problem.
Because of below error i am facing an intermitant issues for login to OIM web console and Design console with user xelsysadm. Some time the login in successfull else the error is generated.
For the error -- ORA-01000: maximum open cursors exceeded
We had talked to DB team an increased the cursor limit from 300 to 800. But still the same issue.
So, let me know whether this can be resolved if i take bounce of the web logic server or there is some other solution?
Thanks in advance and some respond ASAP as this is production server and this issue need to be resolved soon.
Getting below errors in the system:
ERROR,20 Apr 2011 08:35:19,613,[XELLERATE.WEBAPP],Class/Method: tcLogonAction/execute encounter some problems: User account is invalid. Username: xelsysadm
ERROR,20 Apr 2011 08:40:00,056,[XELLERATE.ACCOUNTMANAGEMENT],Class/Method: Authenticate/connect encounter some problems: ORA-01000: maximum open cursors exceeded
java.sql.SQLException: ORA-01000: maximum open cursors exceeded
at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:173)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1030)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:194)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:785)
at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:860)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1186)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3381)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3425)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1490)
at com.thortech.xl.security.Authenticate.getPropertyValue(Authenticate.java:459)
at com.thortech.xl.security.Authenticate.connect(Authenticate.java:117)
at com.thortech.xl.security.Authenticate.connect(Authenticate.java:71)
at com.thortech.xl.security.wl.XellerateLoginModuleImpl.login(XellerateLoginModuleImpl.java:159)
at com.bea.common.security.internal.service.LoginModuleWrapper$1.run(LoginModuleWrapper.java:110)
at java.security.AccessController.doPrivileged(Native Method)
at com.bea.common.security.internal.service.LoginModuleWrapper.login(LoginModuleWrapper.java:106)
at sun.reflect.GeneratedMethodAccessor7737.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
at javax.security.auth.login.LoginContext.login(LoginContext.java:579)
at com.bea.common.security.internal.service.JAASLoginServiceImpl.login(JAASLoginServiceImpl.java:113)
at sun.reflect.GeneratedMethodAccessor132.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.bea.common.security.internal.utils.Delegator$ProxyInvocationHandler.invoke(Delegator.java:57)
at $Proxy16.login(Unknown Source)
at weblogic.security.service.internal.WLSJAASLoginServiceImpl$ServiceImpl.login(Unknown Source)
at com.bea.common.security.internal.service.JAASAuthenticationServiceImpl.authenticate(JAASAuthenticationServiceImpl.java:82)
at sun.reflect.GeneratedMethodAccessor143.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.bea.common.security.internal.utils.Delegator$ProxyInvocationHandler.invoke(Delegator.java:57)
at $Proxy34.authenticate(Unknown Source)
at weblogic.security.service.WLSJAASAuthenticationServiceWrapper.authenticate(Unknown Source)
at weblogic.security.service.PrincipalAuthenticator.authenticate(Unknown Source)
at weblogic.security.acl.internal.Security.authenticateLocally(Security.java:127)
at weblogic.security.acl.internal.Security.authenticate(Security.java:165)
at weblogic.security.acl.internal.Security.authenticate(Security.java:146)
at weblogic.security.auth.Authenticate.authenticate(Authenticate.java:112)
at weblogic.security.auth.login.UsernamePasswordLoginModule.login(UsernamePasswordLoginModule.java:184)
at sun.reflect.GeneratedMethodAccessor7746.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
at javax.security.auth.login.LoginContext.login(LoginContext.java:579)
at Thor.API.Security.LoginHandler.weblogicLoginHandler.login(Unknown Source)
at Thor.API.tcUtilityFactory.<init>(Unknown Source)
at com.thortech.xl.scheduler.core.quartz.QuartzWrapper.execute(Unknown Source)
at org.quartz.core.JobRunShell.run(JobRunShell.java:178)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:477)
ERROR,20 Apr 2011 08:40:00,058,[XELLERATE.ACCOUNTMANAGEMENT],Class/Method: XellerateLoginModuleImpl/login encounter some problems:
com.thortech.xl.security.tcLoginException:
at com.thortech.xl.security.tcLoginExceptionUtil.createException(tcLoginExceptionUtil.java:96)
at com.thortech.xl.security.tcLoginExceptionUtil.createException(tcLoginExceptionUtil.java:67)
at com.thortech.xl.security.Authenticate.connect(Authenticate.java:269)
at com.thortech.xl.security.Authenticate.connect(Authenticate.java:71)
at com.thortech.xl.security.wl.XellerateLoginModuleImpl.login(XellerateLoginModuleImpl.java:159)
at com.bea.common.security.internal.service.LoginModuleWrapper$1.run(LoginModuleWrapper.java:110)
at java.security.AccessController.doPrivileged(Native Method)
at com.bea.common.security.internal.service.LoginModuleWrapper.login(LoginModuleWrapper.java:106)
at sun.reflect.GeneratedMethodAccessor7737.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
at javax.security.auth.login.LoginContext.login(LoginContext.java:579)
at com.bea.common.security.internal.service.JAASLoginServiceImpl.login(JAASLoginServiceImpl.java:113)
at sun.reflect.GeneratedMethodAccessor132.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.bea.common.security.internal.utils.Delegator$ProxyInvocationHandler.invoke(Delegator.java:57)
at $Proxy16.login(Unknown Source)
at weblogic.security.service.internal.WLSJAASLoginServiceImpl$ServiceImpl.login(Unknown Source)
at com.bea.common.security.internal.service.JAASAuthenticationServiceImpl.authenticate(JAASAuthenticationServiceImpl.java:82)
at sun.reflect.GeneratedMethodAccessor143.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.bea.common.security.internal.utils.Delegator$ProxyInvocationHandler.invoke(Delegator.java:57)
at $Proxy34.authenticate(Unknown Source)
at weblogic.security.service.WLSJAASAuthenticationServiceWrapper.authenticate(Unknown Source)
at weblogic.security.service.PrincipalAuthenticator.authenticate(Unknown Source)
at weblogic.security.acl.internal.Security.authenticateLocally(Security.java:127)
at weblogic.security.acl.internal.Security.authenticate(Security.java:165)
at weblogic.security.acl.internal.Security.authenticate(Security.java:146)
at weblogic.security.auth.Authenticate.authenticate(Authenticate.java:112)
at weblogic.security.auth.login.UsernamePasswordLoginModule.login(UsernamePasswordLoginModule.java:184)
at sun.reflect.GeneratedMethodAccessor7746.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
at javax.security.auth.login.LoginContext.login(LoginContext.java:579)
at Thor.API.Security.LoginHandler.weblogicLoginHandler.login(Unknown Source)
at Thor.API.tcUtilityFactory.<init>(Unknown Source)
at com.thortech.xl.scheduler.core.quartz.QuartzWrapper.execute(Unknown Source)
at org.quartz.core.JobRunShell.run(JobRunShell.java:178)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:477)
ERROR,20 Apr 2011 08:40:00,060,[XELLERATE.ACCOUNTMANAGEMENT],Class/Method: tcUtilityFactory/tcUtilityFactory(Hashtable env, tcSignatureMessage poUserIDMessage) encounter some problems: javax.security.auth.login.LoginException: java.lang.SecurityException: [Security:090304]Authentication Failed: User xelsysadm javax.security.auth.login.FailedLoginException: [Security:090302]Authentication Failed: User xelsysadm denied
javax.security.auth.login.LoginException: javax.security.auth.login.LoginException: java.lang.SecurityException: [Security:090304]Authentication Failed: User xelsysadm javax.security.auth.login.FailedLoginException: [Security:090302]Authentication Failed: User xelsysadm denied
at weblogic.security.auth.login.UsernamePasswordLoginModule.login(UsernamePasswordLoginModule.java:199)
at sun.reflect.GeneratedMethodAccessor7746.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
at javax.security.auth.login.LoginContext.login(LoginContext.java:579)
at Thor.API.Security.LoginHandler.weblogicLoginHandler.login(Unknown Source)
at Thor.API.tcUtilityFactory.<init>(Unknown Source)
at com.thortech.xl.scheduler.core.quartz.QuartzWrapper.execute(Unknown Source)
at org.quartz.core.JobRunShell.run(JobRunShell.java:178)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:477)
ERROR,20 Apr 2011 08:40:00,060,[XELLERATE.SERVER],Class/Method: QuartzWrapper/execute encounter some problems: javax.security.auth.login.LoginException: javax.security.auth.login.LoginException: java.lang.SecurityException: [Security:090304]Authentication Failed: User xelsysadm javax.security.auth.login.FailedLoginException: [Security:090302]Authentication Failed: User xelsysadm denied
Thor.API.Exceptions.tcAPIException: javax.security.auth.login.LoginException: javax.security.auth.login.LoginException: java.lang.SecurityException: [Security:090304]Authentication Failed: User xelsysadm javax.security.auth.login.FailedLoginException: [Security:090302]Authentication Failed: User xelsysadm denied
at Thor.API.tcUtilityFactory.<init>(Unknown Source)
at com.thortech.xl.scheduler.core.quartz.QuartzWrapper.execute(Unknown Source)
at org.quartz.core.JobRunShell.run(JobRunShell.java:178)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:477)
[CMGR WARNING] Removing connection pool siebel.tcpip.None.none://172.30.16.51:2321/UW_PROD/eCommunicationsObjMgrClone_enu/!b.3c26
<com.siebel.common.common.CSSException>
<Error><ErrorCode>8716601</ErrorCode> <ErrMsg>Socket had incorrect word size: 0.(SBL-JCA-00313)</ErrMsg></Error>
</com.siebel.common.common.CSSException>
at com.siebel.om.conmgr.Connection.readPacket(Connection.java:550)
at com.siebel.om.conmgr.Connection.run(Connection.java:286)
at java.lang.Thread.run(Thread.java:619)
[CMGR FATAL] Error: <com.siebel.common.common.CSSException>
<Error><ErrorCode>8716601</ErrorCode> <ErrMsg>Socket had incorrect word size: 0.(SBL-JCA-00313)</ErrMsg></Error>
</com.siebel.common.common.CSSException> connection:d0214e
*************************************************************************************************************Thanks for giving me an solution..
The cursor limit was incresed from 300 to 800 then for some hours the things went with no issues, the login was successfull and no errors in the logs. But again the same issue had arrisen.
For now i have taken bounce of the welogic servers because of the bounce i hope the existing/stuckup connections have been released and now the application is working fine and with no issues.
But is taking the bounce of the application server is the only solution for getting the things back to normal
Or
whether we need to take some other steps even after increasing the cursor limit the things don;t work.
Thanks, -
In java/jsp got Error,ORA-01000: maximum open cursors exceeded,
Dear ALL,
We are facing a problem of in java/jsp. ORA-01000: maximum open cursors exceeded,We are using referance Cursor for returing the Record in java file.
The Code is given below.
import java.sql.*;
import javax.sql.*;
import com.india.trade.dbConnection.*;
import oracle.jdbc.driver.*;
import java.util.Vector ;
public class IntRmsActivity
private static JDBCConnection instance = null;
private static Connection con = null;
private static CallableStatement stmt_admin_getadmins = null;
private static String str_admin_getadmins = "{ call Admin_conf.RMS_ADMIN_GETALLADMINS(?,?) }";
static
try
instance = new JDBCConnection();
con = instance.getConnection();
stmt_admin_getadmins = con.prepareCall(str_admin_getadmins);
}catch(Exception se){se.printStackTrace();}
public static Vector admin_getAdmins() throws Exception
checkconnection();
String message = null;
Vector v_admins = new Vector();
ResultSet rs_admins = null;
stmt_admin_getadmins.registerOutParameter(1 , OracleTypes.CURSOR);
stmt_admin_getadmins.registerOutParameter(2 , Types.VARCHAR);
stmt_admin_getadmins.execute();
message = stmt_admin_getadmins.getString(2);
System.out.println("message " + message);
rs_admins = ((OracleCallableStatement)stmt_admin_getadmins).getCursor(1);
while (rs_admins.next())
v_admins.addElement(rs_admins.getString("adminid"));
rs_admins.close();
return v_admins;
CREATE OR REPLACE PACKAGE Admin_conf IS
TYPE REF_CRSR IS REF CURSOR; /* OUTPUT CURSOR VARIABLE TYPE */
PROCEDURE RMS_ADMIN_GETALLADMINS(RESULTS OUT REF_CRSR,
OUT_MESSAGE OUT VARCHAR2);
END Admin_conf;
CREATE OR REPLACE PACKAGE BODY Admin_conf
IS
PROCEDURE RMS_ADMIN_GETALLADMINS(RESULTS OUT REF_CRSR,
OUT_MESSAGE OUT VARCHAR2)
IS
l_ref_out_crsr REF_CRSR;
BEGIN
OPEN l_ref_out_crsr FOR
SELECT EXECUTIVE_ID adminid
FROM MASTER_EXECUTIVE_ID
ORDER BY EXECUTIVE_ID;
OUT_MESSAGE := 'ADMIN IDS FETCHED SUCCESSFULLY';
RESULTS := l_ref_out_crsr;
EXCEPTION WHEN OTHERS THEN
OUT_MESSAGE := 'ERROR ' || SUBSTR(SQLERRM, 1, 60);
END RMS_ADMIN_GETALLADMINS;
END Admin_conf;
Regards
Ajay Singh RathodAre you actually closing the connections, resultsets in all cases?
From what you've posted you call
rs_admins.close();but in that method, you propagate any exceptions that occur out to the caller method, which in turn just prints a stack trace.
So if an exception occurs before you call the rs_admin.close() the result set will never be closed as the statement won't be reached.
I'd add a speific exception handling routine to the admin_getAdmins() method and include a finally clause to close the result set in all cases. You can still onthrow the exception if you want.
cheers
-steve- -
ORA-01000 maximum open cursors exceeded with XA driver
We are getting ORA-01000 maximum open cursors exceeded error from Oracle database
agian and again.We are usimg XA driver.
What is the weblogic's work around to handle this error?How we can handle this?We
tried doing "grant select on DBA_PENDING_TRANSACTIONS to public ;" ,this also
works for some time only.Again the same error starts coming.
Help please.
Thanx in advance.Thanks for your reply.
I have increased my cursor size to 2000(default 300).We are using weblogic6.1
and Oracle9i.Yes I was little aware about this bug so I tried doing "grant select
on DBA_PENDING_TRANSACTIONS to public " from sys and no of open cursors reduced
drastically but aftter some time increased again.We are using combination of thin,XA,non
XA and oci drivers.
We are using weblogic security framework also in our application and I think that
consumes maximum no. of cursors.
Kindly advice.
Thanx a lot.
Pinky
Mitesh Patel <[email protected]> wrote:
What is the size of cusror set in your oracle init.ora file?
What version of oracle thin driver and weblogic are you using?
Please read the following note:
There is a bug with Oracle 817 driver's XAResource.recover implementation:
it
ignores the flag and always return all in-doubt Xids. After initially
calling a resource's recover with TMSTARTRSCAN, TM subsequently calls
the
resource's recover with TMNOFLAGS until no more Xid is returned. Thus,
Oracle driver's XAResource.recover is called infinitely until eventually
it
returns XAER_RMERR. Subsequent XAResource.start then returns ORA-01000
exception (looks like all their XAResource methods internally uses prepared
statements to execute some stored procedure.)
Is this the case wth you?
Mitesh
Pinky Arora wrote:
We are getting ORA-01000 maximum open cursors exceeded error from Oracledatabase
agian and again.We are usimg XA driver.
What is the weblogic's work around to handle this error?How we canhandle this?We
tried doing "grant select on DBA_PENDING_TRANSACTIONS to public ;",this also
works for some time only.Again the same error starts coming.
Help please.
Thanx in advance. -
ORA-01000: maximum open cursors exceeded ORA-06512
Hi,
An exception error ccurred as below while trying to map a column.
Exception oracle.apps.bne.exception.BneSQLException: SQL Exception in BneFlex.validateSegs: java.sql.SQLException: ORA-01000: maximum open cursors exceeded ORA-06512: at "APPS.FND_MESSAGE", line 525 ORA-06512: at "APPS.FND_MESSAGE", line 565 ORA-06512: at "APPS.FND_MESSAGE", line 654 ORA-06512: at "APPS.FND_MESSAGE", line 766 ORA-06512: at "APPS.FND_MESSAGE", line 741 ORA-06512: at "APPS.FND_FLEX_KEYVAL", line 324 ORA-06512: at line 1 occurred trying to map column: Expense Account.
In alert log file:
Errors in file /vol01/oracle/SIT/db/tech_st/10.2.0/admin/SIT_sit/udump/sit_ora_7
04744.trc:
ORA-07445: exception encountered: core dump [] [] [] [] [] []
ORA-00604: error occurred at recursive SQL level 1
ORA-01000: maximum open cursors exceeded
ORA-01000: maximum open cursors exceeded
Thanks
Edited by: userpat on Aug 15, 2010 5:32 AMHi,
The issue is different this time after restarting application and database find below.
An exception occured trying to map a column
Exception java.lang.ArrayIndexOutOfBoundsException:Array index out of range:1
occured trying to map column:Category
in bne.log
8/18/10 12:08 PM AJPRequestHandler-ApplicationServerThread-2 ERROR BneP
arentMenuResolver.getMenuItem() MENU 101:BUDGET_NOTE - Menu item excluded becaus
e IntegratorAppId and Code does not match that of the Top-Most Menu Item or curr
ent Integrator: 140:FA_MASS_ADDITIONSThe same error is reported in Note: 954462.1 (which is referenced above).
And also let me clear one doubt. v$open_cursors view is used for what?. The total number of count v$open_cursors is 60,000 whereas the parameter is defined only 2000 in the Instance.Cursors Remain Open (in V$OPEN_CURSOR View) after being Closed [ID 1020427.102]
Monitoring Open Cursors & Troubleshooting ORA-1000 Errors [ID 76684.1]
V$OPEN_CURSOR
http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/dynviews_2008.htm#REFRN30166
Thanks,
Hussein
Maybe you are looking for
-
Is it possible to maintain multiple pymt frmts with in a single prgm 11i
Hi, Is it possible to maintain multiple payment formats with in a single program in 11i For example let us assume that we have created 2 payments formats as 'XX-PAY1' & 'XX-PAY2'. When i select the parameter as '1' then 'XX-PAY1' has to run else 'XX-
-
Hello, I have a web service task that worked fine prior to upgrading from SQL Server 2005, but in 2012 fails with an error saying the "wsdl file is invalid". I am using the same wsdl file as I was using in 2005. Connectivity tests for the web servi
-
Advacne Payment With Reference to PO
Dear All, i want to make Advacne payment to the Vendor with reference to a PO. How can i do it ?? Cheers
-
How to find out what software was used to create a document?
Hello: I was sent a file to work with and it was supposedly made using a Mac computer, but I can't open it. How can I find out what program was actually used to create this document. It ends with xxxxx.rsrc. I even tried to open it on my PC and it sa
-
Not exactly a Java.Sound.* problem...
Hello folks! I am writing a piece of code that takes a .wav file, encoded with 16 bits/sample, and has to perform a "thersholding" operation in these samples. That is, that groups of samples that don't have enough mean energy, shall not be included i