이것은 실제로 Brad Rippe 의 답변에 대한 의견이어야 하지만 아쉽지만 충분한 담당자는 아닙니다. 그 대답은 나에게 90 %의 길을 얻었습니다. 필자의 경우 데이터베이스 설치 및 구성은 내가 실행중인 데이터베이스의 tnsnames.ora 파일에 항목을 넣습니다. 먼저 환경 변수를 설정하여 데이터베이스에 연결할 수있었습니다 (Windows).
set ORACLE_SID=mydatabase
set ORACLE_HOME=C:\Oracle\product\11.2.0\dbhome_1
다음을 사용하여 연결
sqlplus / as sysdba
다음으로 Brad Rippe의 답변에서 명령을 실행하십시오.
select value from v$parameter where name='service_names';
이름이 정확히 일치하지 않는 것으로 나타났습니다. 원래 Oracle의 Database Configuration Assistant를 사용하여 작성된 항목 :
MYDATABASE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = mylaptop.mydomain.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = mydatabase.mydomain.com)
)
)
쿼리의 서비스 이름은 단지 이름 mydatabase
이 아닙니다 mydatabase.mydomain.com
. 도메인 부분이없는 기본 이름으로 tnsnames.ora 파일을 편집하여 다음과 같이 표시했습니다.
MYDATABASE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = mylaptop.mydomain.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = mydatabase)
)
)
나는 TNS 리스너 서비스를 다시 시작 (I 자주 사용을 lsnrctl stop
하고 lsnrctl start
관리자 명령 창에서 [또는 Windows PowerShell은] 대신 서비스 제어판하지만 모두 작동합니다.의) 그 후, 나는 연결할 수 있었다.