Я использую четыре типа операторов журнала:
Я использую DEBUG для операторов, которые хочу проверить во время сеанса отладки. Обычно это не для сборки выпуска. Здесь я проверяю значение переменной или регистрирую вход и выход метода.
Я использую INFO для строк подключения, конфигурации и общих битов информации, которые я всегда хочу видеть в журнале.
ПРЕДУПРЕЖДЕНИЕ редко используется для вещей, в которых я не уверен, или из-за потенциальных ошибок, или, возможно, даже для проверки исключения, которое, как я знаю, будет обработано в стеке.
Обычно я использую ERROR только в блоке Catch для сообщения об исключении и в ExceptionHandler, который вызывается, когда никакой другой метод не обработал исключение.
Чтобы расширить ответ kerchingo : Oracle имеет несколько способов идентифицировать базу данных.
Лучший способ - тот, который вы всегда должны использовать - ПОЛЬЗОВАТЕЛЬ / ПАРОЛЬ @ СЕРВЕР
. Это будет использовать поиск имен Oracle (tnsnames.ora), чтобы найти фактический сервер, который может находиться на другом физическом хосте при каждом подключении к нему. Вы также можете указать строку подключения Oracle как SERVER
, но сделайте вид, что не можете.
Также есть два способа указать сервер по умолчанию с помощью переменных среды. Первый - TWO_TASK
, который использует поиск по именам, а второй - ORACLE_SID
, который предполагает, что сервер работает на текущей машине. ORACLE_SID
имеет приоритет над TWO_TASK
.
Причина, по которой вы всегда должны использовать явную строку подключения, заключается в том, что вы не знаете, установил ли пользователь TWO_TASK
, ORACLE_SID
, оба или ни один; и вы не знаете, на что они могут быть настроены.
Я думаю, что это установлено в вашей среде, вы можете повторить $ ORACLE_SID?
Предполагая, что вы вошли на server1, вам нужно будет подключиться к test2, используя
sqlplus myuser/password@test2
, потому что вам нужно пройти через слушателя, чтобы добраться до server2. Строка test2 определяет запись в вашем файле tnsnames.ora, которая указывает, как подключиться к test2. Вы не сможете подключиться к другому серверу с помощью первой формы вашей команды sqlplus.
Если оба экземпляра (test1, test2) были на server1, то вы могли бы, как утверждает @kerchingo, установить переменную среды ORACLE_SID так, чтобы она указывала на другой экземпляр.
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.