我刚刚开始使用Oracle Database 11g XE学习SQL和数据库。我注意到在“应用程序生成器”部分下始终有一个示例应用程序,第一个工作区的application_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,那么我相信您拥有APEX_040000
(内置在11g XE中)。我没有它,但是我有其他版本,所以:
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>