Cache de sequência do Oracle

Estou tentando implementar uma sequência em um banco de dados Oracle para atuar como um criador substituto de chave para uma tabela. Por motivos de desempenho, desejo que essa sequência seja armazenada em cache. Eu li que existem armadilhas em potencial ao usar seqüências em cache, uma vez que reversões e falhas de instância resultarão em valores perdidos.

Isso me fez pensar. Digamos que eu crie uma sequência com um tamanho de cache de 100. Em seguida, insiro 50 registros na minha tabela, com o valor da sequência como a chave substituta principal. Após a confirmação, o valor atual da sequência ainda não teria sido gravado no disco. Suponha que eu tenha uma falha de instância neste momento. Quando o banco de dados voltar, entendo que o valor atual da sequência será redefinido para o último valor gravado no disco.

Se eu tentar inserir outros 50 registros na minha tabela, agora quebrarei a restrição de chave primária porque a sequência foi redefinida para seu último estado do disco e as chaves primárias agora estão sendo reutilizadas? Se for esse o caso, como eu evitaria isso?

questionAnswers(3)

yourAnswerToTheQuestion