ORA-12514 TNS : listener가 현재 접속 설명자에서 요청한 서비스를 모릅니다


226

다음 오류가 발생하는 로컬에서 실행중인 응용 프로그램이 있습니다.

ORA-12514 : TNS : listener가 현재 접속 설명자에서 요청한 서비스를 알지 못합니다

TNSPing올바르게 해결 된 연결을 테스트하고 연결 SQLPlus을 시도 했지만 위와 동일한 오류로 실패했습니다. 이 구문을 SQLPlus다음 용도로 사용했습니다 .

sqlplus username/password@addressname[or host name]

우리는 다음을 확인했습니다.

  • 서버에서 TNS 리스너가 실행 중입니다.
  • 서버에서 Oracle 자체가 실행 중입니다.

우리는이 환경에 어떤 변화가 있었는지 모른다. 우리가 테스트 할 수있는 다른 것이 있습니까?


2
사용한 TNSPing 명령 (params 포함)이란 무엇입니까?
Grzegorz W

"로컬로 실행"이라고 말하면 응용 프로그램이 동일한 호스트의 데이터베이스에 연결되어 있다는 의미입니까? 또한 sqlnet.ora 파일의 내용은 무엇입니까? sqlplus 및 tnsping에 대해 어떤 버전이보고되며 동일한 ORACLE_HOME에 있는지 확인 하시겠습니까?
David Aldridge

1
데이터베이스를 다시 시작하십시오. 시작시 존재에 대해 리스너에게 알리기 때문에 문제를 해결할 수 있습니다.
Jens Schauder

1
ALTER SYSTEM REGISTER는 데이터베이스를 다시 시작하는 것보다 덜 과감합니다.
DCookie

답변:


209

나는이 문제가 있었고 수정은 데이터베이스에서 유효한 서비스 이름 인지 확인 tnsnames.ora하는 SERVICE_NAME것이 었습니다 . 유효한 서비스 이름을 찾으려면 oracle에서 다음 쿼리를 사용할 수 있습니다.

select value from v$parameter where name='service_names'

내가 업데이트 한 tnsnames.ora후 :

TEST =
   (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = *<validhost>*)(PORT = *<validport>*))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = *<servicenamefromDB>*)
    )
)

그런 다음 나는 달렸다.

sqlplus user@TEST

성공! 리스너는 기본적으로 사용중인 service_name이 DB에 따라 유효한 서비스가 아니라고 알려줍니다.

(* Win7 클라이언트 워크 스테이션에서 원격 DB로 sqlplus를 실행하고 DBA를 비난했습니다.) *)


2
win7에서 % ORACLE_HOME % \ NETWORK \ ADMIN \ tnsnames.ora
Brad Rippe

198
DB에 연결할 수없는 경우 어떻게 DB를 쿼리해야합니까?
isabelle martz

2
DB 서버로 직접 ssh하고 거기에서 sqlplus를 실행할 수 있습니까?
Brad Rippe

1
여러 클라이언트 / 서버가 동일한 시스템에 설치되어 있거나 사용 된 경우에는 그렇지 않을 수 있습니다. (tnsping은 사용하는 디렉토리의 위치를 ​​출력합니다)-필자의 경우, 해당 디렉토리의 listener.ora에는 제거한 이전 데이터베이스 인스턴스와 관련된 정보가 포함되어 있습니다. 빠르고 더러운 방법은 listener.ora의 전체 내용을 복사하는 것이 었습니다. 리스너가 확인하고있는 다른 디렉토리에 Oracle Express를 현재 설치 한 경우 (레지스트리 또는 기타를 통해 변경 한 것으로 생각되며 ORACLE_HOME (?)보다 우선 함)
hello_earth

8
ORA-00942 : 테이블 또는 뷰가 존재하지 않습니다
Tommy Holman

44

나는 이것이 오래된 질문이지만 여전히 답이 없다는 것을 알고 있습니다. 하루 동안의 연구가 필요했지만 적어도 내 경우 (Windows 2008 R2의 Oracle 11.2)에서 가장 간단한 솔루션을 발견하고 공유하고 싶었습니다.

직접 보면 오류는 리스너가 서비스 이름을 인식하지 못함을 나타냅니다. 그러나 서비스 이름은 어디에 유지됩니까? 에%ORACLE_HOME%\NETWORK\ADMIN\listener.ora

"SID_LIST"는 복사 또는 조회 할 수있는 형식으로 SID와 서비스 이름 목록이 결합 된 것입니다.

