Application Express :: ORA-00997 / Illegal Use Of LONG Datatype
Jul 26, 2012
I am trying to copy structure of table through database link but getting an error while running the command :
SQL> create table TOAD_PLAN as select * from TOAD_PLAN_@db_link where 1=2;
create table TOAD_PLAN_TABLE as select * from TOAD_PLAN_TABLE@to_paceview where 1=2
*
ERROR at line 1:
ORA-00997: illegal use of LONG datatype
how can i create it through database link or through any other utility.
We also face the same in oracle 9i version. we tried to re-org some tables for performance issue.But our tables have long and long raw datatype. then we approached the traditional way i.e 1. Export tables.2.Truncate tables.3.import tables.(use ignore=y).4.check the index validation.5.gather stats. Above was successfully done in our production environment.but some application downtime is required.
I've got a dblink between two Oracle databases. There are one view that I specify a join between four remote tables.
One of the tables does have a column defined as a long raw. I do not need that column; the query doesn´t make reference to it.However, when I specify the query, I get this error: ORA-00997; illegal use of LONG datatype.
"how can I accomplish this query, over a dblink, given that one table has a long raw that is not part of my query ?
I am not sure but may be I need to set long size before running above query. But when I try to set long size gives below error. "The output from DBMS_METADATA.GET_DDL is a LONG datatype. When using SQL*Plus, your output may be truncated by default. Issue the following SQL*Plus command before issuing the
DBMS_METADATA.GET_DDL statement to ensure that your output is not truncated:"SQL> SET LONG 9999error: Unhandled SET statement: "SET LONG 9999"
I have a table defined where some columns are of the datatype RAW(16). In fact these are foreign keys to other tables. Our company has a policy that all primary keys are of the datatype RAW(16). Not much I can do about that.
Now I want to retrieve all columns of a certain row in that table and just visualize the foreign keys in hex format. All values are filled out nicely, except the columns with datatype RAW(16). Is there something special I have to do to retreive and display these? I defined an item as text-field for these, but this doesn't seem to be working...
I have question related to LONG datatype. Actually from google and get to know that one table can have only one LONG datatype when i searched for reason . i got these resons:-
With 9i (I believe) and later versions, Oracle deprecates using the long datatype in favor of the lob (clob, nclob and blog) datatypes. It is only supported for backward compatibility.
Restriction:- It can not be used in create type as an attribute of the defined type.
It can not be used in where conditions.
There can be no indexes on long columns.
Regular Expression are not possible.
long can not be returned from a stored function.
SQL can not call functions that have an attribute of type long.
And even more restrictions.
So I want to know that is only reason because of that Oracle doesn't allow us to make two Column or is there any strong reason which make it more logical Like storing of data in Row blocks or some thing else.
I need to modify the column type that already has data in it, i need it change varchar to number then The datas entered have $ and , (e.g $3,200). I need the $ and , removed with column type set to numbers.
When i currently do this i get the following error:
The TABLE operation was not successful for the following reason:
ORA-01439: column to be modified must be empty to change datatype
I've tried unloading the data and loading the data using the spreadsheet, cut and past and csv file but both give me more errors, so i just want that one column modified.
I am trying to upload big files to individual table with BLOB column. During upload process after long time approx. 2h I get the following error message:
[#|2012-08-01T19:03:01.667+0200|WARNING|sun-appserver2.1|java.lang.Class|_ThreadID=27;_ThreadName=httpSSLWorkerThread-8082-2;_Reques tID=4cec5fc8-b9e1-4017-a859-8759ec1f5d37;|oracle.jdbc.driver.OracleBlobOutputStream.flushBuffer(OracleBlobOutputStream.java:236) java.io.IOException: ORA-01013: user requested cancel of current operation [code]....
I am using Glassfish Server v2.1.1 with APEX Listener v1.1.3.243.11.40...The Timeout parameters for JDBC settings in APEX Listener are default. Thus I would expect to abort earlier to be an issue of JDBC Connection?
i need to consume web services within my apex Apps, i tried sample app from here: URL....it worked, but response time is about 15 seconds, then i tried another with Google Geocode APIURL.... and again time is 15-16 seconds. It's normal response time from Apex Web Services or is there something to do.
I would need to convert the column datatype from BLOB to CLOB. currently in the table, the BLOB column has the data. the requirement is to convert this column from BLOB to CLOB datatype.
How to convert from BLOB datatype to CLOB datatype ?
I got an exception when I was using sesame adapter to dump a turtle file which contains long texts as objects into oracle semantic database. The exception information is:
org.openrdf.repository.RepositoryException: org.openrdf.sail.SailException: java.sql.SQLException: ORA-01461: can bind a LONG value only for insert into a LONG column
ORA-06512: in "SF.ORACLE_ORARDF_ADDHELPER", line 1 ORA-06512: in line 1 at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:439) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:395) at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:802) ...
resolve problem with move lob objects ? I move table partition and lob (BLOB) from one tablespace to another :
alter table EBIF.APO_T_VER_DISP_ACC_RESP MOVE PARTITION P1M20120901 LOB(SIGNATURE_PATTERN) STORE AS (TABLESPACE tmp) t able EBIF.APO_T_VER_DISP_ACC_RESP MOVE PARTITION have : pbeb_ap1.SYS>select partition_name , tablespace_name from dba_lob_partitions where table_name='APO_T_VER_DISP_ACC_RESP';
I am working with Oracle 10G, and have been working on setting up little pl/sql checks to make sure that the data that is imported is in the correct format.
The wall I have hit is removing illegal characters from the data I import. I have started to set something up where the string for a certain column must be be made of only there characters:
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-" (note that there is a - besides just letters) and I may want to add some other characters later. So basically the script will drop or replace any character not found in my definitions with "", thus removing the illegal character and joining the previous and next characters.
I thought for sure there would be a script posted somewhere online that did this but I can't find it and my syntax skills are lacking.
When I am trying to create a public synonym for a package then I am getting this error. This error tells us that non editioned object(Public Synonym) can not refenrence the editioned object(Package in this case).One of the solution provided on one of t he site is to create local synonym instaed of public synonym but I need to create public synonym only.
SQL> ALTER SYSTEM SET NLS_LANG='AMERICAN_AMERICA.AR8MSWIN1256'SCOPE=SPFILE; ALTER SYSTEM SET NLS_LANG=' PORTUGUESE_PORTUGAL.WE8MSWIN1252'SCOPE=SPFILE * ERROR at line 1: ORA-02065: illegal option for ALTER SYSTEM
I am working on a database application which works as a data access layer. The application uses OCI interface to connect and query to the Oracle Database. This application is certified on Oracle 9i and 10g client and works fine without any issue, but when I am certifying the application on Oracle 11g client, I am getting connection failed problem and following Oracle Error is displayed.
ORA-12533 illegal ADDRESS Parameter.
There is no change in the environment setting between Oracle 10g and Oracle 11g.
Following are the details of the environment
Version of Oracle 11g client is 11.1.0.6.0 Version of Oracle Database is 11.1.0.6.0. Platform - Solaris 5.9 on sparc v9
On enabling client trace with support level also does not work. It shows TNS error TNS-12533 illegal ADDRESS Parameter.
what could be the possible reasons that the connection is failing with Oracle 11g client, while the same is working with Oracle 10g client. As I said there is no environmental difference when performing this test. The only change is ORACLE_HOME setting for the corresponding Oracle client version.
I tried to create a DB link that connects to SQL server.Right now I could connect the SQL server and able to test the connection by tnsping. When I tried to create a dblink, it failed and the message shows
CREATE PUBLIC DATABASE LINK "ODBC" CONNECT TO "user" IDENTIFIED BY "" using 'hsodbc'
ORA-01741: illegal zero-length identifier
The problem is that our sql server does not have any password while identified by is a required field.
I have set the physical standby database to open read mode for a short while.
according to [URL] in order to set db in for from open read-only to applying redo data
Quote:
To change the standby database from being open for read-only access to performing Redo Apply:
Terminate all active user sessions on the standby database. Restart Redo Apply. To start Redo Apply, issue the following statement:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE 2> DISCONNECT FROM SESSION;
To enable real-time apply, include the USING CURRENT LOGFILE clause:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE 2> USING CURRENT LOGFILE;
this is what happen
SYS@ngdr> alter database recover managed standby database disconnect session; alter database recover managed standby database disconnect session * ERROR at line 1: ORA-00274: illegal recovery option SESSION SYS@ngdr> alter database recover managed standby database using current logfile;
okay since I encountered the illegal recovery options session, I decided to use alter database recover managed standby database using current logfile; now the session seems to be hanging forever.
We have integrated Oracle Access Manager 11gR1 with Oracle Apex 4.1. The OAM-Apex integration is working fine. Now we want an additional header variable to be passed from OAM to the Apex application. This new header variable will be user's sAMAccountName in Active Directory. OAM is integrated with AD and the AD users are successfully able to access the Apex applications.
The three header variables which are configure in OAM right now are: Header variable name Value 1. OAM_REMOTE_USER $user.userid 2. OAM_REMOTE_USER_EMAIL $user.attr.mail 3. OAM_REMOTE_USER_GROUPS $user.groups
We need an additional header variable as mentioned below: Header variable name: OAM_SAMACCOUNTNAME Value: $user.attr.samaccountname
The new header variable was added in the OHS server's dads.conf file like shown below: =========== dads.conf ============= ... PlsqlCGIEnvironmentList HTTP_OAM_REMOTE_USER PlsqlCGIEnvironmentList HTTP_OAM_REMOTE_USER_GROUPS PlsqlCGIEnvironmentList HTTP_OAM_REMOTE_USER_EMAIL PlsqlCGIEnvironmentList HTTP_OAM_SAMACCOUNTNAME
But we are not able to read the value of this attribute in the Apex application.On the Apex application, we have a text box which shows the value of this header variable. This textbox is attached with the following stored procedure call to fetch the header variable: =================== begin :P1_HEADER_VALUE := owa_util.get_cgi_env( 'HTTP_OAM_SAMACCOUNTNAME' ); end;
The textbox shows the correct value if HTTP_OAM_REMOTE_USER is passed to the get_cgi_env method but does not shows anything when HTTP_OAM_SAMACCOUNTNAME is passed to the same method. if I am missing some configuration to pass the HTTP_OAM_SAMACCOUNTNAME haeder variable from OAM to Apex.
I have multiple application set-up using session sharing within the workspace.Technically all works fine, however it does not play nice with user behaviour.
Example: Users logs into APP_ID:100. Since he isn't authenticated yet, he provides user/pass and the APP_SESSION is authenticated. Now if the user switches using to another application (using a link provided in application 100) he gets redirect to APP_ID:101:APP_SESSION all is fine.
The session is already authenticated, the application shares the session and the user gains access to app 101 without having to authenticate again. All's fine!
However users don't behave they way. Instead of using an easy link in the application. They will use their own bookmark or type in the url for app 101 manually. That way the next application is either called with f?p=101:1:[SOME OLD SESSIONID FROM BOOMARK] or f?p=101 (with no further page or session info) In both cases instead of using the already authenticated session apex spawns a new session, which of course isn't authenticated yet thus forcing the user to authenticate and come complaining they have to login again.
Similar behaviour problems exists when the user opens a browser and tries to open both applications in each in a tab next to each other.Both tabs fetch there own initial session id and start writing it to the same cookie each in turn invalidating the other tab's session.These can lead to some fanatic ping pong actions. Thus it's impossible to open 2 applications sharing session in the same browser.
Is there any remedy for these situations?Can apex be as smart as for instance first trying to resume the session stored in the cookie and only if that session is invalid, start a new session?