Numéros de séquence de base de données

Sterling Selling and Fulfillment Foundation utilise des numéros de séquence de base de données Oracle pour générer rapidement des numéros uniques.

Si vous effectuez une mise à niveau depuis des versions antérieures à Yantra 5x 5.0 SP2, vérifiez que la séquence seq_yfs_task_key est créée avec le paramètre NOORDER. Si l'option ORDER est activée, RAC désactive l'option CACHE.

La commande SQL de création d'une séquence est la suivante :

   create sequence seq_yfs_table_key
   increment by 1 start with 1
   maxvalue 9999999999
   minvalue 1
   cycle
   cache 500 noorder ;
   

Dans cet exemple, l'option CACHE pré-alloue et stocke 500 numéros de séquence dans le SGA de l'instance pour un accès rapide. Lorsque ces numéros de séquence sont utilisés, Oracle pré-alloue un autre groupe de numéros de séquence. L'option CACHE doit être définie sur une valeur permettant de satisfaire des demandes de séquence d'une ou deux secondes au cours de la période de pointe si la mémoire est critique sur le plan des performances (voir Oracle 11g SQL Reference et Oracle 11g Real Application Cluster (RAC) Administration).

Par exemple, si le cache de séquence est défini sur 500, la table last_sequence_number in user_sequences ne doit pas dépasser 500 par intervalle de deux secondes ou 15 000 par minute. Vous devez surveiller régulièrement cette valeur pendant les périodes de pointe.

L'option NOORDER permet à chaque instance RAC de pré-allouer son propre groupe de numéros de séquence. L'option NOORDER est activée par défaut. Si l'option NOORDER est désactivée (ou si l'option ORDER est sélectionnée), Oracle désactive l'option CACHE.

L'activation de l'option CACHE (avec une valeur suffisamment élevée) et de l'option NOORDER est critique pour les performances RAC d'Oracle.

Pour vérifier si l'option ORDER est désactivée, exécutez la commande suivante :

   select sequence_name, order_flag, cache_size,last_number
   from user_sequences
   where sequence_name = 'SEQ_YFS_TABLE_KEY'
   

Si ORDER_FLAG est défini sur "N", l'option NOORDER est activée :

   SEQUENCE_NAME ORDER_FLAG CACHE_SIZE LAST_NUMBER
   ------------------------------ ---------- ---------- -----------
   SEQ_YFS_TABLE_KEY N 500 422838694