Service Name 문제를 추가 한 다음 Windows "Services"제어판에서 Oracle 리스너 서비스에 대해 "Restart"를 수행했습니다. 이제 모든 것이 잘되었습니다.


예를 들어 listener.ora 파일은 처음에 다음과 같습니다.

# listener.ora Network Configuration File: C:\app\oracle_user\product\12.1.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\app\oracle_user\product\12.1.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:C:\app\oracle_user\product\12.1.0\dbhome_1\bin\oraclr12.dll")
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

... 및 서비스 이름을 인식하기 위해 다음과 같이 orcl변경할 수 있습니다.

# listener.ora Network Configuration File: C:\app\oracle_user\product\12.1.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\app\oracle_user\product\12.1.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:C:\app\oracle_user\product\12.1.0\dbhome_1\bin\oraclr12.dll")
    )
    (SID_DESC = 
        (GLOBAL_DBNAME = orcl)
        (ORACLE_HOME = C:\app\oracle_user\product\12.1.0\dbhome_1)
        (SID_NAME = orcl)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

3
listener.ora이름을 저장하는 방법의 구문으로이 답변을 업데이트해야 합니다. 나는 심지어 listener.ora파일 이 없다 . 또한 SQL Developer를 실행하고 오류가 발생했을 때 데이터베이스 링크를 만들려고하는 클라이언트 워크 스테이션에 있습니다. 다시 시작할 Oracle Listener 서비스가 없습니다.
vapcguy

vapcguy, 당신은 데이터베이스 서버에 있어야합니다. 그것은 당신이 클라이언트에있는 것처럼 들린다
Joseph Argenio

Net Manager와 관련된 Sepideh의 지시에 따라 listeners.ora 파일이 새로운 SID_LIST 항목을 포함하도록 업데이트 된 것을 알 수있었습니다. Net Manager를 사용할 수없는 독자를 위해 어떤 이유로 든 구문의 전후 예제를 포함하도록이 답변을 편집했습니다.
케빈

12

Windows Server 2008 R2Oracle 11g 에서이 문제가 발생했습니다.

Netbox> 리스너로 이동하여 combox에서 데이터베이스 서비스 선택> "글로벌 데이터베이스 이름"이 "SID"와 같아야하고 "Oracle 홈 디렉토리"가 정확해야합니다.

데이터베이스 서비스에 대한 항목이없는 경우 하나를 작성하고 올바른 글로벌 데이터베이스 sid및 Oracle 홈을 설정하십시오 .


12

내 상황에서 오류는 리스너가 db의 서비스를 등록하지 않았기 때문에 발생했습니다. 서비스를 등록하여이 문제를 해결했습니다. 예:

내 설명자 tnsnames.ora:

LOCALDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = LOCALDB)
    )
  )

따라서 listener.ora수동으로 서비스를 등록합니다 .

SID_LIST_LISTENER =
    (SID_DESC =
      (GLOBAL_DBNAME = LOCALDB)
      (ORACLE_HOME = C:\Oracle\product\11.2.0\dbhome_1)
      (SID_NAME = LOCALDB)
    )

마지막으로 다음 명령으로 리스너를 다시 시작하십시오.

> lsnrctl stop
> lsnrctl start

끝난!


8

services.msc에서 OracleServiceXXX를 시작하면 Windows에서 저에게 효과적이었습니다.


Windows에서 Oracle Release 12.x를 사용중인 경우 OracleServiceORCL 서비스가 실행 중인지 확인하십시오. 이 서비스가 시작되지 않으면 동일한 오류 코드가 나타납니다.
street hawk

5

이것은 실제로 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은] 대신 서비스 제어판하지만 모두 작동합니다.의) 그 후, 나는 연결할 수 있었다.


4

나는 같은 문제가 있었다. 나를 위해, 그냥 쓰기

sqlplus myusername/mypassword@localhost

트릭을 수행하면 기본 서비스 이름에 연결됩니다.


1
이 오류를 일으키는 연결 문자열과 비슷한 문제가있었습니다. 연결 문자열이있는 Oracle JDBC 씬 드라이버를 사용하여 연결했습니다 : jdbc:oracle:thin:@//localhost:1521/orcl. 이 오류를 제거하기 위해 수정 된 연결 문자열은 다음과 같습니다 jdbc:oracle:thin:@localhost:1521.
dan

