Oracle 12c, создает новый экземпляр и базу данных, LSNRCTL не видит службу

Я пытаюсь настроить новую базу данных на Oracle 12c. Я делал это много раз, и, на мой взгляд, я не сделал ничего плохого. Важная вещь - у меня также есть установка 11g в той же папке (продукте), поэтому для запуска f.e. sqlplus или oradim для безопасности я запускаю из каталога /BIN с «.exe» в конце.

Первый:

set ORACLE_SID=testdb
set LOCAL=testdb
new service - oradim.exe -new -sid %ORACLE_SID% -intpwd system -startmode M

в services.msc все ок - сервис появился и запустился. Далее: initdb.ora и tnsnames.ora-

testdb =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = testdb) //here i also try (SID = testdb)
    )
  )

в этом:

control_files = (C:\app\oracle\product\12.1.0\dbhome_1\dbs\control01.ora, 
                 C:\app\oracle\product\12.1.0\dbhome_1\dbs\control02.ora, 
                 C:\app\oracle\product\12.1.0\dbhome_1\dbs\control03.ora) 
undo_management = auto 
db_name         = ora10 
db_block_size       = 8192

тогда

из строки cmd с правами администратора я пробовал

sqlplus "/as sysdba"
sqlplus sys/system@testdb
sqlplus sys/system    
sqlplus /nolog -> connect sys/system as sysdba  --since local and ORACLE_SID are set

и я всегда получаю сообщение об ошибке «неизвестная служба или sid». Итак, я проверил статус lsnrctl.exe, и моего testdb там нет. Почему? :|


person Michał M    schedule 21.04.2016    source источник
comment
Вы уверены в правильной переменной среды ORACLE_HOME? Попробуйте команду tnsping testdb, и вы увидите, по крайней мере, какой файл .ora использовался   -  person hinotf    schedule 21.04.2016
comment
Используется адаптер TNSNAMES для разрешения псевдонима. Попытка контакта (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = localhost) (PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = testdb ))) OK (20 мс ) Это я уже пробовал, забыл упомянуть. :)   -  person Michał M    schedule 21.04.2016
comment
если в статусе c:\› lsnrctl нет вашей базы данных, вам, вероятно, просто нужно отредактировать ваш listener.ora в %oracle_home%\network\admin, чтобы добавить запись для вашей тестовой базы данных... Затем перезагрузите прослушиватель через: c: \› lsnrctl перезагрузить   -  person Kris Johnston    schedule 21.04.2016


Ответы (1)


попробуйте перезапустить слушателя и динамически зарегистрировать свой sid с помощью слушателя.

изменить системный набор local_listener=testdb

person Manish Badani    schedule 21.04.2016