Определение того, установлена ли база данных Oracle

StackOverflow https://stackoverflow.com/questions/304960

  •  08-07-2019
  •  | 
  •  

Вопрос

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

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

Ваше здоровье

Это было полезно?

Решение

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

Другие советы

Для Oracle 10g, на Windows :

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

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

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

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

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

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

$yum grouplist | grep SQL

Это возвращает:

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

Поэтому я предполагаю, что вы должны попробовать:

$yum grouplist | grep Orac
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top