이것이 작동하는지 여부에 달려 있습니다. 다른 사람들의 말을 판단하여 SID 대신 컴퓨터 호스트 이름을 사용하여 리스너를 완전히 우회하는이 연결 방법이라고 생각합니다.이 연결 방법은 타사 클라이언트에서 문제를 일으 킵니다. 또한 EZCONNECT가 sqlnet.ora에 지정된 경우에만 작동합니다. NAMES.DIRECTORY_PATH = (TNSNAMES, EZCONNECT)
hello_earth

3

나를 위해 일한 것은 정말 간단했습니다. "Windows Services"(cmd trompt의 services.msc)에서 수동으로 서비스를 시작해야했습니다. 내 서비스 이름은 OracleServiceXXXXX입니다.


필자의 경우 Startup Type이 Automatic으로 설정되어 있지만 시스템 부팅시 시작되지 않습니다. "OracleServiceXE"서비스를 수동으로 시작한 후 Oracle Database 11g Express에서 DB 및 APEX (Oracle Application Express) 웹 페이지에 연결합니다.
Ivan Chau

2

데이터베이스가 작동 중인지 확인하십시오. 서버에 로그온하고 ORACLE_SID 환경 변수를 데이터베이스 SID로 설정 한 후 로컬 연결로 SQL * Plus를 실행하십시오.


이것은 정확히 내 문제였습니다. DP를 사용하는 다른 프로그램을 사용하려고 시도하는 동안 다운 된 VM에서 데이터베이스가 호스팅됩니다. 이 실을 본 ​​후에 아마 다운되었을 것임을 깨달았습니다.
Sh4d0wsPlyr

2

이 오류는 응용 프로그램이 모든 데이터베이스 상호 작용에 대해 새 연결을 작성하거나 연결이 올바르게 닫히지 않을 때 발생할 수 있습니다. 이를 모니터링하고 확인하는 무료 도구 중 하나는 Oracle Sql 개발자입니다 (DB 세션을 모니터링하는 데 사용할 수있는 유일한 도구는 아님).

오라클 사이트 Sql Developer 에서 도구를 다운로드 할 수 있습니다.

다음은 세션을 모니터링하는 방법의 스크린 샷입니다. (ORA-12514 오류가 표시 될 때 응용 프로그램 사용자를 위해 많은 세션이 누적되는 경우 연결 풀 문제가 있음을 나타내는 좋은 증거입니다).

여기에 이미지 설명을 입력하십시오


2

/ etc / hosts 파일에서 내 컴퓨터의 IP를 업데이트하는 Linux 환경 에서이 문제를 해결했습니다.

다음을 사용하여 네트워크 IP (완료)를 확인할 수 있습니다.

$ifconfig

IP가 / etc / hosts 파일과 일치하는지 확인하십시오.

$cat /etc/hosts

nedded 경우 / etc / hosts 파일을 편집하십시오.

$sudo gedit /etc/hosts

안녕.


2
이것은 오래되었지만 / etc / hosts에 IP를 추가하는 것은 의미가 없습니다. OP에 SERVICE_NAME이 (가) 없습니다. 다른 항목과는 관련이 없습니다.
Ostap

IP를 / etc / host에 추가하지 않았습니다. 방금 수정했습니다. 이 주제에서 볼 수 있듯이이 질문을 해결하기위한 많은 유효한 (답변 된) 답변과 품종이 있습니다. 그 대답이 도움이되지 않는다면 왜 다운 보트를합니까? 이 답변은 여전히 ​​도움이 된 누군가에게 도움이 될 수 있습니다.
Sergio MC Figueiredo

2

VM에서 Oracle을 실행중인 사용자 (예 : 나와 같은)의 경우 VM에 메모리가 부족하여 OracleDB가 올바르게 시작 / 실행되지 못하게했기 때문에이 문제가 발생했습니다. 내 VM 메모리를 늘리고 다시 시작하면 문제가 해결되었습니다.


2

여기에 많은 답변이 있지만 여기에 즉시 복사하여 붙여 넣기 및 테스트 할 수있는 코드가있는 실제 예제가 있습니다.

