programing

View 작성 시 Oracle 오류 - ORA-01720

bestprogram 2023. 10. 29. 19:54

View 작성 시 Oracle 오류 - ORA-01720

Oracle 11.2.0.4.0 환경에서 문제가 발생하여 어려움을 겪고 있습니다.데이터를 선택할 수 있는 작동 중인 COMPLED 뷰가 존재하지만 "ORA-01720" 오류가 발생하지 않으면 변경할 수 없습니다.

내 설정에 대한 정보:저는 간단하게 "A"와 "B" 두 개의 스키마를 가지고 있습니다.스키마 "A"는 "TABLE1", "TABLE2", "TABLE3"을 소유하고 있으며 스키마 "B"는 현재 3개의 테이블에서 데이터를 선택하는 데 필요한 권한을 가지고 있습니다.저는 조회를 통해 데이터를 선택할 수 있고, 존재하는 뷰도 선택할 수 있음을 확인했습니다.

스키마 "B"가 세 개의 테이블 내에서 스키마 "A" 데이터에 대한 액세스를 허용했을 때 작업 뷰를 변경하는 것을 방해할 수 있는 것이 무엇인지 아는 사람이 있습니까?구글과 여러 사이트에서 "with grant option" 선택권을 부여하자는 제안을 여러 번 보았는데, 제가 시도해본 적이 있지만, 제가 grantee가 아닌 소유자로부터 직접 데이터를 선택할 때 어떻게 적용될지 알 수가 없습니다.오류 메시지는 다음과 같습니다.

SQL Error: ORA-01720: grant option does not exist for 'A.TABLE1'
01720. 00000 -  "grant option does not exist for '%s.%s'"
*Cause:    A grant was being performed on a view or a view was being replaced
           and the grant option was not present for an underlying object.
*Action:   Obtain the grant option on all underlying objects of the view or
           revoke existing grants on the view.

오라클 11에 도입된 제한 사항입니다.소유하고 있지 않지만 권한이 부여된 테이블을 기존 보기에 추가할 수 없습니다.create or replace force view. 먼저 보기를 삭제하고 재생성해야 합니다.

언급URL : https://stackoverflow.com/questions/36551639/oracle-error-when-creating-view-ora-01720