by 나는짱이야 [Oracle 기초] [2015.06.09 13:02:28]
안녕하세요. 다름이 아니라 MSSQL의 경우 타 인스턴스를 접근 하려면
인스턴스명.DBO.테이블명으로 접근하게 됩니다.
근데 오라클의 경우 이런 문법이 가능한지 문의 드립니다.
타인스턴스 접근이라고 하시면 DBLINK를 말씀하시는건가요?
MSSQL을 잘 접해보지 않아서...
DBLINK이용해서 접근을 말씀하시는 거라면
tnsnames에 해당 인스턴스 정보 및 알리아스(ex : orcl2)를 저장하고
DBLINK 환경설정 및 생성 후,
table_name@orcl2 와 같은 방식으로 접근하시면 됩니다.
ex) select * from emp@orcl2
링크드서버는 아니구요.. 같은 서버내에 인스턴스가 다른 경우라고 봐야될거 같습니다.
예를 들어 A서버에 Sample/Test 가 존재하는 경우
Sample DB에서 Test인스턴스로 접근하려고 하는 케이스 입니다.
RAC환경을 얘기하시는 거 같진 않고, 멀티 인스턴스를 얘기하시는 것 같은데,
멀티 인스턴스의 경우는, 한 서버에 존재하더라도 엔진을 공유하는것이지.
스토리지를 공유하지 않는, 즉 데이터파일을 공유하지 않는 완전히 별개의 DB입니다.
따라서 해당 인스턴스의 정보를 tnsnames에 저장하고, DBLINK를 생성하여
접근하여야 합니다.
Sample의 접근하려는 테이블에 Test가 접근할 수 있도록 Select등의 권한을 주고
Test에서 Sample.Table_Name 으로 조회를 할 수 있는데.... 이걸 말하는건지 모르겠네요..;;
넵 말씀하신 내용이 맞습니다..
인스턴스가 다른 경우라면 DB링크가 맞을 듯 합니다. - 테이블명@DB링크명 같은 인스턴스 내에 다른 사용자계정 이라면? - 사용자명.테이블명 복합적인 경우도 가능하겠지요. - 사용자명.테이블명@DB링크명