나를 위해 올바른 SERVICE_NAME을 지정한 후 오류 12514가 해결되었습니다. 서버에서 tnsnames.ora3 개의 사전 정의 된 서비스 이름 (그중 하나는 "XE")과 함께 제공 되는 파일에서 찾을 수 있습니다.

  1. 이미 사전 설치된 데모 테이블과 함께 제공되는 Oracle Express 데이터베이스 OracleXE112를 설치했습니다.
  2. 설치 프로그램을 시작하면 비밀번호를 묻는 메시지가 표시됩니다. 비밀번호로 "xxx"를 입력했습니다. (제작에는 사용되지 않음)
  3. 내 서버는 컴퓨터에서 실행됩니다 192.168.1.158
  4. 서버에서 Windows 방화벽의 프로세스 TNSLSNR.exe에 대한 액세스를 명시 적으로 허용해야합니다. 이 프로세스는 포트 1521에서 수신 대기합니다.
  5. 옵션 A : C # (. NET2 또는 .NET4) 의 경우 프로젝트에 Oracle.DataAccess.dll을 추가 해야하는 ODAC11 을 다운로드 할 수 있습니다 . 또한이 DLL은 다음에 의존합니다 : OraOps11w.dll, oci.dll, oraociei11.dll (130MB!), msvcr80.dll. 이 DLL은 EXE와 동일한 디렉토리에 있거나 DLL 경로를 다음에 지정해야합니다 HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\ODP.NET\4.112.4.0\DllPath. 64 비트 컴퓨터에서 추가로 쓰기HKLM\SOFTWARE\Wow6432Node\Oracle\...
  6. 옵션 B : ODAC12 를 다운로드 한 경우 Oracle.DataAccess.dll, OraOps12w.dll, oci.dll, oraociei12.dll (160MB!), oraons.dll, msvcr100.dll이 필요합니다. 레지스트리 경로는HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\ODP.NET\4.121.2.0\DllPath
  7. 옵션 C : 100MB가 넘는 거대한 DLL을 원하지 않는 경우 ODP.NET_Managed12.xxxxxxxx.zip을 다운로드해야합니다. 여기서 Oracle.ManagedDataAccess.dll4MB는 32 비트 및 64 비트 프로세스에서 작동하는 순수 관리 형 DLL입니다. 또한 다른 DLL에 의존하지 않으며 레지스트리 항목이 필요하지 않습니다.
  8. 다음 C # 코드는 서버 측에서 구성하지 않고 나를 위해 작동합니다 (기본 설치 만).
Oracle.DataAccess.Client 사용;
또는
Oracle.ManagedDataAccess.Client 사용;

....

문자열 oradb = "데이터 소스 = (DESCRIPTION ="
    + "((ADDRESS_LIST = (ADDRESS = (프로토콜 = TCP) (HOST = 192.168.1.158) (PORT = 1521)))"
    + "((CONNECT_DATA = (서버 = DEDICATED) (SERVICE_NAME = XE)));"
    + "사용자 ID = SYSTEM; 비밀번호 = xxx;";

(OracleConnection conn = new OracleConnection (oradb)) 사용 
{
    conn.Open ();
    (OracleCommand cmd = new OracleCommand ()) 사용
    {
        cmd.Connection = conn;
        cmd.CommandText = "DBA_DATA_FILES에서 TABLESPACE_NAME을 선택하십시오";

        (OracleDataReader dr = cmd.ExecuteReader ()) 사용
        {
            동안 (dr.Read ())
            {
                listBox.Items.Add (dr [ "TABLESPACE_NAME"]);
            }
        }
    }
}

(가) 경우 SERVICE_NAME=XE잘못 사용하면 오류 12514.을 얻는는 SERVICE_NAME선택 사항입니다. 당신은 또한 그것을 버릴 수 있습니다.


감사합니다. 귀하의 솔루션에서 트릭을 발견했습니다. 제 경우에는 프로그램을 차단하는 안티 바이러스였습니다. 따라서 Oracle db에 연결할 수 없었습니다.
robot_alien

2

나는 또한 같은 문제에 직면했고 그것을 파기 위해 3 일을 보냈다.

이것은 잘못된 TNS 서비스 항목으로 인해 발생합니다.

먼저 sql> sqlplus sys@orastand as sysdba( orastand대기 데이터베이스 임)를 사용하여 기본 데이터베이스에서 대기 데이터베이스에 연결할 수 있는지 확인하십시오 .

연결할 수 없으면 서비스에 문제가있는 것입니다. 기본 끝에서 TNS 파일의 서비스 이름 항목을 정정하십시오.

동일한 방법으로 대기 데이터베이스를 점검하십시오. 필요한 경우 여기에서도 변경하십시오.

log_archive_dest_2매개 변수에 올바른 서비스 이름이 있는지 확인하십시오 .


1

지정된 원격 SID가 잘못되어 동일한 오류가 발생했습니다.

 > sqlplus $DATASOURCE_USERNAME/$DATASOURCE_PASSWORD@$DB_SERVER_URL/$REMOTE_SID 

