oracle中的xs$null账号

oracle中的xs$null账号在当XML DB安装时被创建,其作为一个内部账号存在,被一些轻量级框架使用(例如APEX和XDB),该用户的名字XS$NULL被硬编码在oracle代码中,注意XS$NULL不是一个真实的用户,仅仅可以被oracle数据库实例使用。XS$NULL没有说明权限,也没有普通用户可以以XS$NULL来认证登陆,当XDB 被删除时其会被移除。

根据note < Removal Of XDB Schema In 11.2.0.4 Does NOT Drop The XS$NULL User (Doc ID 1926066.1)>来看从11.2.0.4/12c开始catnoqm.sql(XDB deinstall script) fail to drop the user XS$NULL.,即删除XDB组建也无法drop user XS$NULL账号。

 

在我的实际测试用startup upgrade,后执行

@?/rdbms/admin/catnoqm.sql

仍可以删除XS$NULL用户:

SQL> drop user XS$NULL cascade;

User dropped.

In 11.2 development explicitly added a check in the code to make sure that nobody (not even user SYS) can alter user XS$NULL. This is the expected behaviour. In release 12c this was formalized by raising the new error ORA-28222 “may not modify reserved user”.

11.2中一班也无法alter user该XS$NULL账号。 如果你确实不使用XDB组建,那么直接像我这样把XDB移除就好了。

Comment

*

沪ICP备14014813号-2

沪公网安备 31010802001379号