2010-04-08 32 views
1

Nous souhaitons déplacer notre collecte de statistiques automatisée d'un script externe vers le planificateur de travaux Oracle 9i. C'est un travail très simple, et le code ressemble fondamentalement ceci:Privilèges pour un travail de statistiques Oracle 9i

DBMS_JOB.SUBMIT( 
    JOB => <output variable>, 
    WHAT => 'DBMS_STATS.GATHER_DATABASE_STATS(
     cascade => TRUE, options => ''GATHER AUTO'');', 
    NEXT_DATE => <start date>, 
    INTERVAL => 'SYSDATE + 7'); 

Le travail est créé avec succès et fonctionne, mais échoue avec l'erreur:

ORA-12012: error on auto execute of job 25 
ORA-20000: Insufficient privileges to analyze an object in Database 
ORA-06512: at "SYS.DBMS_STATS", line 11015 
... 

La partie que je ne comprends pas est que l'utilisateur auquel j'ai soumis le travail a les bonnes permissions pour rassembler ces statistiques de base de données - si je lance la commande manuellement cela fonctionne. J'étais curieux de savoir si Oracle ignorait tout privilège basé sur les rôles que l'utilisateur avait comme il le fait avec la création de procédures, donc j'ai accordé directement à l'utilisateur ANALYZE ANY, mais toujours pas de dés.

Y a-t-il d'autres autorisations que je devrais accorder directement à l'utilisateur pour que cela fonctionne? Je préfère ne pas avoir à faire un travail séparé pour chaque schéma (ce qui fonctionne si je soumets le travail sous le propriétaire du schéma).

+0

Qu'est-ce que l'utilisateur est-ce? Un que vous avez créé spécialement pour le travail? – APC

+0

Il s'agit d'un utilisateur que nous avons créé, mais pas spécifiquement pour le travail. L'utilisateur est appelé à effectuer différents travaux dans tous ses schémas, il a donc un rôle personnalisé qui lui donne les privilèges du système pour faire à peu près tout. C'est pourquoi je pensais qu'Oracle ignorait les privilèges basés sur les rôles, car sinon le travail ne devrait pas avoir de problèmes avec un accès insuffisant. – Yoten

Répondre

0

Quelle version de 9i êtes-vous? Je me souviens avoir lu sur un fil de AskTom au sujet 9.2.0.1 ayant un problème et avoir besoin de faire une subvention sélectionner (je regarderai le fil)

En outre, depuis que vous exécutez stats DB sous-programme n'ANALYSER QUELQUE DICTIONNAIRE