在Oracle Database 11g XE中,如何从已删除的工作区中从application builder中删除应用程序?

在Oracle Database 11g XE中,如何从已删除的工作区中从application builder中删除应用程序?,oracle,oracle11g,oracle-apex,sql-delete,workspace,Oracle,Oracle11g,Oracle Apex,Sql Delete,Workspace,我刚刚开始学习使用Oracle Database 11g XE的SQL和数据库。我注意到在ApplicationBuilder部分下总是有一个示例应用程序,第一个工作区的应用程序ID为100。当我创建一个新的工作区时,新工作区中这个示例应用程序的ID会相应增加,所以对于我的第二个工作区,它是101,依此类推。但是如果我删除了一个工作区,而没有先删除它的应用程序,新应用程序的id仍然会增加,这让我觉得即使在我删除了工作区并删除了用户之后,应用程序仍然存在。。。它们不会出现在任何地方,甚至不会出现在

我刚刚开始学习使用Oracle Database 11g XE的SQL和数据库。我注意到在ApplicationBuilder部分下总是有一个示例应用程序,第一个工作区的应用程序ID为100。当我创建一个新的工作区时,新工作区中这个示例应用程序的ID会相应增加,所以对于我的第二个工作区,它是101,依此类推。但是如果我删除了一个工作区,而没有先删除它的应用程序,新应用程序的id仍然会增加,这让我觉得即使在我删除了工作区并删除了用户之后,应用程序仍然存在。。。它们不会出现在任何地方,甚至不会出现在管理视图中。。。如何查找和删除这些不再属于任何工作区的示例应用程序?多谢各位


注意:如果我在删除工作区之前删除了示例应用程序,那么下一个新工作区将具有与示例应用程序相同的ID,因此,如果我在删除工作区之前不删除应用程序,我认为这些应用程序仍然存在未删除的地方。

据我所知,一旦您删除了工作区,它的所有应用程序和其他所有东西(共享组件等)都会随之删除。在我看来,示例应用程序ID不断增加的事实取决于使用某种智能计数器/序列的某种内部机制,即,如果删除一个应用程序,它会减少,但是如果删除一个工作区,它不会减少。请注意,这只是我的观点,我不知道它到底是如何工作的

无论如何:要检查您当前拥有的应用程序,请以特权用户(如SYS)身份连接。首先,检查您拥有哪些Apex用户:

SQL> select * From all_users where username like 'APEX%' order by username;

USERNAME                          USER_ID CREATED
------------------------------ ---------- --------
APEX_INSTANCE_ADMIN_USER              156 01.06.17
APEX_LISTENER                         173 05.03.19
APEX_PUBLIC_USER                       86 10.10.16
APEX_REST_PUBLIC_USER                 174 05.03.19
APEX_050000                            87 10.10.16
APEX_050100                           154 01.06.17
APEX_180200                           178 08.03.19

7 rows selected.

SQL>
然后在某个Apex用户中查找应用程序;由于您使用的是11g XE,如果您没有升级Apex,我相信您拥有内置于11g XE中的Apex_040000。我没有,但我有其他版本,所以:

SQL> select workspace, application_id, application_name, owner
  2  from apex_050100.apex_applications
  3  order by application_id;

WORKSPACE       APPLICATION_ID APPLICATION_NAME               OWNER
--------------- -------------- ------------------------------ ---------------
RNAL                       100 Sample Database Application    RNAL
WEB                        101 Sample Database Application    WEB
RNAL                       129 Warehouse                      RNAL
MBUN                       130 web_service                    MBUN
ORAGIS                     131 GIS                            ORAGIS
<snip>

嗨,大卫,你很好奇-这将使你在编程方面走得更远不过,尽量不要太在意这个。APEX应用程序存储在APEX模式中的许多不同表中,但只有一个父表。因此,ID在整个实例所有工作空间中都是唯一的。APEX有时缓存ID以防止冲突。例如,如果我们都开始在同一个应用程序中创建一个新页面,并且APEX只查看创建的最后一个页码并添加了一个页码,那么我们中的一个在向导结束时就会出现问题。所以这并不是那么简单。另外,请注意,18c XE已经推出一段时间了,如果你问我,更好的是,Oracle现在在他们的云中有一个免费的层,它可以免费为你提供两个自主数据库。这意味着您可以专注于学习SQL,而不必扮演DBA角色,尽管这也很有趣。看看这个和这个,非常感谢你,丹。现在我会坚持使用11g,因为这是我们在课堂上使用的,但当我有足够的信心时,我会转移到18c。谢谢你,我尝试了这个,但是删除的工作区中的应用程序没有显示出来,所以我想你说有某种内部计数器是对的。如果我的强迫症让我失望,我会尽量不去想这些,再次谢谢你。