В Oracle, как Вы изменяете базу данных 'по умолчанию'?

Я использую четыре типа операторов журнала:

  • DEBUG
  • INFO
  • WARNING
  • ERROR

Я использую DEBUG для операторов, которые хочу проверить во время сеанса отладки. Обычно это не для сборки выпуска. Здесь я проверяю значение переменной или регистрирую вход и выход метода.

Я использую INFO для строк подключения, конфигурации и общих битов информации, которые я всегда хочу видеть в журнале.

ПРЕДУПРЕЖДЕНИЕ редко используется для вещей, в которых я не уверен, или из-за потенциальных ошибок, или, возможно, даже для проверки исключения, которое, как я знаю, будет обработано в стеке.

Обычно я использую ERROR только в блоке Catch для сообщения об исключении и в ExceptionHandler, который вызывается, когда никакой другой метод не обработал исключение.

5
задан Bill the Lizard 14 October 2009 в 12:07
поделиться

4 ответа

Чтобы расширить ответ kerchingo : Oracle имеет несколько способов идентифицировать базу данных.

Лучший способ - тот, который вы всегда должны использовать - ПОЛЬЗОВАТЕЛЬ / ПАРОЛЬ @ СЕРВЕР. Это будет использовать поиск имен Oracle (tnsnames.ora), чтобы найти фактический сервер, который может находиться на другом физическом хосте при каждом подключении к нему. Вы также можете указать строку подключения Oracle как SERVER , но сделайте вид, что не можете.

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

Причина, по которой вы всегда должны использовать явную строку подключения, заключается в том, что вы не знаете, установил ли пользователь TWO_TASK , ORACLE_SID , оба или ни один; и вы не знаете, на что они могут быть настроены.

4
ответ дан 13 December 2019 в 05:37
поделиться

Я думаю, что это установлено в вашей среде, вы можете повторить $ ORACLE_SID?

1
ответ дан 13 December 2019 в 05:37
поделиться

Предполагая, что вы вошли на server1, вам нужно будет подключиться к test2, используя

sqlplus myuser/password@test2

, потому что вам нужно пройти через слушателя, чтобы добраться до server2. Строка test2 определяет запись в вашем файле tnsnames.ora, которая указывает, как подключиться к test2. Вы не сможете подключиться к другому серверу с помощью первой формы вашей команды sqlplus.

Если оба экземпляра (test1, test2) были на server1, то вы могли бы, как утверждает @kerchingo, установить переменную среды ORACLE_SID так, чтобы она указывала на другой экземпляр.

3
ответ дан 13 December 2019 в 05:37
поделиться

Defining a enviroment variable LOCAL with the tns alias of your database.

> set LOCAL=test1
> sqlplus myuser/password
> ... connected to test1
> set LOCAL=test2
> sqlplus myuser/password
> ... connected to test2

This works on windows client, not shure about other os.

2
ответ дан 13 December 2019 в 05:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: