Exécuter/exécuter plusieurs procédures en Parallèle - Oracle PL/SQL

J'ai une table d'Activité qui se fait de toute la table des événements du système. Des événements comme les nouvelles commandes, à l'insertion/suppression sur toutes les tables système sera inséré dans ce tableau. Ainsi, l'absence d'événements/sec est vraiment énorme pour table d'Activité.

Maintenant, je veux processus de la réception d'événements basés sur la logique métier en fonction de la table des responsables de l'éducation de l'événement. Chaque table peut avoir différents procédure pour le traitement.

J'ai utilisé le même lien
La parallélisation des appels en PL/SQL

Comme une solution, j'ai créé plusieurs dbms_scheduler emplois qui seront appelées en même temps. Tous ces emplois (JOB1, JOB2--- - -JOB10) auront la même procédure (ProcForAll_Processing) comme JOB_ACTION pour réaliser le traitement en parallèle.

begin
    dbms_scheduler.run_job('JOB1',false);
    dbms_scheduler.run_job('JOB2',false);
  end; 

ProcForAll_Processing: Cette procédure appellera à son tour 6 autres procédures
Proc1,proc2,proc3 --- -- - -- - Proc6 de façon séquentielle. Je veux réaliser un traitement en parallèle de ces derniers aussi bien.

P. S: On ne peut pas créer plus d'emplois pour atteindre le traitement parallèle dans ProcForAll_Processing proc car il peut conduire à consommer plus de ressources et de DBA n'est pas d'accord pour la création d'emplois supplémentaires. Aussi, je ne peux pas utiliser
dbms_parallel_execute pour le traitement en parallèle.

Merci de m'aider car je suis vraiment coincé pour le faire

  • Il serait préférable de déplacer tout le multithreading à un autre endroit dans l'application (frontend, de niveau intermédiaire). Presque tous les langages OOP support de multithreading.
  • à l'aide de la programmation orientée objet du langage n'est pas possible ici que tous les travaux effectués dans la base de données uniquement. Même la sortie est envoyé par l'intermédiaire de l'appel de service web à niveau en DB.
  • Dans ce cas, vous pouvez essayer de s'adapter Producteur-Consommateur modèle de conception avec une certaine limitation de la taille de la File d'attente et le nombre de comme un fil d'emplois, de ne pas créer trop de charge sur votre base de données.
  • Je suis en utilisant le fil comme des emplois, mais le pas de. de producteurs événements est si grande que je ne peux pas créer un grand nombre d'emplois pour les consommateurs. J'ai pensé à créer 10 emplois initialement, mais dans ce cas la pas de manifestations pour le 1er emploi est grande de sorte que je veux réaliser en parallèle des processus à l'intérieur du niveau d'emploi en tant que bien, mais je ne peux pas créer des emplois plus loin dans le travail d'action de la procédure.
  • Bien. L'option la plus simple semble être de l'écriture de certains simple multithreading application en Java/C# à l'aide de JDBC. Il ne devrait pas être difficile, même si vous êtes un développeur back-end. Ici vous avez quelques exemples simples de Consommateur-Producteur implémentations tutorialspoint.com/javaexamples/thread_procon.htm, caveofprogramming.com/java-multithreading/... en plus de certains JDBC tutoriels tutorialspoint.com/jdbc/index.htm, docs.oracle.com/javase/tutorial/jdbc/basics.