2013-10-31 2 views
0

두 테이블에 대해 특정 사용자에 대해 select, update, insert 및 create 세션을 부여했습니다. SQL Developer를 사용하여 해당 사용자와 로그인 할 때 테이블을 볼 수 없습니다. 거기에 또 다른 허락이 있습니까?연결 후 사용자보기 테이블에 대한 사용 권한 부여

+0

"테이블을 볼 수 없다"는 것은 무엇을 의미합니까? 쿼리를 실행하고 있습니까? 아니면 SQL Developer의 사용자 인터페이스에서 뭔가를 언급하고 있습니까? 그렇다면 UI의 어느 부분을 언급하고 있습니까? –

답변

1

자세한 내용 (내 의견 참조)이 없으면 SQL Developer를 시작하고 데이터베이스에 연결 한 다음 트리 컨트롤의 "테이블"섹션을 열고 테이블을 찾으십시오. 그렇다면 잘못 찾고있는 것입니다. SQL Developer에서 "다른 사용자"를 확장하고 테이블을 소유 한 사용자를 탐색 한 다음 해당 사용자 아래의 트리 컨트롤의 "테이블"섹션을 열어 두 테이블을 확인해야합니다. 당신은 기본적으로 테이블에 대해 쿼리를 실행하려고하는 경우에는 완전한 테이블 이름을 사용할 필요를 제거하려면

, 당신은 당신이 할 수있는, 완전한 테이블 이름

SELECT * 
    FROM owner_of_the_table.table_name 

를 제공해야합니다 테이블 (공용 또는 개인)의 동의어를 작성하십시오. 동의어를 만드는 것이 전통적인 방법 일 것입니다. 다른 방법으로는, 세션 수준에서, 어떤 자격이 참조를 야기

ALTER SESSION SET current_schema = <<owner of the table>> 

이 지정된 스키마가 아닌 현재 사용자의 스키마를 사용하여 해결해야 할 수 있습니다.

+0

당신은 SQL Developer를 사용하고 있고 시스템 사용자로 로그인했지만 다른 사용자 -> 다른 사용자 이름 -> 테이블 아래에 두 개의 테이블이 보이지 않는 것이 맞습니다. 그 빈 – c12

+0

@ c12 - 그래서 당신은'SYSTEM'으로 로그인하고 있습니다. 두 테이블에'SYSTEM' 액세스 권한을 부여 했습니까? 어떤 사용자가 두 테이블을 소유하고 있습니까? –

+0

시스템 사용자로 로그인하고 소유자 이름없이 테이블을 만들었습니다. 나는 그들을 삭제하고 SYSTEM.table_name을 사용하여 다시 만들어야한다고 생각한다. – c12

관련 문제