I'd say that these values are sorted; however, you might not be satisfied with it. Problem is probably in a fact that numbers represented with a string are sorted differently than just numbers. Here's an example:
Code:
SQL> with test as
2 (select '1.2.3' col from dual
3 union
4 select '2.1.1' from dual
5 union
6 select '12.1.1' from dual
7 )
8 select col
9 from test
10 order by col;
COL
------
1.2.3
12.1.1
2.1.1
SQL>
Although it is "obvious" that numbers are sorted as "1, 2, 12", string sort puts "12" in front of "2". Therefore, you might need to separate parts of that column (using SUBSTR and INSTR, for example), apply TO_NUMBER to the result and then sort the result.