This content has been marked as final. Show 5 replies
Is Edit missing on tables owned by the user schema in your connection definition? If so, then that would be strange indeed. Even if the database is started in read-only mode, the Edit context menu item will still appear in that case.
On the other hand, if you are trying to access the tables via the Other Users node within your connection tree, then you will not see Edit unless you have the appropriate privilege. Searching the forum, I can see that there were bugs in the earliest releases of SQL Developer, but that was long, long ago. For example:
Edit option doesn't appear
SQL Developer Team
Edited by: Gary Graham on Feb 15, 2013 3:56 PM
Also, note that 3.2.20.09.87 is the most recent production release. There was no formal early adopter phase for 3.2, but I suppose you can consider 3.2.1 in that category and I would recommend upgrading.
I manage to resolved the issue. I re-compile all packages.
I use a script to recompile PL/SQL packages. Because compiling PL/SQL involves getting all PL/SQL within other PL/SQL procedures, you may need to run this several times to successfully compile all of the PL/SQL:
set heading off;
set feedback off;
set echo off;
Set lines 999;
'ALTER ' || OBJECT_TYPE || ' ' ||
OWNER || '.' || OBJECT_NAME || ' COMPILE;'
status = 'INVALID'
object_type in ('PACKAGE','FUNCTION','PROCEDURE')
set heading on;
set feedback on;
set echo on;
Note: You will need to drop and re-create the collection in SQL Developer for test.
Edited by: user12044420 on 18-Feb-2013 2:52 PM
It would be great if you could explain why that particular solution worked for you. You begin by complaining you could not edit tables on one instance, then state that recompiling invalid functions/procedures/packages fixed the problem. Why? I certainly have no idea.
Would it have anything to do with those tables containing virtual columns referencing some invalid code in one of the above-mentioned object types? SQL Developer 3.2.2 and earlier releases do not support creation of such columns and, I seem to recall, do not correctly display in the Edit UI such (valid) columns created outside of the tool.
Please elaborate on both the problem and the solution in order to help other users who might have a similar issue in the future.
Edited by: Gary Graham on Feb 18, 2013 3:42 PM
Also note that Compile All and Compile Invalid context menu items exist in the Connection tree for the functions, procedures, packages, and triggers nodes, so you can avoid having to write your own recompile script. Also, a Recompile Schema item is available for the connection itself.
I have edited an object with EDIT option on instence that was having no issue with eidt option. I copyed the DDL to the instance that was not showing the EIDT and when I exected it from sql worksheet, I got ORA-04063 error that led me to recompile the invalid objects. after recompile EDIT appaired and working fine.
Thank you, Sarosh. Indeed, recompiling is the standard approach when facing an ORA-04063. In my case, I always had Edit enabled on tables I owned, even if the table contained a virtual column referencing an invalid procedure. Perhaps your case was somewhat different or related to using SQL Developer 3.2.1 rather than the latest production 3.2.2 release.
When posting on these forums, it always facilitates the best response if you provide as much detail as possible when describing a problem -- things like error messages, version numbers of product, and reproducible test cases.