ITmembers.net 아카이브 · 2002–2009

질문과 답변

질문)오라클 유저권한에 대해서 질문있습니다.

안녕하세요.

제가 테이블스페이스를 하나 만들고 오라클 유저(testa/testa)를 생성하여 권한을 connect,resource를 주었습니다. 실제 sql문은 아래와 같습니다.

create tablespace TEST_DATA
datafile '/home/oracle/oradata/DATA/test_data.dbs' size 50M
default storage (initial 10M next 5M pctincrease  0)

create tablespace TEST_INDEX
datafile '/home/oracle/oradata/TMS/test_index.dbs' size 30M
default storage (initial 5M next 3M pctincrease  0)

create user testa identified by testa
default tablespace TEST_DATA

grant connect,resource to testa

위와 같이 하고 다시 testa로 sqlplus로 접속하여 각각의 tabel를 생성하고, 프로시져를 등록하였습니다.

그런데 문제는 오라클 유저(testb/testb)를 TEST_DATA,TEST_INDEX 테이블스페이스에 생성하여 권한을 주고 ProC에서 testa 유저가 생성한 테이블을 조회하는데 컴파일 에러가 남니다.
testb 유저를 생성한 sql문은 다음과 같습니다.

create user testb identified by testb
default tablespace TEST_DATA

grant connect,resource to testb

그리고 ProC에서 컴파일한 옵션과 소스의 문장은 다음과 같습니다.

$(PROC) iname=$*.pc ireclen=128 userid=testb/testb sqlcheck=semantics




EXEC SQL DECLARE cursor_airinfo CURSOR FOR        
        SELECT  loc_code,
                loc_nams,
                loc_offi1
        FROM testa.loc
        WHERE loc_curr = '0'
        ORDER BY loc_code;


위와 같이 하고 ProC로 컴파일하면 testa.loc 식별자가 정의가 안되어 있다고 나옵니다.

제가 생각할때는 testb 유저에 대한 권한이 잘못되어 있는거 같은데...
지금 일주일째 헤메고 있습니다.
어떻게 하면 testb 유저가 testa 유저가 생성한 tabel과 procedure를 다 조회가능한지요.
부디 알고 계시는분은 답변부탁드립니다.
그럼 수고하십시오.

댓글 3