Requirement: 7 decimal numeric string required to
arrange in numeric sequence. 
Example:
2
2.1
2.1.1
2.1.2.3
2.1.2.3.4
2.1.2.3.4.5
2.1.2.3.4.5.6
2.1.2.3.4.5.6.7                          
Solution:
SQL
Order BY syntax:
Note: Required to replace the ‘COLUMN_NAME’ as per your requirement and add into the SQL query.
order by
        
to_number(substr( '.'||COLUMN_NAME||'.',
                  
instr( '.'||COLUMN_NAME||'.', '.', 1, 1 )+1,
                  
instr( '.'||COLUMN_NAME||'.', '.', 1, 2 )-instr( '.'||COLUMN_NAME||'.',
'.', 1, 1 )-1 ))
            nulls
first,
         to_number(substr(
'.'||COLUMN_NAME||'.',
                  
instr( '.'||COLUMN_NAME||'.', '.', 1, 2 )+1,
                  
instr( '.'||COLUMN_NAME||'.', '.', 1, 3 )-instr( '.'||COLUMN_NAME||'.',
'.', 1, 2 )-1 ))
            nulls
first,
         to_number(substr(
'.'||COLUMN_NAME||'.',
                  
instr( '.'||COLUMN_NAME||'.', '.', 1, 3 )+1,
                  
instr( '.'||COLUMN_NAME||'.', '.', 1, 4 )-instr( '.'||COLUMN_NAME||'.',
'.', 1, 3 )-1 ))
            nulls
first,
                                to_number(substr(
'.'||COLUMN_NAME||'.',
                  
instr( '.'||COLUMN_NAME||'.', '.', 1, 4 )+1,
                  
instr( '.'||COLUMN_NAME||'.', '.', 1, 5 )-instr( '.'||COLUMN_NAME||'.',
'.', 1, 4 )-1 ))
            nulls
first,
                                                to_number(substr(
'.'||COLUMN_NAME||'.',
                  
instr( '.'||COLUMN_NAME||'.', '.', 1, 5 )+1,
                  
instr( '.'||COLUMN_NAME||'.', '.', 1, 6 )-instr( '.'||COLUMN_NAME||'.',
'.', 1, 5 )-1 ))
            nulls
first,
                                                to_number(substr(
'.'||COLUMN_NAME||'.',
                   instr( '.'||COLUMN_NAME||'.', '.',
1, 6 )+1,
                  
instr( '.'||COLUMN_NAME||'.', '.', 1, 7 )-instr( '.'||COLUMN_NAME||'.',
'.', 1, 6 )-1 ))
            nulls
first,
                                                to_number(substr(
'.'||COLUMN_NAME||'.',
                   instr(
'.'||COLUMN_NAME||'.', '.', 1, 7 )+1,
                  
instr( '.'||COLUMN_NAME||'.', '.', 1, 8 )-instr( '.'||COLUMN_NAME||'.',
'.', 1, 7 )-1 ))
            nulls
first