ORA-02103: PCC: inconsistent cursor cache
I have been hit by one error ORA-02103: PCC: inconsistent cursor cache (out-of-range cuc ref). it occur when user execute thousand of update statement in one go. I have place commit after 50 records. But problem is still there. It shutdown the oracle. I have to again startup oracle database. I’m running query from Toad. Server machine remotely connected with Toad using TNS. Why this error occur or plz guide what is the best way to update records. I have also used parallel Hint. Committing after 50 record reduce error occurrence but problem not solve completely
As per ora description:
Error: SQL 2103
Text: Inconsistent cursor cache (out-of-range CUC ref)
Cause: The precompiler generates a unit cursor entry (UCE) array. An element
in this array corresponds to an entry in the cursor cache (CUC). While
doing a consistency check on the cursor cache, SQLLIB found that the
UCE array contains an ordinal value that is either too large or less
than zero. This happens only if your program runs out of memory.
Action: Allocate more memory to your user session, then rerun the program. If
the error persists, call customer support for assistance.
How user is connected dedicated or shared? How much memory is used during update? Is it enough?
Is parameter open_cursors high enough?
And as You can see from error description - call Oracle support. Raise SR to Oracle - they will investigate and ask dump files and look through them and propose a solution.
Similar Messages
-
Inconsistent cursor cache error still presisting
Hey I have asked this question before but no solution has been provided me. I have been facing a very serious problem. I have oracle 11g on windows 2003 on 64 bit machine. With 2 processor 8GB RAM. Sga/pga automatically features turn on and 6GB assign to memory_max_target, memory_target . My problem is when I run update 600 hundred statements in one go and every update statement update record between 1 to 30000 and after 20 records I use commit. But after 20 to 30 record oracle go down (shutdown) when i check alert log It advise to check Trace file and in trace file I got this error ORA-02103: PCC: inconsistent cursor cache (out-of-range cuc ref). I turn on my cache sharing to force but no way. Is there any other fast way to update records??
cursor_sharing string force
cursor_space_for_time boolean FALSE
open_cursors integer 300
session_cached_cursors integer 50
my update statement are following
Update jg_6july_dg0 Set Operator_code= '915724' where Operator_code= '015325';
Update jg_6july_dg0 Set Operator_code= '915715' where Operator_code= '015323';
.Update jg_6july_dg0 Set Operator_code= '915712' where Operator_code= '015374';
Cursor Caching I think is not a problem either it is a oracle bug or I’m doing something wrong. I can’t believe that oracle does not have solution for such little problem. My question is why oracle shutdown?? Waiting for you replysir no such error i got nothing. sir proces of rqasing SR is quite cumbersome. i'm stuck where SR first page ask Type of Problem it is hide how i set its value one more strange thing i have change the setting of SGA or PGA now the error in my alter log has been changed i have pasted here some part of alterlog plz check and told me what should i do now.
Checkpoint not complete
Current log# 2 seq# 1844 mem# 0: E:\APP\ADMINISTRATOR\ORADATA\ORCL\ONLINELOG\O1_MF_2_4VH0YMCK_.LOG
Current log# 2 seq# 1844 mem# 1: E:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ONLINELOG\O1_MF_2_4VH0YMLC_.LOG
Fri Apr 03 19:15:50 2009
Errors in file e:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_lgwr_5088.trc (incident=164082):
ORA-00494: enqueue [CF] held for too long (more than 900 seconds) by 'inst 1, osid 3604'
Incident details in: e:\app\administrator\diag\rdbms\orcl\orcl\incident\incdir_164082\orcl_lgwr_5088_i164082.trc
Killing enqueue blocker (pid=3604) on resource CF-00000000-00000000
by killing session 545.1
Killing enqueue blocker (pid=3604) on resource CF-00000000-00000000
by terminating the process
LGWR (ospid: 5088): terminating the instance due to error 2103
Fri Apr 03 19:15:51 2009
Errors in file e:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_j000_4256.trc:
ORA-00604: error occurred at recursive SQL level 1
ORA-02103: PCC: inconsistent cursor cache (out-of-range cuc ref)
Fri Apr 03 19:15:52 2009
Errors in file e:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_j001_4764.trc:
ORA-02103: PCC: inconsistent cursor cache (out-of-range cuc ref)
Instance terminated by LGWR, pid = 5088Fri Apr 03 19:25:08 2009
Starting ORACLE instance (normal)
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
Picked latch-free SCN scheme 3
Using LOG_ARCHIVE_DEST_10 parameter default value as USE_DB_RECOVERY_FILE_DEST
Autotune of undo retention is turned on.
IMODE=BR
ILAT =61
LICENSE_MAX_USERS = 0
SYS auditing is disabled
Starting up ORACLE RDBMS Version: 11.1.0.7.0.
Using parameter settings in server-side spfile E:\APP\ADMINISTRATOR\PRODUCT\11.1.0\DB_1\DATABASE\SPFILEORCL.ORA
System parameters with non-default values:
processes = 500
sessions = 555
sga_max_size = 5G
nls_length_semantics = "BYTE"
resource_manager_plan = ""
sga_target = 5G
memory_target = 0
memory_max_target = 7360M
control_files = "E:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROLFILE\O1_MF_4VH0YL9L_.CTL"
control_files = "E:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\CONTROLFILE\O1_MF_4VH0YLF0_.CTL"
db_block_size = 16384
compatible = "11.1.0.0.0"
db_files = 7000
db_create_file_dest = "E:\app\Administrator\oradata"
db_recovery_file_dest = "E:\app\Administrator\flash_recovery_area"
db_recovery_file_dest_size= 2G
undo_tablespace = "UNDOTBS1"
undo_retention = 900
sec_case_sensitive_logon = FALSE
remote_login_passwordfile= "EXCLUSIVE"
db_domain = ""
dispatchers = "(PROTOCOL=TCP) (SERVICE=orclXDB)"
audit_file_dest = "E:\APP\ADMINISTRATOR\ADMIN\ORCL\ADUMP"
audit_trail = "DB"
db_name = "orcl"
open_cursors = 300
pga_aggregate_target = 2112M
enable_ddl_logging = FALSE
aq_tm_processes = 0
diagnostic_dest = "E:\APP\ADMINISTRATOR"
Fri Apr 03 19:25:09 2009
PMON started with pid=2, OS id=2752
Fri Apr 03 19:25:09 2009
VKTM started with pid=3, OS id=1252 at elevated priority
VKTM running at (20)ms precision
Fri Apr 03 19:25:09 2009
DIAG started with pid=4, OS id=2596
Fri Apr 03 19:25:09 2009
DBRM started with pid=5, OS id=1436
Fri Apr 03 19:25:09 2009
PSP0 started with pid=6, OS id=5104
Fri Apr 03 19:25:09 2009 -
"SQL-02103: Inconsistent cursor cache." error on a dual processor multi threaded apps
I have a C++ with Pro*C++ COM object running on a Win2000 OS on
a dual processor Middleware. The program is being called by a
service in a multi threaded way. An oracle error like ORA-2103
and SQL-02103 will be generated after running the program. We've
tried putting mutex on every SQL statement in Pro*C and it works
but the systems became very very slow. We concluded that the
error might be cause by a collision of threads accessing the
same Table or different tables having foreign constraints. This
is so because the error keeps coming from a statement accessing
Table A and following errors comes from a Table B having a
foreign key on Table A.
Our only solution now is to put Mutex on Statements accessing
same tables or tables with foreign constraints but this will
make our system run very very slow. I dont know if the problem
is in our Oracle Database because we already upgraded our system
from 8.1.6 to 8.1.7. The wierd thing on this is that the system
is running smoothly without oracle errors on a SINGLE PROCESSOR
Middleware. Hope you can give me any insights on this problem.I have a C++ with Pro*C++ COM object running on a Win2000 OS on
a dual processor Middleware. The program is being called by a
service in a multi threaded way. An oracle error like ORA-2103
and SQL-02103 will be generated after running the program. We've
tried putting mutex on every SQL statement in Pro*C and it works
but the systems became very very slow. We concluded that the
error might be cause by a collision of threads accessing the
same Table or different tables having foreign constraints. This
is so because the error keeps coming from a statement accessing
Table A and following errors comes from a Table B having a
foreign key on Table A.
Our only solution now is to put Mutex on Statements accessing
same tables or tables with foreign constraints but this will
make our system run very very slow. I dont know if the problem
is in our Oracle Database because we already upgraded our system
from 8.1.6 to 8.1.7. The wierd thing on this is that the system
is running smoothly without oracle errors on a SINGLE PROCESSOR
Middleware. Hope you can give me any insights on this problem. -
"SQL-02103 Inconsistent cursor cache." error on dual processor multi threaded system
I have a C++ with Pro*C++ COM object running on a Win2000 OS on
a dual processor Middleware. The program is being called by a
service in a multi threaded way. An oracle error like ORA-2103
and SQL-02103 will be generated after running the program. We've
tried putting mutex on every SQL statement in Pro*C and it works
but the systems became very very slow. We concluded that the
error might be cause by a collision of threads accessing the
same Table or different tables having foreign constraints. This
is so because the error keeps coming from a statement accessing
Table A and following errors comes from a Table B having a
foreign key on Table A.
Our only solution now is to put Mutex on Statements accessing
same tables or tables with foreign constraints but this will
make our system run very very slow. I dont know if the problem
is in our Oracle Database because we already upgraded our system
from 8.1.6 to 8.1.7. The wierd thing on this is that the system
is running smoothly without oracle errors on a SINGLE PROCESSOR
Middleware. Hope you can give me any insights on this problem.I have a C++ with Pro*C++ COM object running on a Win2000 OS on
a dual processor Middleware. The program is being called by a
service in a multi threaded way. An oracle error like ORA-2103
and SQL-02103 will be generated after running the program. We've
tried putting mutex on every SQL statement in Pro*C and it works
but the systems became very very slow. We concluded that the
error might be cause by a collision of threads accessing the
same Table or different tables having foreign constraints. This
is so because the error keeps coming from a statement accessing
Table A and following errors comes from a Table B having a
foreign key on Table A.
Our only solution now is to put Mutex on Statements accessing
same tables or tables with foreign constraints but this will
make our system run very very slow. I dont know if the problem
is in our Oracle Database because we already upgraded our system
from 8.1.6 to 8.1.7. The wierd thing on this is that the system
is running smoothly without oracle errors on a SINGLE PROCESSOR
Middleware. Hope you can give me any insights on this problem. -
"SQL-02103: Inconsistent cursor cache." error on dual processor multi thread apps
I have a C++ with Pro*C++ COM object running on a Win2000 OS on
a dual processor Middleware. The program is being called by a
service in a multi threaded way. An oracle error like ORA-2103
and SQL-02103 will be generated after running the program. We've
tried putting mutex on every SQL statement in Pro*C and it works
but the systems became very very slow. We concluded that the
error might be cause by a collision of threads accessing the
same Table or different tables having foreign constraints. This
is so because the error keeps coming from a statement accessing
Table A and following errors comes from a Table B having a
foreign key on Table A.
Our only solution now is to put Mutex on Statements accessing
same tables or tables with foreign constraints but this will
make our system run very very slow. I dont know if the problem
is in our Oracle Database because we already upgraded our system
from 8.1.6 to 8.1.7. The wierd thing on this is that the system
is running smoothly without oracle errors on a SINGLE PROCESSOR
Middleware. Hope you can give me any insights on this problem.I have a C++ with Pro*C++ COM object running on a Win2000 OS on
a dual processor Middleware. The program is being called by a
service in a multi threaded way. An oracle error like ORA-2103
and SQL-02103 will be generated after running the program. We've
tried putting mutex on every SQL statement in Pro*C and it works
but the systems became very very slow. We concluded that the
error might be cause by a collision of threads accessing the
same Table or different tables having foreign constraints. This
is so because the error keeps coming from a statement accessing
Table A and following errors comes from a Table B having a
foreign key on Table A.
Our only solution now is to put Mutex on Statements accessing
same tables or tables with foreign constraints but this will
make our system run very very slow. I dont know if the problem
is in our Oracle Database because we already upgraded our system
from 8.1.6 to 8.1.7. The wierd thing on this is that the system
is running smoothly without oracle errors on a SINGLE PROCESSOR
Middleware. Hope you can give me any insights on this problem. -
"Inconsistent cursor cache. Out of range cursor" error on dual processor multi thread
I have a C++ with Pro*C++ COM object running on a Win2000 OS on
a dual processor Middleware. The program is being called by a
service in a multi threaded way. An oracle error like ORA-2103
and SQL-02103 will be generated after running the program. We've
tried putting mutex on every SQL statement in Pro*C and it works
but the systems became very very slow. We concluded that the
error might be cause by a collision of threads accessing the
same Table or different tables having foreign constraints. This
is so because the error keeps coming from a statement accessing
Table A and following errors comes from a Table B having a
foreign key on Table A.
Our only solution now is to put Mutex on Statements accessing
same tables or tables with foreign constraints but this will
make our system run very very slow. I dont know if the problem
is in our Oracle Database because we already upgraded our system
from 8.1.6 to 8.1.7. The wierd thing on this is that the system
is running smoothly without oracle errors on a SINGLE PROCESSOR
Middleware. Hope you can give me any insights on this problem.I have a C++ with Pro*C++ COM object running on a Win2000 OS on
a dual processor Middleware. The program is being called by a
service in a multi threaded way. An oracle error like ORA-2103
and SQL-02103 will be generated after running the program. We've
tried putting mutex on every SQL statement in Pro*C and it works
but the systems became very very slow. We concluded that the
error might be cause by a collision of threads accessing the
same Table or different tables having foreign constraints. This
is so because the error keeps coming from a statement accessing
Table A and following errors comes from a Table B having a
foreign key on Table A.
Our only solution now is to put Mutex on Statements accessing
same tables or tables with foreign constraints but this will
make our system run very very slow. I dont know if the problem
is in our Oracle Database because we already upgraded our system
from 8.1.6 to 8.1.7. The wierd thing on this is that the system
is running smoothly without oracle errors on a SINGLE PROCESSOR
Middleware. Hope you can give me any insights on this problem. -
ORA-13773: insufficient privileges to select data from the cursor cache
We are trying to create STS using the below query:
exec sys.dbms_sqltune.create_sqlset(sqlset_name => 'TEST_STS', -
sqlset_owner => 'SCOTT');
The below procedure will load sql starting with 'select /*MY_CRITICAL_SQL*/%' from cursor cache into STS TEST_STS.
DECLARE
stscur dbms_sqltune.sqlset_cursor;
BEGIN
OPEN stscur FOR
SELECT VALUE(P)
FROM TABLE(dbms_sqltune.select_cursor_cache(
'sql_text like ''select /*MY_CRITICAL_SQL*/%''',
null, null, null, null, null, null, 'ALL')) P;
dbms_sqltune.load_sqlset(sqlset_name => 'TEST_STS',
populate_cursor => stscur,
sqlset_owner => 'SCOTT');
END;
We were getting the following error: ORA-13761: invalid filter
After granting the below privileges to the user we are getting the below error:
Err msg:
ERROR at line 1:
ORA-13773: insufficient privileges to select data from the cursor cache
ORA-06512: at "SYS.DBMS_SQLTUNE", line 2957
ORA-06512: at line 10
For SQL Tuning Sets:
GRANT ADMINISTER ANY SQL TUNING SET TO scott;
For Managing SQL Profiles:
GRANT CREATE ANY SQL PROFILE TO scott;
GRANT ALTER ANY SQL PROFILE TO scott;
GRANT DROP ANY SQL PROFILE TO scott;
For SQL Tuning Advisor:
GRANT ADVISOR TO scott;
Others:
GRANT SELECT ON V_$SQL TO SCOTT;
GRANT SELECT ON V_$SQLAREA TO SCOTT;
GRANT SELECT ON V$SQLAREA_PLAN_HASH TO SCOTT;
GRANT SELECT ON V_$SQLSTATS TO SCOTT;
grant select on sys.DBA_HIST_BASELINE to SCOTT;
grant select on sys.DBA_HIST_SQLTEXT to SCOTT;
grant select on sys.DBA_HIST_SQLSTAT to SCOTT;
grant select on sys.DBA_HIST_SQLBIND to SCOTT;
grant select on sys.DBA_HIST_OPTIMIZER_ENV to SCOTT;
grant select on sys.DBA_HIST_SNAPSHOT to SCOTT;
Any info from your end to resolve the issue will be of great help.
ThanksWhat is the alert log reporting. Are you seeing any other errors than these in the alert log too?
-
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";
} -
Help!! ORA-01000: maximum open cursors exceeded
Dear All,
Here is my software information:
Platform: WLP7.0sp2
OS : solaris8
And I have two connection Pools, their settings are:
Initial Capacity: 10
Maximum Capacity: 10
Capacity Increment: 1
Login Delay Seconds: 0 seconds
Refresh Period: 0 minutes
Shrink Period: 15 minutes
Prepared Statement Cache Size: 5
When I start my Weblogic Portal server, it happened the following exceptions:
java.sql.SQLException: ORA-01000: maximum open cursors exceeded
ORA-06512: at "SYS.STANDARD", line 1014
ORA-06512: at "TU_PORTLET_P13N", line 2
ORA-04088: error during execution of trigger 'TU_PORTLET_P13N'
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:169)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1405)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:822)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:1602)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1527)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2045)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:39
5)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:446)
at weblogic.jdbc.pool.Statement.execute(Statement.java:274)
at weblogic.jdbc.rmi.internal.PreparedStatementImpl.execute(PreparedStatementImpl.java:378)
at weblogic.jdbc.rmi.SerialPreparedStatement.execute(SerialPreparedStatement.java:401)
at com.bea.portal.manager.internal.persistence.jdbc.JdbcPortalPersistenceHelper.addOrUpdate
PageP13nPortlets(JdbcPortalPersistenceHelper.java:785)
at com.bea.portal.manager.internal.persistence.jdbc.JdbcPortalPersistenceHelper.addOrUpdate
PortalP13nPages(JdbcPortalPersistenceHelper.java:508)
at com.bea.portal.manager.internal.persistence.jdbc.JdbcPortalPersistenceManager.addOrUpdat
ePortalPersonalization(JdbcPortalPersistenceManager.java:414)
at com.bea.portal.manager.internal.persistence.MainPersistenceManager.addOrUpdatePortalPers
onalization(MainPersistenceManager.java:104)
at com.bea.portal.manager.internal.PortalPersistenceManager.updatePortalModel(PortalPersist
enceManager.java:330)
at com.bea.portal.manager.internal.PortalPersistenceManager.createDataItem(PortalPersistenc
eManager.java:199)
at com.bea.p13n.management.data.repository.internal.AbstractDataRepository.handleDataItemMe
ssage(AbstractDataRepository.java:814)
at com.bea.p13n.management.data.repository.internal.AbstractDataRepository.onDataSyncMessag
e(AbstractDataRepository.java:990)
at com.bea.p13n.management.data.repository.internal.AbstractDataRepository.executeMessage(A
bstractDataRepository.java:252)
at com.bea.p13n.management.data.message.internal.JvmCommunicationPipe.sendMessage(JvmCommun
icationPipe.java:116)
at com.bea.p13n.management.data.repository.internal.AbstractDataRepository.onSyncRequestRes
ultMessage(AbstractDataRepository.java:1185)
at com.bea.p13n.management.data.repository.internal.AbstractDataRepository.executeMessage(A
bstractDataRepository.java:261)
at com.bea.p13n.management.data.message.internal.JvmCommunicationPipe.sendMessage(JvmCommun
icationPipe.java:116)
at com.bea.p13n.management.data.repository.internal.AbstractDataRepository.onSyncRequestMes
sage(AbstractDataRepository.java:1086)
at com.bea.p13n.management.data.repository.internal.AbstractDataRepository.executeMessage(A
bstractDataRepository.java:257)
at com.bea.p13n.management.data.message.internal.JvmCommunicationPipe.sendMessage(JvmCommun
icationPipe.java:116)
at com.bea.p13n.management.data.repository.internal.AbstractDataRepository.notifyDataReposi
tory(AbstractDataRepository.java:706)
at com.bea.p13n.management.data.repository.internal.AbstractDataRepository.onRefreshMessage
(AbstractDataRepository.java:912)
at com.bea.p13n.management.data.repository.internal.AbstractDataRepository.executeMessage(A
bstractDataRepository.java:247)
at com.bea.p13n.management.data.message.internal.JvmCommunicationPipe.sendMessage(JvmCommun
icationPipe.java:116)
at com.bea.p13n.management.data.repository.internal.AbstractDataRepository.sendRefreshMessa
geToThis(AbstractDataRepository.java:341)
at com.bea.p13n.management.data.repository.internal.AbstractDataRepository.addNotifiedDataR
epository(AbstractDataRepository.java:324)
at com.bea.p13n.management.data.repository.internal.AbstractDataRepository.addNotifiedDataR
epository(AbstractDataRepository.java:304)
at com.bea.portal.manager.internal.DeploymentManager.initializePortal(DeploymentManager.jav
a:142)
at com.bea.portal.manager.internal.DeploymentManager.initialize(DeploymentManager.java:101)
at com.bea.portal.manager.internal.PortalManagerDelegateImpl.<init>(PortalManagerDelegateIm
pl.java:86)
at com.bea.portal.manager.PortalFactory.createPortalManagerDelegate(PortalFactory.java:248)
at com.bea.portal.manager.ejb.internal.PortalManagerBean.ejbCreate(PortalManagerBean.java:1
47)
Any ideas will be appreciated.
RobertRobert Chao wrote:
Dear All,
Here is my software information:
Platform: WLP7.0sp2
OS : solaris8
And I have two connection Pools, their settings are:
Initial Capacity: 10
Maximum Capacity: 10
Capacity Increment: 1
Login Delay Seconds: 0 seconds
Refresh Period: 0 minutes
Shrink Period: 15 minutes
Prepared Statement Cache Size: 5Hi. You should either configure your DBMS to allow more open cursors per connection,
or you can try setting the prepared statement cache size to zero.
Joe
>
When I start my Weblogic Portal server, it happened the following exceptions:
java.sql.SQLException: ORA-01000: maximum open cursors exceeded
ORA-06512: at "SYS.STANDARD", line 1014
ORA-06512: at "TU_PORTLET_P13N", line 2
ORA-04088: error during execution of trigger 'TU_PORTLET_P13N'
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:169)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1405)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:822)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:1602)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1527)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2045)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:39
5)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:446)
at weblogic.jdbc.pool.Statement.execute(Statement.java:274)
at weblogic.jdbc.rmi.internal.PreparedStatementImpl.execute(PreparedStatementImpl.java:378)
at weblogic.jdbc.rmi.SerialPreparedStatement.execute(SerialPreparedStatement.java:401)
at com.bea.portal.manager.internal.persistence.jdbc.JdbcPortalPersistenceHelper.addOrUpdate
PageP13nPortlets(JdbcPortalPersistenceHelper.java:785)
at com.bea.portal.manager.internal.persistence.jdbc.JdbcPortalPersistenceHelper.addOrUpdate
PortalP13nPages(JdbcPortalPersistenceHelper.java:508)
at com.bea.portal.manager.internal.persistence.jdbc.JdbcPortalPersistenceManager.addOrUpdat
ePortalPersonalization(JdbcPortalPersistenceManager.java:414)
at com.bea.portal.manager.internal.persistence.MainPersistenceManager.addOrUpdatePortalPers
onalization(MainPersistenceManager.java:104)
at com.bea.portal.manager.internal.PortalPersistenceManager.updatePortalModel(PortalPersist
enceManager.java:330)
at com.bea.portal.manager.internal.PortalPersistenceManager.createDataItem(PortalPersistenc
eManager.java:199)
at com.bea.p13n.management.data.repository.internal.AbstractDataRepository.handleDataItemMe
ssage(AbstractDataRepository.java:814)
at com.bea.p13n.management.data.repository.internal.AbstractDataRepository.onDataSyncMessag
e(AbstractDataRepository.java:990)
at com.bea.p13n.management.data.repository.internal.AbstractDataRepository.executeMessage(A
bstractDataRepository.java:252)
at com.bea.p13n.management.data.message.internal.JvmCommunicationPipe.sendMessage(JvmCommun
icationPipe.java:116)
at com.bea.p13n.management.data.repository.internal.AbstractDataRepository.onSyncRequestRes
ultMessage(AbstractDataRepository.java:1185)
at com.bea.p13n.management.data.repository.internal.AbstractDataRepository.executeMessage(A
bstractDataRepository.java:261)
at com.bea.p13n.management.data.message.internal.JvmCommunicationPipe.sendMessage(JvmCommun
icationPipe.java:116)
at com.bea.p13n.management.data.repository.internal.AbstractDataRepository.onSyncRequestMes
sage(AbstractDataRepository.java:1086)
at com.bea.p13n.management.data.repository.internal.AbstractDataRepository.executeMessage(A
bstractDataRepository.java:257)
at com.bea.p13n.management.data.message.internal.JvmCommunicationPipe.sendMessage(JvmCommun
icationPipe.java:116)
at com.bea.p13n.management.data.repository.internal.AbstractDataRepository.notifyDataReposi
tory(AbstractDataRepository.java:706)
at com.bea.p13n.management.data.repository.internal.AbstractDataRepository.onRefreshMessage
(AbstractDataRepository.java:912)
at com.bea.p13n.management.data.repository.internal.AbstractDataRepository.executeMessage(A
bstractDataRepository.java:247)
at com.bea.p13n.management.data.message.internal.JvmCommunicationPipe.sendMessage(JvmCommun
icationPipe.java:116)
at com.bea.p13n.management.data.repository.internal.AbstractDataRepository.sendRefreshMessa
geToThis(AbstractDataRepository.java:341)
at com.bea.p13n.management.data.repository.internal.AbstractDataRepository.addNotifiedDataR
epository(AbstractDataRepository.java:324)
at com.bea.p13n.management.data.repository.internal.AbstractDataRepository.addNotifiedDataR
epository(AbstractDataRepository.java:304)
at com.bea.portal.manager.internal.DeploymentManager.initializePortal(DeploymentManager.jav
a:142)
at com.bea.portal.manager.internal.DeploymentManager.initialize(DeploymentManager.java:101)
at com.bea.portal.manager.internal.PortalManagerDelegateImpl.<init>(PortalManagerDelegateIm
pl.java:86)
at com.bea.portal.manager.PortalFactory.createPortalManagerDelegate(PortalFactory.java:248)
at com.bea.portal.manager.ejb.internal.PortalManagerBean.ejbCreate(PortalManagerBean.java:1
47)
Any ideas will be appreciated.
Robert -
Cannot figure out why "ORA-01000 Maximum open cursors" is shown...
Hello there ...
I am programming a PL/SQL Code that is throwing 0RA-01000 Maximum Open Cursors Exceeded.
Having already read quite a lot about ORA-01000 errors, I know I should be closing cursors, and have already tried setting OPEN_CURSORS parameter to a high number (1000).
I declared a lot of procedures in my pl/sql, each of which uses one cursor since i am working with a non-Oracle table linked by ODBC ... and each procedure sometimes does thousands of inserts -- but all WITHIN the explicit cursors. The explicit cursors are not declared within each loop.
I already checked the code many times, and made sure all open cursors are closed. In addition, I also verified the numberopen cursors generated by the PL/SQL by running the following SQL after every procedure i run... and outputting it... and it appears the value just keeps on increasing, even though I had explicitly closed all the cursors in all the earlier procedures.
What is funny is that the most number of cursors reported by the code below only hits 150+ cursors. Nowhere near the 1000 open_cursors limit per session.
select a.value into strtxt --, b.name
from v$mystat a, v$statname b
where a.statistic# = b.statistic#
and a.statistic#= 3;When I run the procedures separately though, all the procedures run smoothly (even when I had not yet updated the open_cursors parameter).
I was thinking of the following, but maybe you have some other ideas?
Does this have anything to do with my procedures not being stored procedures?
Or should i be committing records within my procedures instead of out of it?
I really have run into a wall and would really appreciate any tips or helps on this. Thanks in advance!
My basic pl/sql code looks like below. I did not give the actual details cause it will be too long (up to 5000 lines).
DECLARE
PROCEDURE proc1
IS
CURSOR cur_hca
is
select ...from..where;
TYPE cur_hca_fetch
Is TABLE OF cur_hca%ROWTYPE
INDEX BY PLS_INTEGER;
temp_collect cur_hca_fetch;
BEGIN
open cur_hca; --cur_hca is the cursor name.
--i use exactly the same cursor name in the other procedures
loop
fetch cur_hca bulk collect into temp_collect LIMIT 1000;
exit when temp_collect.count=0
for indx in 1 .. temp_collect.count
loop
...run some sql
end loop;
end loop;
close cur_hca;
END proc1;
PROCEDURE proc2 --almost the same as above the only changes are the query for the
-- cursor and the sql that happens for each record
IS
BEGIN
open cur_hca; --cur_hca is my cursor name
loop
end loop;
close cur_hca;
END proc2;
... up to 40 other very similar procedures
BEGIN
proc1;
commit;
select a.value into strtxt
from v$mystat a, v$statname b
where a.statistic# = b.statistic#
and a.statistic#= 3;
DBMS_OUTPUT.PUT_LINE('Number of Cursors After STATUSproc1: ' || strtxt);
proc2;
commit;
select a.value into strtxt
from v$mystat a, v$statname b
where a.statistic# = b.statistic#
and a.statistic#= 3;
DBMS_OUTPUT.PUT_LINE('Number of Cursors After STATUSproc2: ' || strtxt);
... 40 other procedures
END;Edited by: user4872285 on May 6, 2013 6:49 PM
Edited by: user4872285 on May 6, 2013 7:01 PM
Edited by: user4872285 on May 6, 2013 8:02 PM
Edited by: user4872285 on May 6, 2013 8:03 PMPL/SQL code usually leaks reference cursors and DBMS_SQL cursors - as the ref cursor/DBMS_SQL interface used has a global (session static) scope.
PL/SQL has an intelligent garbage collector that will close local implicit and explicit cursors, when the cursor variable goes out of scope.
If you define an explicit cursor globally (package interface), then it can only be opened once. The 2nd attempt results in a ORA-06511: PL/SQL: cursor already open exception. So code cannot leak explicit cursors as code cannot reopen an existing opened explicit cursor.
I have never seen Oracle leaking cursors internally. So I would be hesitant to call what you are seeing, a bug. If your code is using explicit cursors (even static/global ones), your code cannot leak these cursors, even if your code does not close them. Worse case - the cursor remains open, however new copies cannot be created while it is open.
So I think your are looking at the wrong thing - explicit cursors. These are not the cursors that are leaking in my view (simply because code cannot reuse and open an already opened explicit cursor). Here is an example:
SQL> show parameter cursors
NAME TYPE VALUE
open_cursors integer 300
session_cached_cursors integer 50
// procedure that seems to "leak" an explicit cursor handle
// as it does not explicitly closes the handle
SQL> create or replace procedure CursorUse is
2 cursor c is select e.* from emp e;
3 empRow emp%RowType;
4 begin
5 open c;
6 fetch c into empRow;
7 --// not closing explicit cursor handle
8 --// and going out-of-scope
9 end;
10 /
Procedure created.
// current session stats
SQL> select b.name, a.value from v$mystat a, v$statname b where a.statistic# = b.statistic# and b.name like '%open%cursor%';
NAME VALUE
opened cursors cumulative 91
opened cursors current 2
// execute proc that "leaks" a cursor, 10000 times
SQL> begin
2 for i in 1..10000 loop
3 CursorUse;
4 end loop;
5 end;
6 /
PL/SQL procedure successfully completed.
// no errors due to cursor leakage
// session stats: no cursor leakage occurred as
// PL/SQL's garbage collector cleaned (and closed)
// cursor handles when these became out-of-scope
SQL> select b.name, a.value from v$mystat a, v$statname b where a.statistic# = b.statistic# and b.name like '%open%cursor%';
NAME VALUE
opened cursors cumulative 10,095
opened cursors current 2
SQL> So the cursor leakage you are seeing is caused by something else... so what else is part of the code, or the session, that you have not yet mentioned? -
ORA-01000: maximum open cursors exceeded
I ran into this Too many Open Cursors Issue
My environment is
WebLogic 6.1 SP2
Oracle 8.1.7.3.0
JDBC Thin Driver
WebLogic Connection Pools
Tried all the solutions given in the news group for issues, none seemed to work,
so deviced a work around.
just wanted to know if there is a better solution that works.
or else we will go ahead with the workaround...
Explanation follows...
When we work with the weblogic connection pool
Using the WebLogic Pool Driver, we ask for a connection from Weblogic connection
pool.
WebLogic connection pool uses the Oracle Driver to connect to the Oracle Database.
creates a connection and provides it to us.
as we work with this connection, we create prepared statements, execute them etc.
etc. and this will create cursors in the oracle database.
now when we close the connection from our program, what gets closed is the connection
created between our program and the WebLogic Connection Pool
but the connection between the WebLogic Connection Pool and the Oracle database still
remains open, well, there is nothing wrong in that after all that is how connection
pool has to work.
but the issue here is the open cursors that are cached in oracle when we created
statements are not closed even after we close the statements and the connections,
since according to oracle, the connection is still active becuase WebLogic connection
pool is still maintaining the connection. and oracle will clear that only when the
connection is closed with it.
WebLogic pool driver is supposed to clear up the open cursor cache. but i guess it
is not doing it.
I did some R&D and tried out the following solutions and they dont seem to solve
the issue. (Most of them were picked up from the News groups)
1. Include the latest Oracle type 4 driver in class path before the other classes
2. Put a Connection.rollback before closing connection
3. Use the Oracle Driver directly bypassing the Connection Pool. (This works... but
we cant do that becuase we are using connection pools to handle connection.)
So I came up with the following work around.
Whenever a connection is created from oracle, internally the driver creates a session
with oracle.
when weblogic pool driver creates a session it uses an ORACLE session parameter SESSION_CACHED_CURSORS
I guess WebLogic sets it to a high number. But there has to be a parameter which
we can configure to control this when we create out connection pool. the closest
parameter was found to be "Prepared Statement Cache Size" but even after making it
0 it doesnt seem to improve the situation.
so, to override the SESSION_CACHED_CURSORS in our connection. every time we get a
connection we have to execute a query to alter the session paramater SESSION_CACHED_CURSORS
as follows
woConn = java.sql.DriverManager.getConnection(DCConstants.DC_JDBC_URL);
try
Statement woTmpStmt = woConn.createStatement();
woTmpStmt.execute("ALTER SESSION SET SESSION_CACHED_CURSORS = 0");
woTmpStmt.close();
catch(SQLException woSQLEx)
DCDebug.logInfo("DCDataFactory","Unable to alter session");
regards
GulamHi. If you'e turned off our statement cache (by setting it's size to zero),
then it's a DBMS-side issue only. When you return a connection to the
pool (by closing it), we will close any statements and result sets you
had created but not closed, so we do all we can. In fact if you left
the connection in an autoCommit(false) mode, we do the rollback for you
too. Besides setting that DBMS-side option you do with SQL, the only
other option I see is to configure your DBMS/session info for Oracle,
to allow more open cursors per connection than you currently allow.
Joe Weinstein at B.E.A.
Gulam Dasthagir wrote:
I ran into this Too many Open Cursors Issue
My environment is
WebLogic 6.1 SP2
Oracle 8.1.7.3.0
JDBC Thin Driver
WebLogic Connection Pools
Tried all the solutions given in the news group for issues, none seemed to work,
so deviced a work around.
just wanted to know if there is a better solution that works.
or else we will go ahead with the workaround...
Explanation follows...
When we work with the weblogic connection pool
Using the WebLogic Pool Driver, we ask for a connection from Weblogic connection
pool.
WebLogic connection pool uses the Oracle Driver to connect to the Oracle Database.
creates a connection and provides it to us.
as we work with this connection, we create prepared statements, execute them etc.
etc. and this will create cursors in the oracle database.
now when we close the connection from our program, what gets closed is the connection
created between our program and the WebLogic Connection Pool
but the connection between the WebLogic Connection Pool and the Oracle database still
remains open, well, there is nothing wrong in that after all that is how connection
pool has to work.
but the issue here is the open cursors that are cached in oracle when we created
statements are not closed even after we close the statements and the connections,
since according to oracle, the connection is still active becuase WebLogic connection
pool is still maintaining the connection. and oracle will clear that only when the
connection is closed with it.
WebLogic pool driver is supposed to clear up the open cursor cache. but i guess it
is not doing it.
I did some R&D and tried out the following solutions and they dont seem to solve
the issue. (Most of them were picked up from the News groups)
1. Include the latest Oracle type 4 driver in class path before the other classes
2. Put a Connection.rollback before closing connection
3. Use the Oracle Driver directly bypassing the Connection Pool. (This works... but
we cant do that becuase we are using connection pools to handle connection.)
So I came up with the following work around.
Whenever a connection is created from oracle, internally the driver creates a session
with oracle.
when weblogic pool driver creates a session it uses an ORACLE session parameter SESSION_CACHED_CURSORS
I guess WebLogic sets it to a high number. But there has to be a parameter which
we can configure to control this when we create out connection pool. the closest
parameter was found to be "Prepared Statement Cache Size" but even after making it
0 it doesnt seem to improve the situation.
so, to override the SESSION_CACHED_CURSORS in our connection. every time we get a
connection we have to execute a query to alter the session paramater SESSION_CACHED_CURSORS
as follows
woConn = java.sql.DriverManager.getConnection(DCConstants.DC_JDBC_URL);
try
Statement woTmpStmt = woConn.createStatement();
woTmpStmt.execute("ALTER SESSION SET SESSION_CACHED_CURSORS = 0");
woTmpStmt.close();
catch(SQLException woSQLEx)
DCDebug.logInfo("DCDataFactory","Unable to alter session");
regards
Gulam -
Error while executing Procedure - ORA-06511: PL/SQL: cursor already open
I have successfully compiled the following procedure but when I execute it, following error occurs, please adv.
Thanks and Regards,
Luqman
create or replace
procedure TESTKIBOR
(contno in varchar)
AS
BEGIN
DECLARE cursor c1 is
SELECT * FROM KIBOR_SCHEDULE
WHERE CN=contno;
begin
OPEN C1;
FOR line IN c1 LOOP
update kibor_schedule
set lincome=line.Lincome,
expo=line.eXPO,
pport=line.pPORT
where cn=line.cn
and rno=line.rno;
END LOOP;
COMMIT;
close c1;
END;
END TESTKIBOR;
ERROR at line 1:
ORA-06511: PL/SQL: cursor already open
ORA-06512: at "MKTG.TESTKIBOR", line 6
ORA-06512: at "MKTG.TESTKIBOR", line 10
ORA-06512: at line 1Hi,
CREATE OR REPLACE PROCEDURE Testkibor
(contno IN VARCHAR)
AS
BEGIN
DECLARE
CURSOR c1 IS
SELECT *
FROM kibor_schedule
WHERE cn = contno;
BEGIN
--// OPEN c1; --no need to open if using for loop
FOR line IN c1 LOOP
UPDATE kibor_schedule
SET lincome = line.lincome,
expo = line.expo,
pport = line.pport
WHERE cn = line.cn
AND rno = line.rno;
END LOOP;
COMMIT;
--// CLOSE c1; -- no need for loop does it for you
END;
END testkibor;SS -
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
-
Need help with a graduate student project
Hi Apple Community! My name is Gordon and I'm posting here to see if I could possibly interview someone via email or over the phone for a training project I am doing for a course in Graduate School. I'm a first year Industrial and Organizational Psyc
-
How can i retrieve my ip address.i lost all my receipts and my box.someone stole it
how can i retrieve my stolen ipad 2?i lost everything that proves that it is mine.all iknow is the apple address.i want to know the ip adress and everything about it
-
How are my things that i backup suppose to look like on my computer?
I backed up my things from my ipod and backed it up on my computer and i found the files but i dont know what there suppose to look like help me ?
-
Dont install the Nvidia System Utility!!
Today i had the great idea to install nvidia's system utility to tweak my ram settings in windows. After that i had a system freeze, no prob normally, but after the restart of my pc, my usb mouse dont work.....i think what ??? ok reboot straight in b
-
Livetype pretty much just not working, period (unexpected error)
So, I have livetype on my Macbook (it's an older macbook, I got it two years ago) and it's always worked, until the last few months. Now, whenever I open LiveType, everything is all black and weird looking, and I can't read any of the font in the dro