윈도우 환경의 오라클 11G 릴리즈 2에서 ST_GEOMETRY 사용을 위한 설정
소프트웨어: ArcSDE, ArcGIS Desktop
요약 : 윈도우 환경의 오라클 11G 릴리즈 2에서 ST_GEOMETRY 사용을 위한 설정 안내입니다.
윈도우 환경에서 오라클 11G 릴리즈 2에서 ST_GEOMETRY 설정을 할 때 EXTPROC_CONNECTION_DATA 서비스 이름이 TNSNAMES.ORA 파일에 누락되어 있는 것을 보실 수 있습니다.
그 대신 ORACLR_CONNECTION_DATA 라는 서비스 이름이 있는데 ST_GEOMETRY 설정 시 이 서비스 이름을 사용할 수 없습니다.
예시)
- %ORACLE_HOME%\Network\Admin\TNSNAMES.ORA
파일에 EXTPROC_CONNECTION_DATA 서비스 이름을 넣습니다.
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
- ST_GEOMETRY에 대한SID_DESC를 SID_LIST_LISTENER의 SID_DESC 섹션에 추가해 %ORACLE_HOME%\Network\Admin\LISTENER.ORA 파일을 설정 합니다.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\Oracle11GR2\product\11.2.0\dbhome_1)
(PROGRAM = EXTPROC)
(ENVS = “EXTPROC_DLLS=C:\Oracle11GR2\product\11.2.0\dbhome_1\bin\oraclr11.dll,PATH=C:\Oracle11GR2\product\11.2.0\dbhome_1\bin”)
)
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\Oracle11GR2\product\11.2.0\dbhome_1)
(PROGRAM = EXTPROC)
(ENVS = “EXTPROC_DLLS=C:\Progra~1\ArcSDE\ora11gexe\bin\st_shapelib.dll,PATH=C:\Progra~1\ArcSDE\ora11gexe\bin”)
)
)
TNSNAMES.ORA 파일의 KEY 이름과 LISTENER.ORA 파일의 PROGRAM 이름이 일치해야 합니다.
(KEY = EXTPROC) == (PROGRAM = EXTPROC)
TNSNAMES.ORA 파일의 SID 이름과 LISTENER.ORA 파일의 SID_NAME 이름이 일치해야 합니다.
(SID = PLSExtProc) == (SID_NAME = PLSExtProc)
- LISTENER.ORA 파일의 변경사항을 읽어오기 위해 오라클 리스너를 재시작 합니다.
C:\> lsnrctl stop
C:\> lsnrctl start
- SQL*Plus에서SDE.ST_ASTEXT 을 실행해 ST_GEOMETRY가 적절히 구성되었는지를 확인합니다.
SQL> select name, SDE.ST_ASTEXT(a.SHAPE) from GDB.CANADA_GCS a where UPPER(name) like ‘%NEW%’;
NAME SDE.ST_ASTEXT(A.SHAPE)
————————- —————————————————————————-
Newfoundland and Labrador MULTIPOLYGON ((( -64.53482056 60.30260086, -64.85388184 60.26166916, -64.851936
New Brunswick MULTIPOLYGON ((( -69.03971100 47.29714966, -69.03723144 47.25733185, -68.895393
2 rows selected.
- ST_GEOMETRY를 설정하는 다른 방법에는 %ORACLE_HOME%\hs\admin\EXTPROC.ORA 파일에 다음 요소를 추가하는 방법이 있습니다.
SET EXTPROC_DLLS=ONLY:C:\\Progra~2\\ArcGIS\\Desktop10.1\\DatabaseSupport\\Oracle\\Windows64\\st_shapelib.dll
OR
SET EXTPROC_DLLS=ANY
32 bit 운영 체제: ‘Program Files’ 폴더 경로를 Progra~1으로 변경합니다. 64 bit 운영 체제: ‘Program Files’ 폴더 경로는 Progra~1이고 32 bit “Program Files (x86)” 폴더 경로는 Progra~2입니다. ‘Program Files’ 대신 Progra~1를 사용하는 이유는 공백을포함할 수 없기 때문입니다.
LISTENER.ORA 파일 또는 EXTPROC.ORA 파일을 설정할 때 st_shapelib.dll 파일에 대한 경로가 SDE 스키마의 ST_SHAPELIB 라이브러리의 경로와 일치하는지를 확인합니다.
- SDE 사용자 계정으로SQL*Plus에 들어가 다음 쿼리를 수행합니다.
select * from user_libraries;
create or replace library ST_SHAPELIB as ‘C:\Progra~2\ArcGIS\Desktop10.1\DatabaseSupport\Oracle\Windows64\st_shapelib.dll’;
/
이에 대한 자세한 내용은
http://support.esri.com/en/knowledgebase/techarticles/detail/38043을 참조하세요.