Não tendo encontrado nenhum método da Oracle que cumprisse o propósito, escrevi um procedimento.
Para quem tiver a mesma necessidade e ainda não possua um método melhor de o fazer, deixo aqui uma cópia do procedimento:
/**
* Altera o valor de uma sequência
*
* @criacao 2006-05-15 Adriano Teixeira
* @param pv_nome_seq Nome da sequência a ser alterada
* @param pi_valor_inicial Valor que desejamos colocar na sequência
**/
PROCEDURE seq_reset (
pv_nome_seq IN VARCHAR2,
pi_valor_inicial IN PLS_INTEGER
)
AS
li_val PLS_INTEGER;
lv_inc_by VARCHAR2 (15);
li_increment_by PLS_INTEGER;
BEGIN
-- Guarda o valor do INCREMENT BY
EXECUTE IMMEDIATE 'SELECT increment_by FROM user_sequences WHERE sequence_name = '
|| pv_nome_seq INTO li_increment_by;
EXECUTE IMMEDIATE 'ALTER SEQUENCE ' || pv_nome_seq || ' MINVALUE 0';
EXECUTE IMMEDIATE 'SELECT ' || pv_nome_seq || '.NEXTVAL FROM dual'
INTO li_val;
-- Verificar qual o deslocamento necessário para se chegar ao valor desejado
li_val := li_val - pi_valor_inicial + 1;
-- Tratar a possibilidade de ser necessário colocar valores negativos
IF li_val < 0
THEN
lv_inc_by := ' INCREMENT BY ';
li_val := ABS (li_val);
ELSE
lv_inc_by := ' INCREMENT BY -';
END IF;
EXECUTE IMMEDIATE 'ALTER SEQUENCE ' || pv_nome_seq || lv_inc_by
|| li_val;
EXECUTE IMMEDIATE 'SELECT ' || pv_nome_seq || '.NEXTVAL FROM dual'
INTO li_val;
-- Colocar o Increment no valor desejado de novo
EXECUTE IMMEDIATE 'ALTER SEQUENCE ' || pv_nome_seq || ' INCREMENT BY '
|| TO_CHAR(li_increment_by);
END seq_reset;