As discussed in my post ORA-00600 [kpdbModAdminPasswdInRoot: not CDB] when changing password of default account There is an unpublished bug 16901482 which cause an ORA-00600 when trying to set a new password for an Oracle default account like DBSNMP, DIP or OUTLN.
On september 4th Oracle released the one-off patch 16901482 for this bug. A short test showed that the issue has been fixed with this patch. Unfortunately the patch is only available for Linux86-64.
Simple offline patch installation according the patch README.
oracle@urania:~/16901482/ [TDB12] $cdh/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./ Oracle Interim Patch Installer version 12.1.0.1.0 Copyright (c) 2012, Oracle Corporation. All rights reserved. PREREQ session Oracle Home : /u00/app/oracle/product/12.1.0.1 Central Inventory : /u00/app/oraInventory from : /u00/app/oracle/product/12.1.0.1/oraInst.loc OPatch version : 12.1.0.1.0 OUI version : 12.1.0.1.0 Log file location : /u00/app/oracle/product/12.1.0.1/cfgtoollogs/opatch/opatch2013-09-09_17-06-52PM_1.log Invoking prereq "checkconflictagainstohwithdetail" Prereq "checkConflictAgainstOHWithDetail" passed. OPatch succeeded. oracle@urania:~/16901482/ [TDB12] $cdh/OPatch/opatch apply Oracle Interim Patch Installer version 12.1.0.1.0 Copyright (c) 2012, Oracle Corporation. All rights reserved. Oracle Home : /u00/app/oracle/product/12.1.0.1 Central Inventory : /u00/app/oraInventory from : /u00/app/oracle/product/12.1.0.1/oraInst.loc OPatch version : 12.1.0.1.0 OUI version : 12.1.0.1.0 Log file location : /u00/app/oracle/product/12.1.0.1/cfgtoollogs/opatch/16901482_Sep_09_2013_17_07_24/apply2013-09-09_17-07-23PM_1.log Applying interim patch '16901482' to OH '/u00/app/oracle/product/12.1.0.1' Verifying environment and performing prerequisite checks... All checks passed. Please shutdown Oracle instances running out of this ORACLE_HOME on the local system. (Oracle Home = '/u00/app/oracle/product/12.1.0.1') Is the local system ready for patching? [y|n] y User Responded with: Y Backing up files... Patching component oracle.rdbms, 12.1.0.1.0... Verifying the update... Patch 16901482 successfully applied Log file location: /u00/app/oracle/product/12.1.0.1/cfgtoollogs/opatch/16901482_Sep_09_2013_17_07_24/apply2013-09-09_17-07-23PM_1.log OPatch succeeded. oracle@urania:~/16901482/ [TDB12] $cdh/OPatch/opatch lsinventory Oracle Interim Patch Installer version 12.1.0.1.0 Copyright (c) 2012, Oracle Corporation. All rights reserved. Oracle Home : /u00/app/oracle/product/12.1.0.1 Central Inventory : /u00/app/oraInventory from : /u00/app/oracle/product/12.1.0.1/oraInst.loc OPatch version : 12.1.0.1.0 OUI version : 12.1.0.1.0 Log file location : /u00/app/oracle/product/12.1.0.1/cfgtoollogs/opatch/opatch2013-09-09_17-08-09PM_1.log Lsinventory Output file location : /u00/app/oracle/product/12.1.0.1/cfgtoollogs/opatch/lsinv/lsinventory2013-09-09_17-08-09PM.txt -------------------------------------------------------------------------------- Installed Top-level Products (2): Oracle Database 12c 12.1.0.1.0 Oracle Database 12c Examples 12.1.0.1.0 There are 2 products installed in this Oracle Home. Interim patches (1) : Patch 16901482 : applied on Mon Sep 09 17:07:51 CEST 2013 Unique Patch ID: 16618513 Created on 4 Sep 2013, 12:02:44 hrs PST8PDT Bugs fixed: 16901482 -------------------------------------------------------------------------------- OPatch succeeded.
Simple test with DBNSMP user similar to the test in the initial post.
SQL> col username FOR a20 SQL> SELECT username,account_status,password_versions,ORACLE_MAINTAINED FROM dba_users 2 WHERE username='DBSNMP'; USERNAME ACCOUNT_STATUS PASSWORD_VER O -------------------- -------------------------------- ------------ - DBSNMP EXPIRED 10G 11G Y SQL> conn dbsnmp/dbsnmp ERROR: ORA-28001: the password has expired Changing password for dbsnmp New password: Retype new password: Password changed Connected. SQL> exit