【问题标题】:In Oracle Database 11g XE, how do I delete applications from the application builder from a deleted workspace?在 Oracle Database 11g XE 中,如何从已删除工作区的应用程序构建器中删除应用程序?
【发布时间】:2020-05-07 21:54:54
【问题描述】:

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

注意:如果我在删除工作区之前删除了示例应用程序,那么下一个新工作区将具有与示例应用程序相同的 ID,这就是为什么我相信当我不删除删除工作区之前的应用程序。

【问题讨论】:

  • 嗨,David,你很好奇——这会让你在编程中走得更远! :) 不过,尽量不要太在意这个。 APEX 应用程序存储在 APEX 架构中的许多不同表中,但只有一个父表。因此,ID 在整个实例(所有工作区)中是唯一的。 APEX 有时会缓存 ID 以防止冲突。例如,如果我们都开始在同一个应用程序中创建一个新页面,而 APEX 只查看创建的最后一个页码并添加了一个,那么我们中的一个人在向导结束时会遇到问题。所以事情没那么简单。
  • 另外,请注意 18c XE 已经推出一段时间了,如果你问我,那就更好了,Oracle 现在在他们的云中有一个免费层,它可以免费为你提供两个自治数据库。这意味着您可以专注于学习 SQL,而不必玩 DBA(尽管这也很有趣)。看到这个oracle.com/cloud/free和这个youtube.com/watch?v=kOn3HdoSs6s
  • 非常感谢丹。我现在会坚持使用 11g,因为这是我们在课堂上使用的,但是当我有足够的信心时,我会转向 18c。

标签: oracle oracle11g oracle-apex sql-delete workspace


【解决方案1】:

据我所知,一旦您删除了工作区,它的所有应用程序(以及其他所有内容 - 共享组件等)都会随之删除。示例应用程序 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>

【讨论】:

  • 谢谢,我试过了,但已删除工作区中的应用程序不显示,所以当您说有某种内部计数器时,我想您是对的。如果我有强迫症,我会尽量不要想太多,再次感谢你。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-19
  • 2013-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多