Primeiro, acho que você tem poucos discos no array. O 1200IOPS pode ser facilmente suportado em 12 discos giratórios (100 IOPS por disco é muito razoável). Se o cache não puder manipulá-lo, isso significa que sua taxa de gravação sustentada de 1200 IOPS é muito maior do que os seus discos podem suportar.
De qualquer forma, o SSD para redo logs provavelmente não ajudará. Primeiro, a sua sessão espera principalmente na instrução COMMIT? Verifique os principais eventos de espera no statspack / AWR para verificar. Eu acho que ~ 95% do seu I / O não é para os logs refazer. Por exemplo, uma inserção de linha única em uma tabela com 5 índices pode fazer 1 E / S para ler um bloco de tabela (que possui espaço para a linha), ler 5 blocos de índice (para atualizá-los), gravar 1 bloco de dados, 1 desfazer bloco e 5 blocos de índice (ou mais, se os blocos não folha forem atualizados) e 1 bloco refazer. Então, verifique statspack e veja seus eventos de espera, você provavelmente está esperando muito por READs e WRITEs por dados / índices. A espera por leituras desacelera o INSERT, e a atividade WRITE torna os READs ainda mais lentos - são os mesmos discos (BTW - você realmente precisa de todos os índices? Soltar os que não devem ter acelerará as inserções).
Outra coisa a verificar é a definição de RAID - RAID1 (espelhamento - cada gravação é de duas gravações) ou RAID 5 (cada gravação é de 2 leituras e duas gravações para cálculo de soma de verificação). O RAID 5 é muito mais lento em carga intensiva de gravação.
BTW - se os discos não puderem abranger a carga de gravação, o DBWR será um gargalo. Sua SGA estará cheia com blocos sujos e você não terá espaço para ler novos blocos (como blocos de índice que precisam ser processados / atualizados) até que a DBWR possa gravar alguns blocos sujos nos discos. Novamente, verifique statspack / awr report / addm para diagnosticar qual é o gargalo, normalmente baseado nos 5 principais eventos de espera.