ORA-12560: TNS: 프로토콜어댑터 오류
이 오류 ORA-12560: TNS: protocol adapter error에 대해 I Google [d]를 참조하십시오.그러나 실제 원인과 이 오류를 해결하는 방법을 찾을 수 없습니다.
로그인 문제를 해결할 수 있는 완벽한 해결책을 알려 주실 수 있나요?
- Oracle 데이터베이스 서버를 호스트하는 윈도우즈 시스템으로 이동합니다.
Windows windows [ Start ]-> [ Run ]-> [ Services . msc ]으로 이동합니다.Oracle Service < SID > (여기)를 찾습니다.
OracleServiceORCL
한 다음 을 클릭합니다.Start
서비스 실행되지 않은 )를 시작합니다.실행이 완료되면 명령 프롬프트에서 다음 명령을 수행합니다.
tnsping < tnsalias >
(tnsalias 엔트리를 참조해 주세요.
tnsnames.ora
삭제)
이 .OracleService
Windows ® ( Oracle ORCL ) ( Oracle Service ORCL )Services.msc
바라티의 답변에 기술된 바와 같이.
다음 명령을 실행했습니다.
C:\> ORADIM -NEW -SID ORCL
에 그음음 and and andOracleService
Service라는 의 되었습니다.ORCL의 Services.msc에 의한 것입니다.너무 좋아요.
출처 : https://forums.oracle.com/forums/message.jspa?messageID=4044655#4044655
데이터베이스가 작동하지 않는 것 같습니다.머신을 재기동하고 인스턴스가 autostart로 설정되어 있지 않기 때문에 services Screen에서 시작한 후 수동으로 시작되지 않기 때문일 수 있습니다.
방금 명령 프롬프트 표시
Oracle SID C:> set oracle_sid=를 설정합니다.오루
이제 Net start 명령을 실행합니다.C:>net start oracleservice오루
명령 콘솔에서 이 오류가 발생할 경우
c:\> sqlplus /nolog
접속할 수 있습니다.
SQL> conn user/pass @host:port/service
다음 변수와 값을 추가하여 tnsnames.ora 파일의 위치를 식별합니다.
TNS_ADMIN
C:\oracle\product\10.2.0\client_1\network\admin
내 경우(Oracle Express의 경우) 서비스가 실행 중이었는데 연결 식별자를 사용하지 않고 sqlplus를 통해 데이터베이스에 액세스하려고 하면 다음과 같은 문제가 발생했습니다.
sqlplus sys/mypassword as sysdba
이 기능을 사용하려면 연결 식별자(Oracle Express의 경우 XE)를 추가해야 하므로 다음 명령어는 정상적으로 작동합니다.
sqlplus sys/mypassword@XE as sysdba
그래도 ORA-12560이 있으면 XE 서비스에 ping을 실행할 수 있는지 확인합니다.용도:
tnsping XE
"확인" (tnsping "tnsping ") Oracle "dir: [oracle express installation dir]\app\oracle\product\11.2.0\server\bin" 입니다.할 수 없는 ping을 합니다.tnsnames.ora
sqlplus를 사용합니다.관리 TNS_ADMIN 환경변수를 다음과 같이 설정해야 할 수 있습니다.
TNS_ADMIN=[oracle express installation dir]\app\oracle\product\11.2.0\server\network\ADMIN
많은 것을 검색한 후에 그것을 해결할 수 있는 간단한 방법이 생겼다.절차를 따르세요.
- 이치노
- 하고 open을 합니다.
lsnrctl status
- 듣는 사람이 없을 거예요.
- 하고 open을 합니다.
now now now now
listener.ora
:C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN
- 해당 파일을 열고 컴퓨터 이름으로 호스트 매개 변수 변경
할 수 .
My Computer
컴퓨터 이름을 확인하고 다음과 같이 호스트 매개 변수를 컴퓨터 이름으로 바꿉니다.LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) (ADDRESS = (PROTOCOL = TCP)(HOST = Electron-PC)(PORT = 1521) ) ) )
할 수 .
HOST = Electron-PC
을 사용하다listener.ora 파일을 저장하고 다시 cammand propt로 돌아갑니다.
3. 3에 합니다. 명령 프롬프트에 다음과 같이 입력합니다.
lsnrctl start
하면 이이조 the the the the the the the the가 시작됩니다.OracleTNSListner
.
Task Manager의 services 탭을 열어 서비스에서 확인할 수 있으며, 자동으로 시작되지 않으면 시작할 수 있습니다.
이 정도만 하면 오라클 작업을 다시 시작할 수 있습니다.
행운을 빌어요.
이것은 듣는 사람이 아직 시작하지 않았다는 것을 의미합니다.[서비스] 패널을 확인합니다.
Windows 에서는, ORACLE_SID 가 레지스트리에 정의되어 있지 않은 것도 일반적인 원인입니다.레지스트리를 편집하거나 CMD 상자에서 ORACLE_SID를 설정합니다(sqlplusw를 실행하려면).레지스트리를 편집할 것을 권장합니다.)
나는 그 문제를 쉬운 방법으로 풀었다.내 신탁은 예전엔 잘 작동했어.MS SQL Server를 설치한 후 이 문제를 발견했습니다.MS SQL Server를 머신에서 제거했더니 문제가 해결되었습니다.그 후에 컴퓨터를 재기동해 주세요.SQLPlus를 통해 Oracle 데이터베이스에 다시 연결할 수 있게 되었습니다.내 생각엔 둘 사이에 갈등이 있는 것 같아.이게 도움이 됐으면 좋겠다.
로컬 로그인을 dba 권한으로 사용하고 있는 것을 고려하면, 나에게도 효과가 있는 또 하나의 솔루션입니다.
다음 단계에 따라 서비스를 이용하십시오.인스턴스를 마우스 오른쪽 버튼으로 클릭하고 '로그인'으로 이동합니다(이름은 아니지만 권한이 포함된 탭 중 하나임).LOCAL을 사용하도록 설정을 변경합니다.
쪽도 기능하지 않는 의 조작을 해 주세요.이 조작을 실시해 주세요.LISTENER.ora
내은 : (에 .oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora
> SID를 들어, :==> SID(SID)입니다.SID XZ0301이다.을 사용하다
## Base XZ03001
SID_LIST_LISTENER_XZ03001=(SID_LIST=(SID_DESC=(ORACLE_HOME =
E:\oracle\product\11.2.0\dbhome_1)(SID_NAME= XZ03001)))
LISTENER_XZ03001=(DESCRIPTION_LIST=(ADDRESS=(PROTOCOL =
TCP)(HOST=MyComputerName)(PORT= 1521)))
DIAG_ADR_ENABLED_LISTENER_XZ03001=ON
ADR_BASE_LISTENER_XZ03001=E:\oracle
머신을 재기동합니다.
Windows 7 의 경우는, 다음의 순서에 따라서 LISTERNER.ora 를 변경합니다.- [ Start ]> [ All Programs ]> [ Accessories ]- [ Run as Administrator ]를 오른쪽 클릭하여 [Run as ]를 클릭합니다.- [파일]> [파일]를 열고 tnsnames.ora]파일로 이동합니다.- 를 변경하면 저장할 수 있습니다.
내 기계에 정말 잘 작동했어.Oracle Service 대신ORCL Oracle Service XE를 찾았습니다.
플로우 스텝을 실시합니다.
$Oracle_home\product\11.2.0\client_1\NETWORK\ADM에서 listener.ora 및 tnsnames.ora 파일을 편집합니다.인 로케이션
a. listener.ora 파일 추가
LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) )
)
ADR_BASE_LISTENER = C: [여기서 c는 구술 홈디렉토리]
b. tnsnames.ora 파일을 추가합니다.
SCHEMADEV =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = dabase_ip)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = SCHEMADEV)
)
)
- 명령 프롬프트를 열고 입력
sqlplus username/passowrd@sql_connection_sql
예:
username : your_syslogs_syslogs
password : your_database_password
oracle_connection_alias : 위의 예에서는 SHEMADEV.
합산하려면 스크린샷에 따라 로컬 계정을 선택합니다(선택되지 않은 경우).그런 다음 서비스를 시작합니다.
로그온할 데이터베이스를 SQLPlus에 지정해야 합니다.Host String은 TNSNames.ora 파일에 설정된 연결 문자열 또는 별칭이어야 합니다.
ORA-12560: TNS: erro de adaptor de protocolo
- 환경 변수 설정: ORACLE_BASE, ORACLE_HOME, ORACLE_SID
- 사용자가 ORACLE_GROUP_NAME(Windows)의 일부인지 확인합니다.
- ORACLE_HOME/network/admin/sqlnet.ora 파일이 SQLNET인지 확인합니다.AUTHENTICATION_SERVICES = (NTS)
- (Windows) 새로운 Oracle 클라이언트를 추가할 때는 주의해야 합니다.PATH 환경에 새 경로를 추가하면 문제가 발생할 수 있습니다.이 변수의 첫 번째 엔트리는 차이를 만듭니다.ORACLE_HOME(ORACLE_HOME/bin)의 sqlplus 실행 파일이 PATH env. 변수에서 첫 번째임을 증명합니다.
2가지 옵션을 시험합니다.
- [ Service ]탭에서 서비스 Oracle Service를 변경합니다.-> [ Running ]
- cmd 명령어 sqlplus user_name/pass_word@orcl12C 메모: orcle12c -> 노트북에서 실행되는 Oracle Service 이름
다음 수정을 적용하여 해결할 수 있습니다.TNS 12560
에러
- 최신 패치 가져오기
SQL*NET
클라이언트 소프트웨어 - 세트
$ORACLE_HOME
그리고.$PATH
variable(시스템 사용자가 액세스할 수 있어야 함) - PC 클라이언트에 대한 사용 권한 확인
- 확인.
$TNS_ADMIN
변수 - 네트워크에 방화벽 또는 안티바이러스 문제가 있는지 확인합니다.
- Windows services Run > > > Services.msc에 OracleXE 또는 OracleORCL 서비스가 실행되고 있는지 확인합니다.Net Tracing 오류의 경우 아래 링크를 확인합니다.
http://dba-oracle.com/t_sql_net_tracing.htm
내 경우 (ORA-12560: TNS 프로토콜어댑터 오류)데이터베이스, 사용자 이름 및 비밀번호와 같은 데이터베이스 연결 문제의 원인입니다.
일단 문제가 생기면.처음에 접속 상세 내용을 확인하고 Oracle 서비스 등을 확인해야 합니다.
접속상세정보가누락되어TNS프로토콜어댑터오류만발생하여접속상세정보를변경하여정상작동됩니다.
언급URL : https://stackoverflow.com/questions/6894558/ora-12560-tnsprotocol-adaptor-error
'programing' 카테고리의 다른 글
Axios: 여러 API 요청 연결 (0) | 2023.03.26 |
---|---|
Azure Cloud Service에서 Azure MySQL over SSL에 연결하도록 Wordpress 구성 (0) | 2023.03.26 |
클라이언트 측 Javascript에서 Django를 'reverse' 호출 (0) | 2023.03.26 |
AngularJS: ng-click은 "좋은 관행"입니까?AngularJS에 ng-{event}가 없는 이유는 무엇입니까? (0) | 2023.03.26 |
굴삭기를 이용한 조롱과 그루터기 (0) | 2023.03.26 |