Определение того, установлена ли база данных Oracle
-
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