Question

Je me demandais s'il y avait un moyen de savoir si une base de données Oracle est installée ou non sur un système?

Il s’agit d’un script d’installation, et j’ai besoin de vérifier qu’une base de données est déjà en place avant de charger mon propre espace de table dans cette base de données. Quelqu'un a-t-il déjà abordé ce problème?

A bientôt

Était-ce utile?

La solution

Vérifiez l'existence d'un ORACLE_HOME. Il est également raisonnable de s’attendre à ce que cet environnement soit configuré pour l’installation. Par conséquent, le test des variables d’environnement et la sortie avec un diagnostic judicieux (suggérant éventuellement qu’ils se lancent oraenv) constituent un bon début. Si vous avez configuré une variable d'environnement ORACLE_HOME, ORACLE_SID ou toute autre variable d'environnement appropriée, vous pouvez alors vérifier l'existence d'un répertoire personnel Oracle et tester la connectivité et les autorisations de la base de données.

Autres conseils

Pour Oracle 10g, sous Windows:

  • Vérifiez le registre:
    • La clé HKLM \ SOFTWARE \ ORACLE doit exister.
    • Une sous-clé doit exister:
      • porte un nom commençant par KEY _ (comme KEY_OraDb10g_home1 , la chaîne de fin étant un nom de domaine Oracle).
      • a une valeur dont le nom commence par ORA _ et se termine par _AUTOSTART . (comme ORA_XE_AUTOSTART , la chaîne du milieu étant un nom d'instance).

Attention, l'installation d'un client Oracle (sans instance de base de données), crée des entrées dans le registre et permet de définir des variables d'environnement (comme ORACLE_HOME ). C’est pourquoi le schéma ci-dessus est un peu compliqué.

Il est très probable que ce modèle fonctionne également pour Oracle 9i et éventuellement Oracle 8i.

Vous pouvez utiliser tnsping pour vérifier si le port d'écoute de la base de données est actif, ce serait une bonne indication. Sinon, pourquoi ne pas simplement faire un test de connexion? Si cela fait partie d'un processus d'installation, vous pouvez demander à l'utilisateur de saisir les informations d'identification de connexion appropriées si vous ne savez pas ce qu'elles seront à l'avance.

Recherchez dans le fichier / etc / oratab les maisons oracle. Le logiciel de base de données est installé dans ces maisons, ainsi que le nom de la base de données de cette maison. Ensuite, vous pouvez vérifier si la base de données est saine ou non.

Je ne suis pas sûr de connaître Oracle, mais pour MySQL et PostgreSql, je procède comme suit:

$yum grouplist | grep SQL

Ceci retourne:

MySQL Database client
MySQL Database server
PostgreSQL Database client
PostgreSQL Database server

Je suppose donc que vous devriez essayer:

$yum grouplist | grep Orac
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top