修为安全审计的原因,发现数据库中有一个XS$NULL用户,尝试为其修改密码,发现报错。即使是sys用户也无法修改XS$NULL用户的密码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
SQL> --11.2.0.4 SQL> alter user XS$NULL identified by oracle; alter user XS$NULL identified by oracle * ERROR at line 1: ORA-01031: insufficient privileges SQL> --12.1.0.2 SQL> alter user XS$NULL identified by oracle; alter user XS$NULL identified by oracle * ERROR at line 1: ORA-28222: may not modify reserved user SQL> |
在线文档说,这是一个内部的保留账户,它不是一个user,只允许oracle实例访问,无法通过外部的方式访问。
Cannot Alter User XS$NULL (Doc ID 1325766.1) 这个文档也说明了这个问题。
所以,xs$null是不能进行alter操作的.这是oracle的预期行为。
只是在11.2.0.2的时候,由于bug 12822989,使得可以通过password命令修改。但是这个bug在11.2.0.4上已经不存在了。
1 2 3 4 5 6 7 |
SQL> --11.2.0.2 SQL> password xs$null Changing password for xs$null New password: Retype new password: Password changed SQL> |
参考:
Doc ID 1325766.1