시스템 데이터베이스를 쿼리했습니다.

global_name에서 *를 선택하십시오.

원격 SID ( "XE")를 찾았습니다.

그런 다음 아무 문제없이 연결할 수 있습니다.


0

필자의 경우 데이터베이스에 디스크 공간이 부족했습니다. 응답하지 않았습니다. 일단 그 문제를 해결하면 모든 것이 다시 작동했습니다.


어떻게 알 수 있습니까?
CodeSlave

0

나에게 이것은 설치를 사용하여 동적 ipadress를 사용했기 때문에 발생했습니다. 정적 ipadress를 사용하여 Oracle을 다시 설치하면 모든 것이 정상입니다.


0

VM을 다시 시작하면 나를 위해 일했습니다.


0

URL의 'SID'를 'service name'및 올바른 호스트로 바꾸어 문제를 해결했습니다.


0

tnslsnr 작동하지만 데이터베이스가 작동 중지되었습니다.

오라클 초보자의 경우 연결이 수락되는 동안 데이터베이스가 다운 될 수 있다는 것은 분명하지 않습니다.

그런 식으로 데이터베이스를 수동으로 시작해야했습니다.

su - oracle
export ORACLE_SID=XE
sqlplus sys as sysdba

그런 다음 SQL 콘솔에서

startup

내 경우에는 시작하지 못했지만 다른 오류 메시지가 표시되고 문제의 원인을 발견했습니다. 호스트 이름을 변경 한 다음 데이터베이스 자동 시작이 다시 작동했습니다.


0

이 문제를 해결하기 위해 아래 해결 방법을 구현했습니다.

  1. 명령 프롬프트를 사용하여 ORACLE_HOME을 설정했습니다 (cmd.exe를 마우스 오른쪽 단추로 클릭하고 시스템 관리자로 실행).

  2. 아래 명령 사용

    set oracle_home="path to the oracle home"

  3. 로 이동하여 모든 프로그램 -> 오라클 -ora HOME1 -> 구성 마이그레이션 도구 -> 인터넷 관리자 -> 리스너

  4. 드롭 다운에서 데이터베이스 서비스를 선택하십시오. 글로벌 데이터베이스 이름과 SID가 모두 동일하게 설정되었습니다 (필자의 경우 ORCL). Oracle 홈 디렉토리를 설정하십시오.

Oracle 설명서의 Oracle Net Manager 창 예제 : Oracle Net Manager 예

  1. 파일을 클릭하고 네트워크 구성을 저장하십시오.

0

문제는 내 연결 문자열 url에 SID 대신 데이터베이스 이름이 포함되어 있다는 것입니다. Oracle 데이터베이스 연결 SID로 데이터베이스 이름을 바꾸면이 문제가 해결되었습니다.

오라클 SID를 알기 위해 tnsnames.ora파일 을 찾아 볼 수 있습니다 .

XE 실제 SID 였으므로 다음은 Tomcat 연결 문자열의 모습입니다.

    <Resource
       name="jdbc/my_db_conn"
       auth="Container"
       type="javax.sql.DataSource"
       driverClassName="oracle.jdbc.driver.OracleDriver"
       url="jdbc:oracle:thin:@//127.0.0.1:1521/XE"
       username="test_user"
       password="test" />

내 서버 버전은 "Oracle 11.2 Express"이지만 솔루션은 다른 버전에서도 작동합니다.


0

제 경우에는 SERVICE_NAME 주위의 둥근 괄호가 tnsnames.ora 파일 에서 누락되었습니다 .

<DBNAME> =
  (DESCRIPTION =
    (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL=TCP)(HOST = nupark-cnvr-ora )(PORT=1521))
    )
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = <DBNAME> ***CLOSING ROUND BRACKET WAS MISSING HERE***
    )
  )

LISTENER_<DBNAME> =

  (ADDRESS = (PROTOCOL = TCP)(HOST = nupark-cnvr-ora)(PORT = 1521))

0

스프링 부트와 jdbc를 사용하여 연결하는 사람들. application.properties에서 jdbcUrl을 작성할 때주의해야합니다.

데이터베이스 연결에서 SID 사용- source.datasource.jdbcUrl = jdbc:oracle:thin:@[HOST][:PORT]:SID

DB 연결에서 서비스 이름 사용 globe.datasource.jdbcUrl = jdbc:oracle:thin:@//[HOST][:PORT]/SERVICE

이것은 나를 위해 일했다 :)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.