ORA-00904: "PURGE_OBJECT" when opening 'Functions' leaf
When I'm connected to some databases and try to open the 'Functions' leaf (or 'Procedures', 'Indexes'... but it works fine with 'Tables') I get an ORA-00904: "PURGE_OBJECT" error. It happens also when I try 'Create FUNCTION'. This does not occur with all connected databases, but can happen even when the DB has version 10.2. I have the freshly updated sqldeveloper on Windows.
The exception stack trace is:
oracle.jdeveloper.cm.dt.browser.CBBaseFolder$ExceptionWrapper
at oracle.jdeveloper.cm.dt.browser.CBBaseFolder._loadChildren(CBBaseFolder.java:288)
at oracle.jdeveloper.cm.dt.browser.CBBaseFolder.refresh(CBBaseFolder.java:205)
at oracle.jdevimpl.cm.dt.ConnectionController._refreshFolderCmd(ConnectionController.java:678)
at oracle.jdevimpl.cm.dt.ConnectionController.refreshNode(ConnectionController.java:302)
at oracle.jdevimpl.cm.dt.ConnectionController.handleEvent(ConnectionController.java:269)
at oracle.ide.controller.IdeAction.performAction(IdeAction.java:530)
at oracle.ide.controller.IdeAction$1.run(IdeAction.java:785)
at oracle.ide.controller.IdeAction.actionPerformedImpl(IdeAction.java:804)
at oracle.ide.controller.IdeAction.actionPerformed(IdeAction.java:499)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.AbstractButton.doClick(AbstractButton.java:302)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1000)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1041)
at java.awt.Component.processMouseEvent(Component.java:5488)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
at java.awt.Component.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3955)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1774)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Caused by: oracle.jdeveloper.cm.CMException: ORA-00904: "PURGE_OBJECT": ungültiger Bezeichner
at oracle.jdeveloper.cm.dt.browser.jdbc.ObjectFolder.getObjects(ObjectFolder.java:100)
at oracle.jdeveloper.cm.dt.browser.jdbc.ObjectFolder.getChildrenList(ObjectFolder.java:147)
at oracle.jdeveloper.cm.dt.browser.CBBaseFolder$1.doWork(CBBaseFolder.java:241)
at oracle.ide.dialogs.ProgressRunnable.run(ProgressRunnable.java:159)
at oracle.ide.dialogs.ProgressBar.run(ProgressBar.java:553)
at java.lang.Thread.run(Thread.java:595)
Thanks for any help!
I suppose your schema owner does contain a regular TABLE which is called RECYCLEBIN but does not contain a PURGE_OBJECT column
TEST CASE
SQL> grant dba to JOHNY identified by JOHNY;
Grant succeeded.
SQL> create table JOHNY.RECYCLEBIN as select * from dual;
Table created.try to login as johny/johny in sql/developer
than expand your VIEWS and you will get that error
An error was encountered when performing the requested operation:
ORA-00904: "PURGE_OBJECT" invalid identifier
Vendor Code 904
this is because sql/developer relies on the public synonym not on the user_recyclebin sys view
SQL> connect johny/johny
Connected.
SQL> desc recyclebin
Name Null? Type
DUMMY VARCHAR2(1)
SQL> select * from dba_synonyms where synonym_name='RECYCLEBIN';
OWNER SYNONYM_NAME
TABLE_OWNER TABLE_NAME
DB_LINK
PUBLIC RECYCLEBIN
SYS USER_RECYCLEBIN
SQL> desc sys.user_recyclebin
Name Null? Type
OBJECT_NAME NOT NULL VARCHAR2(30)
ORIGINAL_NAME VARCHAR2(32)
OPERATION VARCHAR2(9)
TYPE VARCHAR2(25)
TS_NAME VARCHAR2(30)
CREATETIME VARCHAR2(19)
DROPTIME VARCHAR2(19)
DROPSCN NUMBER
PARTITION_NAME VARCHAR2(32)
CAN_UNDROP VARCHAR2(3)
CAN_PURGE VARCHAR2(3)
RELATED NOT NULL NUMBER
BASE_OBJECT NOT NULL NUMBER
PURGE_OBJECT NOT NULL NUMBER
SPACE NUMBERUntil this bug is fixed, I would rather chose another user to connect
HTH
Laurent
Message was edited by:
Laurent Schneider
SQL> select KEYWORD,RESERVED from v$reserved_words where keyword='RECYCLEBIN';
KEYWORD R
RECYCLEBIN Nsince RECYCLEBIN is not a reserved, it is a legal name for your table, so the bug should be fixed one day...
Similar Messages
-
ORA-00904 OCCURS WHEN CALLING PL/SQL PACKAGED FUNCTIONS
Hi ,
When i try to execute
SELECT P_GMT_FOLDER.F_GET_SEC_MTRTY_BUCKET(TO_DATE('16/04/2008','DD/MM/YYYY'),TO_DATE('16/04/2008','DD/MM/YYYY'))
FROM DUAL
it showing the error like in Production
ORA-00904 invalid identifier.
But in UAT is is working fine.
Could anyone tell me how to fix this?
Cheers
Ramkannan.Alol!
I'd like to say that I'd join you, but I'm sure someone would misconstrue that!
*{;-) -
ORA-06502 Error When Calling Function
Hi,
We have upgraded Oracle Database Server 9i to 11.1.0.7 and we are now using ODP.NET version 2.112.2.0 instead of 9.2.0.4 dll.
After the migration, we encountered ORA-06502 problem when we are calling a function from .NET application. We investigated and found that we have to set the parameter size for the return value parameter (varchar2). But there is a strange case that how do we guess the return value size, it can be 5 characters or 5.000 characters. Before 11g Oracle.DataAccess, we do not have that such problem. We were setting the parameter size 225 by default, but ODP.NET was returning 500 characters without any error.
The question is that how do we guess or know the actual parameter size when we are passing a Return Value parameter to the function?
Or is there a solution for this behaviour of ODP.NET?
Thanks.Is there a reason you can not set it to the default maximum size for a varchar2 of 32k?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Oracle.DataAccess.Client;
using System.Data;
namespace test_function2
class Program
static void Main(string[] args)
OracleConnection con = new OracleConnection("Data Source=UTF8;User ID=scott;Password=tiger");
OracleCommand cmd = new OracleCommand("test_return", con);
cmd.CommandType = CommandType.StoredProcedure;
OracleParameter test_return = new OracleParameter("test_return", OracleDbType.Varchar2, 32000);
test_return.Direction = ParameterDirection.ReturnValue;
cmd.Parameters.Add(test_return);
OracleParameter test_input = new OracleParameter("test_input", OracleDbType.Varchar2);
test_input.Direction = ParameterDirection.Input;
test_input.Value = "blah";
cmd.Parameters.Add(test_input);
try
con.Open();
cmd.ExecuteNonQuery();
con.Close();
Console.WriteLine("{0}", test_return.Value);
Console.WriteLine("Press Enter to Continue");
Console.ReadLine();
catch (OracleException e)
Console.WriteLine(e.Number);
Console.WriteLine(e.Message);
Console.WriteLine("test failed\nPress Enter to Continue");
Console.ReadLine();
create or replace function test_return(in_var in varchar2)
return varchar2 is
begin
return lpad(in_var, 4000, 'TEST test') || lpad(in_var, 4000, 'DONE done');
end test_return;
/ -
ORA-00490 error when opening database
I am having a problem starting up my database. It had been running without problems for a long time, but it crashed recently, and now every time I attempt to restart it I get 'ORA-00490: PSP process terminated with error.' Here is the info from the alert log:
Tue Jul 20 08:35:16 2010
Starting ORACLE instance (normal)
Dump file d:\oracle\product\10.2.0/admin/iceman/bdump\alert_iceman.log
Tue Jul 20 09:06:13 2010
ORACLE V10.2.0.1.0 - 64bit Production vsnsta=0
vsnsql=14 vsnxtr=3
Windows NT Version V5.2 Service Pack 2
CPU : 8 - type 8664, 2 Physical Cores
Process Affinity : 0x0000000000000000
Memory (Avail/Total): Ph:7404M/8186M, Ph+PgF:19658M/20025M
Tue Jul 20 09:06:13 2010
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
ksdpec: called for event 13740 prior to event group initialization
Starting up ORACLE RDBMS Version: 10.2.0.1.0.
System parameters with non-default values:
processes = 500
sga_max_size = 2097152000
__shared_pool_size = 352321536
__large_pool_size = 16777216
__java_pool_size = 33554432
__streams_pool_size = 33554432
spfile = D:\ORACLE\PRODUCT\10.2.0\DB_1\DBS\SPFILEICEMAN.ORA
sga_target = 1258291200
control_files = D:\ORACLE\PRODUCT\10.2.0\ORADATA\ICEMAN\CONTROL01.CTL, D:\ORACLE\PRODUCT\10.2.0\ORADATA\ICEMAN\CONTROL02.CTL, D:\ORACLE\PRODUCT\10.2.0\ORADATA\ICEMAN\CONTROL03.CTL
db_block_size = 8192
__db_cache_size = 805306368
compatible = 10.2.0.1.0
db_file_multiblock_read_count= 16
db_recovery_file_dest = D:\oracle\product\10.2.0/flash_recovery_area
db_recovery_file_dest_size= 2147483648
undo_management = AUTO
undo_tablespace = UNDOTBS1
remote_login_passwordfile= EXCLUSIVE
db_domain =
dispatchers = (PROTOCOL=TCP) (SERVICE=ICEMANXDB)
job_queue_processes = 10
audit_file_dest = D:\ORACLE\PRODUCT\10.2.0\ADMIN\ICEMAN\ADUMP
background_dump_dest = D:\ORACLE\PRODUCT\10.2.0\ADMIN\ICEMAN\BDUMP
user_dump_dest = D:\ORACLE\PRODUCT\10.2.0\ADMIN\ICEMAN\UDUMP
core_dump_dest = D:\ORACLE\PRODUCT\10.2.0\ADMIN\ICEMAN\CDUMP
audit_trail = OS
db_name = ICEMAN
open_cursors = 300
pga_aggregate_target = 418381824
PSP0 started with pid=3, OS id=2372
MMAN started with pid=4, OS id=2388
PMON started with pid=2, OS id=2456
DBW0 started with pid=5, OS id=2396
LGWR started with pid=6, OS id=2376
CKPT started with pid=7, OS id=2380
SMON started with pid=8, OS id=1496
RECO started with pid=9, OS id=2296
CJQ0 started with pid=10, OS id=2300
MMON started with pid=11, OS id=2128
MMNL started with pid=12, OS id=2784
Tue Jul 20 09:06:15 2010
starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
starting up 1 shared server(s) ...
Tue Jul 20 09:06:17 2010
ALTER DATABASE MOUNT
Tue Jul 20 09:06:21 2010
Setting recovery target incarnation to 2
Tue Jul 20 09:06:21 2010
Successful mount of redo thread 1, with mount id 2079135369
Tue Jul 20 09:06:21 2010
Database mounted in Exclusive Mode
Completed: ALTER DATABASE MOUNT
Tue Jul 20 09:10:42 2010
Starting ORACLE instance (normal)
Tue Jul 20 09:10:55 2010
alter database open
Tue Jul 20 09:10:56 2010
Beginning crash recovery of 1 threads
Process P000 died, see its trace file
parallel recovery setup failed: using serial mode
Tue Jul 20 09:10:57 2010
Started redo scan
Tue Jul 20 09:10:57 2010
Completed redo scan
233 redo blocks read, 74 data blocks need recovery
Tue Jul 20 09:10:57 2010
Started redo application at
Thread 1: logseq 36859, block 3
Tue Jul 20 09:10:57 2010
Recovery of Online Redo Log: Thread 1 Group 3 Seq 36859 Reading mem 0
Mem# 0 errs 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\ICEMAN\REDO03.LOG
Tue Jul 20 09:10:57 2010
Completed redo application
Tue Jul 20 09:10:57 2010
Completed crash recovery at
Thread 1: logseq 36859, block 236, scn 832195314
74 data blocks read, 74 data blocks written, 233 redo blocks read
Tue Jul 20 09:10:57 2010
Thread 1 advanced to log sequence 36860
Thread 1 opened at log sequence 36860
Current log# 1 seq# 36860 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\ICEMAN\REDO01.LOG
Successful open of redo thread 1
Tue Jul 20 09:10:57 2010
MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set
Tue Jul 20 09:10:57 2010
SMON: enabling cache recovery
Tue Jul 20 09:10:58 2010
Successfully onlined Undo Tablespace 1.
Tue Jul 20 09:10:58 2010
SMON: enabling tx recovery
Tue Jul 20 09:10:58 2010
Database Characterset is AL32UTF8
replication_dependency_tracking turned off (no async multimaster replication found)
Starting background process QMNC
QMNC started with pid=16, OS id=672
Tue Jul 20 09:11:05 2010
Completed: alter database open
Tue Jul 20 09:11:10 2010
Errors in file d:\oracle\product\10.2.0\admin\iceman\bdump\iceman_j000_976.trc:
ORA-07445: exception encountered: core dump [ACCESS_VIOLATION] [unable_to_trans_pc] [PC:0x77EF1CD6] [ADDR:0x4F0] [UNABLE_TO_READ] []
Tue Jul 20 09:11:13 2010
Errors in file d:\oracle\product\10.2.0\admin\iceman\bdump\iceman_pmon_2456.trc:
ORA-00490: PSP process terminated with error
Tue Jul 20 09:11:13 2010
PMON: terminating instance due to error 490
Tue Jul 20 09:11:13 2010
Error occured while spawning process J001; error = 490
Tue Jul 20 09:11:13 2010
Errors in file d:\oracle\product\10.2.0\admin\iceman\bdump\iceman_reco_2296.trc:
ORA-00490: PSP process terminated with error
Tue Jul 20 09:11:13 2010
Errors in file d:\oracle\product\10.2.0\admin\iceman\bdump\iceman_smon_1496.trc:
ORA-00490: PSP process terminated with error
Tue Jul 20 09:11:14 2010
Errors in file d:\oracle\product\10.2.0\admin\iceman\bdump\iceman_ckpt_2380.trc:
ORA-00490: PSP process terminated with error
Tue Jul 20 09:11:14 2010
Errors in file d:\oracle\product\10.2.0\admin\iceman\bdump\iceman_lgwr_2376.trc:
ORA-00490: PSP process terminated with error
Tue Jul 20 09:11:14 2010
Errors in file d:\oracle\product\10.2.0\admin\iceman\bdump\iceman_dbw0_2396.trc:
ORA-00490: PSP process terminated with error
Tue Jul 20 09:11:14 2010
Errors in file d:\oracle\product\10.2.0\admin\iceman\bdump\iceman_mman_2388.trc:
ORA-00490: PSP process terminated with error
Tue Jul 20 09:11:14 2010
Instance terminated by PMON, pid = 2456
The background process dumps all look very similar. Here is the file iceman_dbw0_2396.trc
Dump file d:\oracle\product\10.2.0\admin\iceman\bdump\iceman_dbw0_2396.trc
Tue Jul 20 09:11:14 2010
ORACLE V10.2.0.1.0 - 64bit Production vsnsta=0
vsnsql=14 vsnxtr=3
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
Windows NT Version V5.2 Service Pack 2
CPU : 8 - type 8664, 2 Physical Cores
Process Affinity : 0x0000000000000000
Memory (Avail/Total): Ph:7133M/8186M, Ph+PgF:18431M/20025M
Instance name: iceman
Redo thread mounted by this instance: 1
Oracle process number: 5
Windows thread id: 2396, image: ORACLE.EXE (DBW0)
*** 2010-07-20 09:11:14.316
*** SERVICE NAME:(SYS$BACKGROUND) 2010-07-20 09:11:14.316
*** SESSION ID:(552.1) 2010-07-20 09:11:14.316
error 490 detected in background process
ORA-00490: PSP process terminated with error
I have been searching, but I have not found a reference to a problem quite like this anywhere. Any pointers to how this can be solved would be greatly appreciated.HI
1) can you post OS version?
2) antivirus/firewall enabled
3)Increase the depleted swap/memory or other resource which is logged in the OS log file
Have sufficient physical memory on Server so that you can allocate more SGA/PGA to the database.
4) Increase SGA_MAX_SIZE and SGA_TARGET so that you can accommodate following pools.
5) Restart the instance.
6) Increase INIT.ORA memory parameters and make sure following pools are set to recommended value i.e. 200M.
7) SHARED_POOL_SIZE
8) JAVA_POOL_SIZE
9) STREAMS_POOL_SIZE
there is no swap to grow stack.
Edited by: CKPT on Jul 20, 2010 7:26 PM -
'ORA-00904 invalid columname' from function call in SQL
Can anyone see anything wrong with this call?
SELECT COORDSQID FROM COORDSQ WHERE (INRECTANGLE(VERTEXALAT, VERTEXALON, VERTEXBLAT, VERTEXBLON, VERTEXCLAT, VERTEXCLON, VERTEXDLAT, VERTEXDLON, 44, 22.7) = TRUE);You cannot use boolean PL/SQL user defined functions in SQL. SQL does not have a boolean data type.
When using PL/SQL user defined functions, make sure that they are accessible from the SQL engine. Nested functions are not visible and out-of-scope in the SQL engine.
Billy -
ORA-00904 running queries in Plus
Hi,
I'm receiving some intermittent ORA-00904 errors when I run some of my queries. It's generally "dim_item"."rowid" invalid identifier. It can be other tables, but is almost invariably "rowid" as the invalid field. We're running 9.0.2.54.03 Plus version and 9.2.0.4 database.
Oracle can't seem to explain the error so I was wondering if anyone else had received it in some of their Plus adventures.
Thanks for the feedback!
MarkFound the problem. This is a new db that I moved the users into and it has star_transformation_enabled set to true. Setting star_transformation_enabled to false fixes the queries. Going to shutdown the DB and restart it with that set to false.
Just wanted to share.
Mark -
1.5.4 ora-00904 when opening a package from the connections navigator
Hi
I downloaded 1.5.4 for windows and immediately checked to see if this long standing bug has been fixed
1.5.0.53 New file types not opened as plsql (and now neither a
However it hasn't so next thing I do is go the connections navigator to open a package which is the workaround for the above bug (any update on when that is going to be fixed would be appreciated).
If I double click to open a package I get an error message
ORA-00904: "ATTRIBUTE": invalid identifier
A single click on a package does not give any error. Double clicking on the same package in 1.5.1 does not give any error message
Any ideas?
thanks
paul
Edited by: paul.schweiger on Mar 4, 2009 10:36 AM
Stupidly used the rich text editor which doesn't seem to work too wellJB,
There actually is a post from the team in this thread ;-)
The patch on 3/30 was not scheduled to fix any other errors other than the import issue we encountered. We included an LDAP fix and a 9i performance query issue. The exact bugs fixed are listed in the check for updates detail before you download the fix.
All bugs can be logged with Metalink, that is the primary place for logging and tracking bugs. The forum is for discussions on how to use the product - for pointers and advice.
Paul,
By your long standing bug, I assume you mean that .pks, pkb and .plb files are opened in the PL/SQL Editor. This has been fixed in 1.5.4.
What has not been done and has been scheduled for 2.0 is the ability to associate any extension with a file and then open that file with the pl/sql editor.
For all encountering the ora-00904 error, this is specifically related to opening PL/SQL in a 9i database and we have a bug logged for that.
Sue -
ORA-00904 and packaged function in report
Oracle 9.2.0.7
APEX 2.0
Is APEX not able to deal with SQL that calls a packaged function?
I ask because I'm able to execute this query:
SELECT s.doc_id,
s.last_name || ', ' || s.first_name full_name,
s.p_id,
s.create_date
, rwa_wfrole.get_role_list(s.proj_id, s.p_id) wfrole_label
FROM signatures_vw s
WHERE s.proj_id = 182
AND s.status = 'APPROVED'
ORDER BY s.create_date, s.last_name, s.first_name
in SQL*Plus, but not in the SQL Workshop or in a report region. In the latter case I get "ORA-00904 invalid identifier" for "rwa_wfrole.get_role_list"... which is a packaged function. Actually, to be more precise, it's a package in a remote database. In the APEX instance, I have a synonym pointing to it.
Thanks for insight.
-JohnI can't reproduce this in 10g. I did find bug 4177810 (Fixed in 9.2.0.8 Server Patch Set) that looks a bit like this problem.
Description
An unexpected ORA-904 can occur for some internally generated SQL
when the select list contains non-column constants and the select
appears in the FROM clause. This can occur for SQL produced for
parallel query or for remote / distributed queries.
Workaround:
Rewrite the query to avoid constant expressions in the FROM clause select lists.***************************
There are also recommendations dating way back that you should include the schema name in the Create Synonym statement.
Scott -
Passing Parameter to Function - ORA-00904
Hi - I wonder if anyone can help with this problem please?
I have developed a function, which works fine, returning a collection as a table. It takes a single parameter, the numeric userid. I've put a report on the page, and hardcoded the userid during testing:
SELECT rec_id, period_id, proj_id, proj_name, hrs_last_week, hrs_this_week
FROM TABLE (SELECT tr_return_user_times(364) AS TR_USERTIMES_TAB
FROM DUAL)
This works great, and shows the data perfectly. So the next step, was to set up a variable to hold the userid of the person within the application. I've an application item named F155_USERID. If I display this on the page, I am happy that the value is as expected. However, when I put the variable into the function call, it won't parse:
SELECT rec_id, period_id, proj_id, proj_name, hrs_last_week, hrs_this_week
FROM TABLE (SELECT tr_return_user_times(:F155_USERID) AS TR_USERTIMES_TAB FROM DUAL)
now gets the error:
Query cannot be parsed within the Builder. If you believe your query is syntactically correct, check the ''generic columns'' checkbox below the region source to proceed without parsing.
If I switch to use generic columns, and run the debug, the item does substitute ok, (i.e. 0.04: binding: ":F155_USERID"="F155_USERID" value="364")
but I get
report error: ORA-00904: "TR_RETURN_USER_TIMES": invalid identifier
If I run the command in TOAD, and put in the same value (364) when prompted for the variable substitution, again, it works fine. This has to be something really simple, but it's cost me a few hours now - I am tearing my hair out (and at my age there's no guarantee it will grow back). Any help appreciated!Found it!
Denes Kubicek is a god. Found a note on his blog. (http://www.deneskubicek.blogspot.com/)
The answer is
v('F155_USERID') -
Internal SYS_OP_ATG function generates "ORA-00904: : invalid identifier"
After gathering system statistics a MERGE statement within a PLSQL block now always raises "ORA-00904: : invalid identifier". Investigation points to internal SQL executed by the CBO using the SYS_OP_ATG function to be the culprit. What is this function and why does it raise "ORA-00904: : invalid identifier"? As a temporary solution deleting system statistics has made the problem disappear. My concern is that it will reappear.
Merge statement is within a procedure within a package. Nothing had been re-compiled. System statistics were gathered then the following statement errors every time. There is an exception handler around it which raises the "ORA-00904: : invalid identifier". Delete system stats and it all works fine again:
MERGE INTO lp_data lp
USING (
SELECT
f.ubimsg_id ubimsg_id,
f.endpoint_id endpoint_id,
f.msg_created_date msg_created_date,
t.end_time end_time,
DECODE(t.units_used,255,0, t.units_used) units_used,
DECODE(t.units_used,255,'N', 'Y') reading_received
FROM TABLE (CAST (tab_lp_values AS load_profiles)) t,
(SELECT ubirec.ubimsg_id ubimsg_id ,ubirec.endpoint_id endpoint_id, ubirec.msg_created_date msg_created_date FROM dual) f
) lp_rec
on (lp.endpoint_id = lp_rec.endpoint_id
and lp.end_time = lp_rec.end_time)
when matched then
update set lp.entry_date = lp_rec.msg_created_date,
lp.ubimsg_id = lp_rec.ubimsg_id,
lp.units_used = lp_rec.units_used / 10,
lp.reading_received = lp_rec.reading_received
when not matched then
insert (lp.endpoint_id,
lp.end_time,
lp.entry_date,
lp.ubimsg_id,
lp.units_used,
lp.reading_received)
values (lp_rec.endpoint_id,
lp_rec.end_time,
lp_rec.msg_created_date,
lp_rec.ubimsg_id,
lp_rec.units_used / 10,
lp_rec.reading_received );
The line FROM TABLE (CAST (tab_lp_values AS load_profiles)) t casts a plsql object collection. An SQL trace showed the following SQL which must be internal SQL generated for the MERGE statement.
SELECT distinct TBL$OR$IDX$PART$NUM("LP_DATA", 0, 1, 0, "END_TIME") FROM
(SELECT "LP_REC"."END_TIME" "END_TIME" FROM (SELECT :B1 "UBIMSG_ID",:B2 "ENDPOINT_ID",:B3 "MSG_CREATED_DATE",
SYS_OP_ATG(VALUE(KOKBF$),1,2,2) "END_TIME",
DECODE(SYS_OP_ATG(VALUE(KOKBF$),2,3,2),255,0,SYS_OP_ATG(VALUE(KOKBF$),2,3,2)) "UNITS_USED",
DECODE(SYS_OP_ATG(VALUE(KOKBF$),2,3,2),255,'N','Y') "READING_RECEIVED"
FROM TABLE(CAST(:B4 AS "LOAD_PROFILES") ) "KOKBF$","SYS"."DUAL" "DUAL") "LP_REC") ORDER BY 1
Without system statistics the trace did not have this statement in it, and the explain plan for the MERGE differed.
Oracle 11.1.0.7.0 Windows 32-BIT.
select * from v$version;
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production
PL/SQL Release 11.1.0.7.0 - Production
CORE 11.1.0.7.0 Production
TNS for 32-bit Windows: Version 11.1.0.7.0 - Production
NLSRTL Version 11.1.0.7.0 - Production
SQL> show parameter compatible
compatible string 11.1.0.0.0
Any help to explain / resolve this issue would be much appreciated.Duplicate thread: CBO on 11G generates ORA-00904 with SYS_OP_ATG
-
Hello,
I had installed ore 1.3.1 windows server 2008 on top of Oracle DB 11.2.0.3 ,but when I connect the database,it didn't work.
That is my code and error code.
ore.connect(user = "rquser", sid = "db11g", host = "....", password = "....", all = TRUE)
Got error as below:
error.oci.GetQuery(conn, statement, data = data, prefetch = prefetch, :
ORA-28575: unable to open RPC connection to external procedure agent
ORA-06512: at "RQSYS.RQEVALIMPL", line 17
ORA-06512: at "RQSYS.RQEVALIMPL", line 14
ORA-06512: at line 4
Also i have follwed the below link:
///ORE1.3-ore-server-win-x86_64-1.3,error ORA-28575: unable to open RPC connec
But failed to resolve the problem.
Below are the TNS and Listener file entry:
# listener.ora Network Configuration File: F:\OracleDB\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = EXTPROC)
(ORACLE_HOME = H:\ORA11G\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:H:\ORA11G\product\11.2.0\dbhome_1\bin\oraclr11.dll")
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.168.11.69)(PORT = 1521))
ADR_BASE_LISTENER = H:\ORA11G
-============================
# tnsnames.ora Network Configuration File: F:\OracleDB\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
(CONNECT_DATA =
(SID = EXTPROC)
(PRESENTATION = RO)
DB11G =
(DESCRIPTION =
(ADDRESS_LIST=
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.168.11.69)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID = DB11G)
====================================================
Thanks
SandyHi Sandy,
If you set EXTPROCS_DLLS=ANY in the listener and then restart the listener, does it fix the problem?
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = EXTPROC)
(ORACLE_HOME = H:\ORA11G\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ANY")
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.168.11.69)(PORT = 1521))
Sherry -
Error screens when opening up dreamweaver; effecting functionality.
When opening up a file in Dreamweaver, two error screens pop up. The first one says "Attempted an unsupported operation" and the second one says, "Encountered an improper argument". Dreamweaver will still work after this but becomes very buggy and certain functions such as refreshing the Properties panel does not work. Any ideas on how to fix this? Thank you.
Does this happen every time?? Or just when AIR is involved?
See: http://forums.adobe.com/thread/1106087?tstart=0
^_^ -
Error ORA-06502 When using function REPLACE in PL/SQL
Hi,
I have a PL/SQL procedure which gives error 'Error ORA-06502 When using function REPLACE in PL/SQL' when the string value is quite long (I noticed this with a string 9K in length)
variable var_a is of type CLOB
and the assignment statement where it gives the error is
var_a := REPLACE(var_a, '^', ''',''');
Can anyone please help!
ThanksEven then that shouldn't do so:
SQL> select overload, position, argument_name, data_type, in_out
2 from all_arguments
3 where package_name = 'STANDARD'
4 and object_name = 'LPAD'
5 order by 1,2
6 /
OVERLOAD POSITION ARGUMENT_NAME DATA_TYPE IN_OUT
1 0 VARCHAR2 OUT
1 1 STR1 VARCHAR2 IN
1 2 LEN BINARY_INTEGER IN
1 3 PAD VARCHAR2 IN
2 0 VARCHAR2 OUT
2 1 STR1 VARCHAR2 IN
2 2 LEN BINARY_INTEGER IN
3 0 CLOB OUT
3 1 STR1 CLOB IN
3 2 LEN NUMBER IN
3 3 PAD CLOB IN
4 0 CLOB OUT
4 1 STR1 CLOB IN
4 2 LEN NUMBER INI wonder what happened? -
ORA-00604 ORA-00904 When query partitioned table with partitioned indexes
Got ORA-00604 ORA-00904 When query partitioned table with partitioned indexes in the data warehouse environment.
Query runs fine when query the partitioned table without partitioned indexes.
Here is the query.
SELECT al2.vdc_name, al7.model_series_name, COUNT (DISTINCT (al1.vin)),
al27.accessory_code
FROM vlc.veh_vdc_accessorization_fact al1,
vlc.vdc_dim al2,
vlc.model_attribute_dim al7,
vlc.ppo_list_dim al18,
vlc.ppo_list_indiv_type_dim al23,
vlc.accy_type_dim al27
WHERE ( al2.vdc_id = al1.vdc_location_id
AND al7.model_attribute_id = al1.model_attribute_id
AND al18.mydppolist_id = al1.ppo_list_id
AND al23.mydppolist_id = al18.mydppolist_id
AND al23.mydaccytyp_id = al27.mydaccytyp_id
AND ( al7.model_series_name IN ('SCION TC', 'SCION XA', 'SCION XB')
AND al2.vdc_name IN
('PORT OF BALTIMORE',
'PORT OF JACKSONVILLE - LEXUS',
'PORT OF LONG BEACH',
'PORT OF NEWARK',
'PORT OF PORTLAND'
AND al27.accessory_code IN ('42', '43', '44', '45')
GROUP BY al2.vdc_name, al7.model_series_name, al27.accessory_codeI would recommend that you post this at the following OTN forum:
Database - General
General Database Discussions
and perhaps at:
Oracle Warehouse Builder
Warehouse Builder
The Oracle OLAP forum typically does not cover general data warehousing topics. -
ORA-00904 - invalid identifier when adding new column to the report query
Hi,
I am trying to add a new field to an existing bespoke report query. When I click on ok, I get the following error
message: "ORA-00904: <field name> : invalid identifier ==> <field_name>
Any ideas what is causing this problem? Version of the report builder is : 6.0.8 and is connected to a 10.2 db.
Any help appreciated.
Many Thanks,
Praveen
Edited by: praveenrn on May 21, 2009 2:38 PMWhat is the field name ? Maybe a reserved word ? Change to "my_new_variable" to check...
Cheers,
Jens Rettig
Maybe you are looking for
-
Hi, I am sending an file data to Idoc thru XI.I am unable to see the file data at XI as well as at R/3. I did data type,message type,message interface,MM,IM in IR and both communication channels,both agreements,receiver determination and interface de
-
Recently, I updated the AMT to 4.2 on my t400. This new release seems not compatible with Win7. It appears that everytime I start the laptop the Intel AMT icon does not pop up until 2~3 minutes later. It seriously slows down the startup. Everytime I
-
Order status shipped to store?
Ok so last Saturday I ordered a canon dslr and as of last night the status has said "shipped to store" then around 12ish the status said ready for pick up so I got all ready then it changed back to shipped to store!!! I called the store it shipped to
-
SLD - Technical System Type Exchange Infrastructure
Hi experts, does anybody know how these Entries in the SLD appear? Technical System Type: Exchange Infrastructure Adapter Engine Adapter Framework Domain Integration Directory Integration Repository Integration Server RWB Runtime Management Server ar
-
THX Console (Vista) - Need Low Pass for
Hi, back on XP the installation CD included a THX console that could be used to setup a LFE or subwoofer channel. Since I've "upgraded" to vista x64 I haven't been able to find a working version of this nor a workaround. I have a plugin for foobar wh