мы запускаем сервер Oracle (12C). Мы хотим протестировать разнородные сервисы.
Я создал новую виртуальную машину, используя резервную копию производственного сервера, дал ей новый MAC-адрес и IP-адрес. Я обновил MAC-адрес в /etc/sysconfig/network-scritps/ifcfg-eth0
, сделал start_udev
, а затем service network restart
. Это дало мне сеть.
Я дал ему имя хоста myServerName-test.local, а также запись DNS для того же адреса.
Затем я изменил $ORACLE_HOME/network/admin/tnsnames.ora
, чтобы иметь обновленный хост.
Для переменной env ORACLE_SID
ничего не установлено, хотя запуск set ORACLE_SID="RECORDSDB"
не меняет ее, что, как мне кажется, для меня проблема.
Я запустил ./bin/lsnrctl
и выполнил команду reload
, хотя она все еще пытается подключиться к производственному серверу. Как изменить этот параметр конфигурации?
Когда я пытаюсь запустить ./bin/sqlplus
с правильным именем пользователя и паролем, он говорит - "ERROR: ORA-12162: TNS:net service name is incorrectly specified"
.
Каковы мои действия, чтобы решить эту проблему? Я также перезагрузил его много, так что это ничего не поможет. Спасибо, Гарри.
редактировать: добавление моего файла tnsnames.ora;
RECORDSDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = myHostname-test.ap.local)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = recordsdb.local)
)
)
edit 2: добавлен вывод tnsping
[oracle@ap-ora-records-test dbhome_1]$ ./bin/tnsping 192.168.1.150
TNS Ping Utility for Linux: Version 12.1.0.1.0 - Production on 20-AUG-2014 10:11:54
Copyright (c) 1997, 2013, Oracle. All rights reserved.
Used parameter files:
/u01/app/oracle/product/12.1.0/dbhome_1/network/admin/sqlnet.ora
Used EZCONNECT adapter to resolve the alias
Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.150)(PORT=1521)))
TNS-12541: TNS:no listener
Я помню, как читал об утилите, которую я мог бы использовать для сортировки чего-то подобного, она называлась netmgr, хотя для нее требовался xserver, который у меня не установлен. Полезно ли это для решения проблемы?
редактировать 3: вывод состояния lsnrctl
[oracle@ap-ora-records-test dbhome_1]$ ./bin/lsnrctl status
LSNRCTL for Linux: Version 12.1.0.1.0 - Production on 21-AUG-2014 11:34:44
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=myProductionServer.local)(PORT=1521)))
TNS-01189: The listener could not authenticate the user
TWO_TASK
не было установлено, поэтому я также установил RECORDSDB
, что изменило мою ошибку при попытке использовать sqlplus на ORA-12541: TNS:no listener
.
редактировать 4:
Поэтому изначально я изменил имя хоста на $ORACLE_HOME/network/admin/tnsnames.ora
, а не на /u01/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora
, так как не знал, что оно существует. Это результат lsnrctl reload
[oracle@ap-ora-records-test dbhome_1]$ ./bin/lsnrctl reload
LSNRCTL for Linux: Version 12.1.0.1.0 - Production on 21-AUG-2014 11:41:25
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=myDevMachine.local)(PORT=1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused
Итак, я все еще получаю сообщение об ошибке «нет слушателя», но теперь я получаю его дважды?
При попытке подключиться к sqlplus
я все еще получаю ORA-12541: TNS:no listener
.
Редактировать 5:
Я думал, что перезагрузка запустит его, я думаю, нет. Это просто перезагружает конфигурацию?
Запуск /u01/app/oracle/product/12.1.0/dbhome_1//bin/tnslsnr: подождите...
TNSLSNR for Linux: Version 12.1.0.1.0 - Production
System parameter file is /u01/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/product/12.1.0/dbhome_1/log/diag/tnslsnr/ap-ora-records-test/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ap-ora-records-test.ap.local)(PORT=1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 12.1.0.1.0 - Production
Start Date 21-AUG-2014 13:00:24
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/product/12.1.0/dbhome_1/log/diag/tnslsnr/ap-ora-records-test/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ap-ora-records-test.ap.local)(PORT=1521)))
The listener supports no services
The command completed successfully
См. ниже мои файлы конфигурации TNSNAMES.ora и LISTENER.ora, однако я не удалял фактическое имя хоста, это то, что я использовал все это время.
myHostname-test.ap.local
и 192.168.1.150 одним и тем же, и у вашей виртуальной машины несколько IP-адресов? На каком адресе/порте находится слушатель, если он вообще работает? Что показываетlsnrctl status
? Вы указываете этот псевдоним TNS как часть команды SQL*Plus или он определен в TWO_TASK? - person Alex Poole   schedule 20.08.2014lsnrctl start
после изменения адреса вlistener.ora
? - person Alex Poole   schedule 21.08.2014