System Administrator Security & Network SELinux Current: oracle instant client(오라클 인스턴트 클라이언트) 설치 및 selinux 연계 oracle instant client(오라클 인스턴트 클라이언트) 설치 및 selinux 연계 오라클 인스턴트 클라이언트 리눅스에 설치하는 방법 설치다운로드오라클 인스탄트 클라이언트 다운로드 사이트에 연결 Instant Client Package 에서 Basic 과 SQL*Plus 다운로드 압축 해제 for i in instantclient*zip; do unzip $i;done BASH 설정instant client 압축 해제 디렉터리로 이동(Ex: /home/lesstif/instantclient_11_2) cd instantclient_11_2/ BASH 설치 경로와 library Path 를 환경 변수 파일(Ex: .bash_profile) 에 설정 export INSTANT_CLIENT_PATH=${HOME}/instantclient_11_2 export LD_LIBRARY_PATH=${INSTANT_CLIENT_PATH}:${LD_LIBRARY_PATH} export PATH=${INSTANT_CLIENT_PATH}:${PATH} BASH SQLPATH 변수를 glogin.sql 이 있는 경로로 설정 export SQLPATH=${INSTANT_CLIENT_PATH}:${SQLPATH} BASH NLS_LANG 환경 변수 설정 한글 export NLS_LANG=KOREAN_KOREA.AL32UTF8 BASH 영어만 사용할 경우 아래 lang 으로 설정 영어 export NLS_LANG=AMERICAN_AMERICA.UTF8 BASH 연결 정보를 설정하는 tnsnames.ora 을 찾는 경로인 TNS_ADMIN 환경 변수 설정 export TNS_ADMIN=${INSTANT_CLIENT_PATH} BASH TNS_ADMIN 폴더(Instant Client 설치 폴더)내에 tnsnames.ora 를 만들고 연결 정보 설정 mydb= "(DESCRIPTION= (ADDRESS= (PROTOCOL=TCP) (HOST=mydb.example.com) (PORT=1621) ) (CONNECT_DATA= (SID=MYSID) ) )" CODE ORA-12154: TNS:could not resolve the connect identifier specified 가 날 경우 명령행에서 connection string 을 검증한 후에 tnsnames.ora 에 설정 sqlplus scott/tiger@"(DESCRIPTION= (ADDRESS= (PROTOCOL=TCP)(HOST=mydb.example.com)(PORT=1621)) (CONNECT_DATA= (SID=MYSID)))" CODE SQLPlus 를 실행해서 DB 에 정상적으로 연결되는지 확인 sqlplus scott/tiger@mydb BASH SELinux 연동RHEL/CentOS 에서 SElinux 를 사용할 경우 libclntsh 에 textrel_shlib_t context 가 부여되어야 PHP-FPM 등에서 로딩이 됨 semanage fcontext -a -t textrel_shlib_t /var/lib/oracle\(64\)\?/.*/client64/lib/libclntsh\.so\(.[^/]*\)* BASH 같이 보기RHEL/CentOS/Ubuntu 와 Windows 환경의 PHP 에서 오라클(Oracle) 사용하기동적 라이브러리(shared library)와 Linker/Loader 이해하기SELinux 이해하기(Understanding SELinux)RefConfiguring SQL*Plus Instant Clienthttp://itvomit.com/2013/10/25/getting-oracle-instant-client-php-and-oci8-all-working/ oracle oracle-client selinux-troubleshooting ×