База данных псевдонимов в Oracle - PullRequest
1 голос
/ 12 декабря 2010

Если у меня настроена база данных oracle 11g, чтобы я мог получить к ней доступ с помощью

sqlplus user/pass@localhost:1521/ora11

Однако мне было интересно, можно ли установить псевдоним для доступа к ней через:

sqlplus user/pass@ora11

Я могу установить SID оракула и подключиться через

export ORACLE_SID=ora11
sqlplus user/pass

Однако, если у меня более одной базы данных, т.е. ORA10 -> oracle 10 и ORA11 -> oracle 11, тогда я быпредпочитайте подключаться как

sqlplus user/pass@ORA10
sqlplus user/pass@ORA11

вместо того, чтобы каждый раз вводить localhost или устанавливать ORACLE_SID.

Было бы также полезно сделать это, если я пытаюсь получить доступ к базам данных удаленного оракула и не хочу запоминать IP / PORT / SID каждый раз, когда я хочу подключиться.

Ответы [ 3 ]

4 голосов
/ 12 декабря 2010

Добавить запись в $ORACLE_HOME/network/admin/tnsnames.ora для каждой базы данных, к которой вы хотите подключиться:

ORA11 =
 (DESCRIPTION = 
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
   )
 (CONNECT_DATA =
   (SERVICE_NAME = ORA11)
 )
)

Теперь вы можете подключиться к этой базе данных, используя sqlplus user/pass@ORA11.

0 голосов
/ 20 ноября 2014

Я предлагаю эту запись вместо

SERVICE11 =
 (DESCRIPTION = 
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
   )
 (CONNECT_DATA =
   (SID = INSTANCE11)
 )
)

Гораздо лучше назвать ваш экземпляр и ваш сервис, подражая понятиям. Следовательно, имя SERVICE11 представляет концепцию обслуживания, а INSTANCE11 представляет концепцию экземпляра. Для обслуживания, связанного с Oracle 10g, вы можете иметь:

SERVICE10 =
 (DESCRIPTION = 
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1520))
   )
 (CONNECT_DATA =
   (SID = INSTANCE10)
 )
)

Вы должны настроить два прослушивателя, каждый из которых слушает разные значения порта. Мне кажется, вы хотите использовать несколько СУБД. Как видите, в tnsnames.ora нет базы данных. Следовательно, фраза «подключиться к базе данных» неверна.

После настройки двух прослушивателей и соответствующего файла конфигурации прослушивателя поместите запись обеих служб в tnsnames.ora на вашем клиентском хосте. Вы можете тогда

sqlplus имя пользователя / пароль @ service10 имя пользователя / пароль sqlplus @ service11

0 голосов
/ 12 декабря 2010

На стороне клиента вы можете использовать TNSNANES.ORA для этого. Но аналогично настройкам ODBC, это определяет имена только для одного клиента. Разные клиенты могут использовать разные имена.

...