De una respuesta en http://forums.oracle.com/forums/thread .jspa?messageID=1791550 esto podría funcionar, pero no tienes 10g para probar...
SELECT MIN(permutations)
FROM (SELECT REPLACE (SYS_CONNECT_BY_PATH (n, ','), ',') permutations
FROM (SELECT LEVEL l, SUBSTR ('&col', LEVEL, 1) n
FROM DUAL
CONNECT BY LEVEL <= LENGTH ('&col')) yourtable
CONNECT BY NOCYCLE l != PRIOR l)
WHERE LENGTH (permutations) = LENGTH ('&col')
En el ejemplo col
está definido en SQL*Plus, pero si convierte esto en una función, puede pasarlo o podría modificarlo para que tome una columna de tabla directamente, supongo.
Lo tomaría como un punto de partida en lugar de una solución; la pregunta original era sobre anagramas, por lo que está diseñado para encontrar todas las permutaciones, por lo que podría ser posible algo similar pero simplificado. Sospecho que esto no escala muy bien para valores grandes.