SYSNONYM 순환 고리 오류 관련 질문 입니다. 0 5 3,028

by 오래맑음 [2010.04.06 14:24:58]



Synonym 순환 고리 오류에 관한 질문 입니다.

아래와 같은 경우 순환 고리 오류가 발생 할 수 있는 소지가 있는지 궁금 합니다.

계정 B_side
Table A;
Table B;
Table C;
Function FN_A; (테이블 A와 B를 참조하여 Varchar2 Return)

계정 A_side
Synonym A for B_side.A;
Synonym B for B_side.B;
Synonym C for B_side.C;
Synonym FN_A for B_side.FN_A;

이런식으로 테이블과 시노님을 생성 한 후 A_side 계정에서 FN_A 함수를 사용 할 때

01775: 동의어가 순환 고리 유형으로 정의되어 있습니다

와 같은 오류가 발생 할 소지가 있는 건가요?

그렇다면 해결 방법은 B_side의 테이블 명과 함수명을 바꾸거나, A_side의 (혹은 public한) 시노님명을 바꾸는 방법 밖에 없는지 궁금 합니다.
by 타락천사 [2010.04.06 14:59:05]
한글 이라 한참 봤네요..
보통 시노님만 남고, 참고 되는 Object 가 없을 때 발생합니다.
그리고 타 계정에서 참고하려면 Public synonym 만 가능하지 않나요 ㅇㅇ?

by nash8205 [2010.04.06 16:41:56]
아~ 모든 synonym이 public 으로 되어 있습니다.
그리고 참고 객체의 존재 확인은 해봤는데 문제가 없더군요.

by 타락천사 [2010.04.06 17:20:42]
도움이 못됐네요 ^^;
1. 타 계정에서 사용하는거라면 일딴 Public synonym 입니다.
2. Synonym 이란건 Unix/Linux 에서 사용하는 alias 처럼 이해 하시면됩니다.
일딴 내 계정이 아닌 타 계정의 DB Object 에 접근 하려면 Public synonym을
통하던지 아니면 타계정.디비오브젝트이름으로 하셔야 해요..
3. 이거완 별개로 일딴 alias 가 시노님이 생성된 상태면 접근할수 있는 통로가
열린거구요. 이 상태에서 통로를 통해서 접근 후에 실제 조회라던지
실행을 위해서는 별도의 권한 작업이 필요합니다.
grant select on .. to.. 타계정 이런식으로
참고하세요 ^^;

by 마농 [2010.04.06 17:26:35]
[오류가 발생 할 소지가 있는 건가요?] 라고 질문하셨는데요?
오류가 발생해서 질문하신건가요?
아니면 질문 그대로 오류가 발생할 소지가 있는지 궁금해서 질문하신 건가요?

by 오래맑음 [2010.04.06 17:59:03]
오류가 발생을 하긴 하는데 간헐적으로 발생을 해서 확신 없이 여쭤봤습니다.
ORA-01775 오류는 시노님에 관련된 오류라고 알고 있는데, 해당 서버의 시노님은 시스템이 기본적으로 제공하는 시노님을 제외하고는 해당 계정과 관련된 시노님만 존재 해서 여쭤봤습니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입