Having a project branded "Magic Java Bean" with a class name com.mycompany.magicbean requires permission from Oracle, but having a project named "My alternative black magic drink SDK" with a classpath com.oracle.jdbc or java.something does not require any licence, if that particular name is required for interoperability.
TCK, despite "compatibility" in it's name, isn't required for compatibility in the legal sense (it's required to demonstrate compatibility, not as an unalienable part of any component that happens to be compatible) so it can be licenced (or not) however Sun/Oracle wishes.
Ultimately OpenJDK’s existence was what caused Harmony’s death, since the GPLv2 with Classpath Exception was a “good enough” license for the community (personal and commercial).
If this is true, then why did the Apache Harmony project have to close because it couldn't get a TCK license and so couldn't call itself Java or even Java-compatible?