ORA-00904: "MDSYS"."SDO_UTIL"."TO_GML311GEOMETRY": invalid identifier error - oracle

I get ORA-00904 error while running simple Query:
SELECT TO_CHAR(MDSYS.SDO_UTIL.TO_GML311GEOMETRY(null)) AS Gml311Geometry FROM dual;
I tried to use other SDO_UTIL functions (GETVERTICES, SIMPLIFY, TO_WKTGEOMETRY) and they are working just fine. I searched for it in MDSYS packages and I found a proper function to_gml311geometry.
What could be a reason that oracle can't find this function? I use oracle 11g client.

As Rene suggested this function is not available in Oracle XE I checked and it does work on full version.

Related

Merge statement with Db link is not working

Merge statement with Db link is working fine normally .
The same merge when written inside the procedure is also working fine.
But, when I have scheduled the job for the same procedure, it is throwing error.
Tool used: Oracle SQL Developer
ORA-12154: TNS:could not resolve the connect identifier specified--ORA-06512:
Please help in identifying the issue.

ORA-01036: illegal variable name/number with Oracle 18 and Oracle 19 Windows client

After upgrading from Oracle 11/12 to 18/19 I get this error: ORA-01036: illegal variable name/number.
The error occurred in a query like this:
SELECT * FROM (SELECT * FROM TABLE) MY_TABLE WHERE ROWNUM <= :P_ROWNUM
(Subquery + binding parameters)
The identical query works properly with the Oracle 11.2.0.4 or 12.1.0.2 client. It fails with the Oracle Client 18c or 19c.
PS: The Oracle Server is version 18c 64x for Windows.
I use Delphi 10.1.2 with ADO components (dbGO). I also tried with Delphi 13.3.3 but the behavior is the same.
It seems to be a problem in the Oracle OLE DB provider (ORAOLEDB).
If I don't use ADO but DevArt Unidac all worked as expected.
Someone can help me?
Max
Your query is fine. We ran into a similar issue when migrating from 12.1 to 19. In our case, we have a custom OLE DB provider that interfaces with OraOLEDB (and others) using the Microsoft OLE DB Provider Templates (ATL). When attempting to upgrade from 12.1.x to 19c we started seeing the strange and confusing "ORA-01036: illegal variable name/number" error for parameterized SELECT queries. The queries would succeed the first time they were executed but subsequent executions would fail when all we did was change the parameter value (the queries were executed sequentially). I went on a wild goose chase trying to diagnose the issue and finally decided it had to be an Oracle caching bug of some kind. Yesterday, I experimented with the cache-related connection string attributes and found that adding the MetaDataCacheSize attribute and setting its value to 0 (zero) resolved the issue for us. None of the current Oracle patches appear to address this issue, at least none of those that mention the ORA-01036 error.

Error while runneing select query in sql developer

I am using Oracle SQL Developer version 4.1.0.19.
So this can be a very simple issue but I cannot seem to find the solution anywhere as I have just started using SQL Developer.
I type in this query
create table Student(Stu_id INTEGER,Stu_name VARCHAR(60),Stu_email VARCHAR(60))
select * from Student
And when I Run the SELECT query, I get an error something like this:
Method oracle/jdbc/driver/T4CCallableStatement.isClosed()Z is abstract
I have no idea as to why this is happening , this may be very stupid but I cannot seem to find a solution.
BTW I am using Oracle 11g version.
How did you install SQL Developer? Can you download the zip off of OTN and extract it to a fresh directory and try running it from there?
Your error message indicates something VERY bad is wrong with one of the drivers. Which makes me wonder if you messed with one of the JARs or are attempting to use an old Oracle Client with a THICK connection.

SQL data extracts works in Oracle 11g but not Oracle 12c

When I execute the following SQL using TOAD against an Oracle 11g database, the fully formed XML is returned successfully:
With T As (SELECT dbms_xmlgen.getxml('SELECT m.trans_message FROM xml_nodes_ams_in a, message m WHERE a.id = m.msg_id AND a.UPN IN(''A30971016528VE8K'',''A30971016529VE84'') ORDER BY a.upn ASC'
) As output_xml from dual
) select dbms_xmlgen.Convert(output_xml,1) from T
However, when I execute the exact same SQL against our newly installed Oracle 12c database, some of the XML data appears to be missing (around 5000 characters).
I have discussed this with the DBA who reckons its a client issue rather than a database issue as he says there is no setting against the database that would cause this.
Has anyone got any advise on how I can progress this issue?
I raised a service request with Oracle and they came back to me and advised that there is a bug with the dbms_xmlgen.Convert function within Oracle 12.1 that was fixed in Oracle 12.2. Basically the function fails with XML greater than 120 KB.

Oracle compile package: table has errors

I have a big problem on my database.
I have a Oracle 9i database and a Oracle 11g database.
I have a package with a stored procedure on my 9i database. Inside a have a very simple select like :
select * from my_table_on_my_11g_database#MYDBLINK;
When I'm trying to compile the package containing this query, I have the following error :
[Error] ORA-04063 (337: 20): PL/SQL: ORA-04063: table "my_table_on_my_11g_database" has errors
When I'm trying to execute the query using Toad in a editor, it works fine.
So, I don't know what is the problem.
It's about roles, rights ?
We just installed this 11G database, before we had a 9i database and it worked fine. I'm guessing I'm missing some grants ?
Thanks for any idea.
C.C.
Finally it works. I've created a new public DBLink and it works.
It was maybe because the DBLInk was created before with the old database, I don't know.
Thanks for the answers.

Resources