任何人都可以了解我的12c笔记本电脑安装可能出现的问题导致以下问题吗?
简而言之:我在架构中创建的所有代码都在那里并且可以执行,但不能在任何IDE中查看或编辑,也不能通过dba_source查看或编辑.
首先:虽然我有一些DBA理解,但我不是DBA,也不会是DBA.
我是Oracle开发人员.所以我在安装12c时可以做各种愚蠢的事情.
我在笔记本电脑上安装了Oracle Database 12c企业版12.1.0.1.0 64位.
1个容器数据库.
1可插拔数据库.
当我在任何IDE(pl/sql developer .sql developer,...)中登录我的可插拔数据库时,所有对象都可以在所选IDE的"浏览器"中看到.
但是,当我尝试打开(查看源代码)基于plsql的对象(如packages/procedures/functions/types)时,我不能.
触发器是一个例外.可以查看和编辑它们.
plsql developer(10.0.5.1710)告诉我(例如):"/*PACKAGE ERO $ UTL的源代码不可用*/"
sql developer(4.0.3.16)只显示我:"创建或替换".
然而,这些物体可以正常使用.
起初我以为"plsql开发者还没准备好12c"
但是后来我看到sqldev做同样的事情,所以......
我检查了数据库/ datadictionary本身.
我创建了一个简单的过程:
ERO@EVROCS>CREATE OR REPLACE PROCEDURE hi_there
2 AS
3 BEGIN
4 dbms_output.put_line ('Hello World');
5 END;
6 /
Procedure created.
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好.
它存在吗,有效吗?
ERO@EVROCS>exec hi_there
Hello World
PL/SQL procedure successfully completed.
Run Code Online (Sandbox Code Playgroud)
显然它确实如此.
现在,user_objects知道它的存在吗?
ERO@EVROCS>SELECT object_name||' - '||object_type object
2 FROM user_objects
3 WHERE object_name = 'HI_THERE';
OBJECT
-----------------------------------------------------------
HI_THERE - PROCEDURE
1 row …Run Code Online (Sandbox Code Playgroud) database plsql data-dictionary oracle-sqldeveloper oracle12c