Обнаружение, если База данных Oracle установлена - PullRequest
8 голосов
/ 20 ноября 2008

Мне было интересно, есть ли способ узнать, установлена ​​ли база данных в системе Oracle или нет?

Это для сценария установки, и мне нужно убедиться, что база данных существует, прежде чем приступить к загрузке моего собственного табличного пространства в эту базу данных. Кто-нибудь раньше решал эту проблему?

Приветствия

Ответы [ 5 ]

5 голосов
/ 20 ноября 2008

Проверьте наличие ORACLE_HOME. Также разумно ожидать, что эта среда должна быть настроена для установки, поэтому тестирование переменных среды и выход с разумной диагностикой (возможно, предполагающий, что они запускают oraenv) - это хороший первый старт. Если у вас настроены ORACLE_HOME, ORACLE_SID или другая соответствующая переменная среды, вы можете проверить наличие дома оракула и проверить подключение к базе данных и разрешения.

5 голосов
/ 20 ноября 2008

Для Oracle 10g, в Windows:

  • Проверьте реестр:
    • Ключ HKLM\SOFTWARE\ORACLE должен существовать.
    • Должен существовать подключ, который:
      • Имеет имя, начинающееся с KEY_ (например, KEY_OraDb10g_home1, конечная строка - домашнее имя Oracle).
      • Имеет значение, имя которого начинается с ORA_ и заканчивается _AUTOSTART. (например, ORA_XE_AUTOSTART, средняя строка - имя экземпляра).

Осторожно, устанавливая клиент Oracle (без экземпляра базы данных), создает записи в реестре и может устанавливать переменные среды (например, ORACLE_HOME). Вот почему приведенный выше шаблон немного сложен.

Этот шаблон, скорее всего, будет работать и для Oracle 9i, и, возможно, для Oracle 8i.

4 голосов
/ 20 ноября 2008

Вы можете использовать tnsping, чтобы проверить, активен ли прослушиватель базы данных, что было бы хорошим показателем. Кроме этого, почему бы просто не сделать тестовое соединение? Если это часть процесса установки, вы можете предложить пользователю ввести соответствующие учетные данные подключения, если вы не знаете, какими они будут заранее.

0 голосов
/ 10 января 2013

Я не уверен насчет Oracle, но для MySQL и PostgreSql я делаю следующее:

$yum grouplist | grep SQL

Возвращает:

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

Итак, я полагаю, вы должны попробовать:

$yum grouplist | grep Orac
0 голосов
/ 12 декабря 2008

Найдите файл / etc / oratab для oracle home. В этих домах установлено программное обеспечение базы данных, а также имя базы данных из этого дома. Затем вы можете проверить, является ли база данных надежной или нет, запустив ее.

...