본문 바로가기
TechNical/Oracle

오라클 DBLINK 하면 ORA-01017: invalid username/password; logon denied 오류

by 강멍멍이 강멍멍이 2011. 9. 18.
반응형

충격적인 걸 알려주마..

뭐 알고 있다면 아주 간단한 문제겠지만 모르면 정말 황당하다 못 해 짜증이 날 만한 문제.

오라클 9i에서 11g로 DBLINK를 걸때 이런 문제가 발생해요.

기존에 쓰던 DBLINK가 있습니다.
상대방 시스템이 업그레이드 되면서 버전업이 되었지요.
IP는 변경됐지만 기존에 쓰던 DB 계정의 패스워드는 그대로 입니다.

tnsping 때려 보면 아주 잘 날아 갑니다.
DBLINK를 생성할때도 아주 잘 생성 됩니다.
sqlplus로 붙어도 매우 잘 붙습니다.

근데 막상 DBLINK를 사용 하려고 하면 이런 오류를 뱉어 냅니다.

> select * tab@test_dblink

ORA-01017: invalid username/password; logon denied

....???

이게 뭘까.. 잘 되던데 왜....
ID와 패스워드가 부좆절하여 로그온을 거절당했답니다.



별 기대는 안 하지만 지식인을 뒤져보며 자문을 구합니다.
개똥같은 답변만 줄줄이 비엔나 입니다.

tnsnames.ora를 확인해 보세요. 비번이 틀린거에요. 계정이 락이 걸렸어요.
네이년에게 물어본 제가 병신인가 봅니다.
검색에는 재능이 없나 보네요 -_-a

어쨌거나 답을 찾았으니 블로그질을 하는 거겠지요.



9i 에서 11g로 DBLINK를 걸때 대소문자를 구별한다는 것이 포인트 입니다.
기본 설정이 case sensitivity enable이라고 합니다.
그러면 이 넘 설정을 바꾸면 됩니다.

ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE;


마음씨 좋은 상대방 서버 담당자가 바꿔주면 다행이련만 그런 경우 흔치 않죠?
들어 붙는 넘이 알아서 해야 합니다.

대소문자가 문제니까 DBLINK 만들때 대소문자 다 해보지 뭐 ㅋ

create database link test_dblink
connect to testid
identified by testpwd
using 'testtns';

자~

ORA-01017: invalid username/password; logon denied


.... 대문자 인가?

create database link test_dblink
connect to testid
identified by TESTPWD
using 'testtns';

자~

ORA-01017: invalid username/password; logon denied



...........ㅆㅂ


이렇게 DBLINK를 만들어서는 앵간해서는 이 오류를 피해 갈 수 없습니다.
그러면 어떻해야 하느냐?

쌍따움표로 비번을 감싸주면 됩니다. 비번은 소문자로...

create database link test_dblink
connect to testid
identified by "testpwd"
using 'testtns';


그리고 테스트. 성공 ㅋ

예전버전에서는 이런일이 없었는데 버전이 올라 가면서 보안을 강화한건지.. 뭔가 좀 싫군요.
이것때메 삽질 한 걸 생각하니.. 하하.. ... 하.
반응형

댓글8