Loading...
 
Print

다른 OS User로 EM Agent 설치시 Oracle10gAS 서비스 등록하기



Oracle10gAS Service Discovering: 여기에서는 이미 Oracle10gAS가 설치되어 있고, 또 다른 OS User로 동일한 장비에서 EM Agent를 설치하는 경우, Permission 문제로 EM Agent가 Oracle10gAS를 정상적으로 Discovering을 하지 못하게 된다. 이러한 경우 제대로 EM Agent에 Oracle10gAS Component들을 등록하는 방법에 대해서 설명한다.


Concepts

Oracle EM Agent가 지원하는 Application을 자동으로 Discovering 하기 위해서는 Target Application의 특정 Config file들에 대하여 접근 권한이 주어져야 한다. Target Application의 Oracle Inventory를 함께 공유한다면 (동일한 OS User로 설치하고 동일한 oraInventory를 사용하는 경우) 특별하게 권한 설정이 필요없다. 하지만 다른 OS User로 EM Agent가 설치되거나 oraInventory를 다르게 하고자 한다면 EM Agent를 설치하는 OS User가 기존에 이미 설치된 Target Application의 특정 Config File들에 대해서 접근 권한을 따로 진행해주어야 한다.

참고로 EM Agent를 설치하는 OS User와 Oracle10gAS를 설치한 OS User가 동일하다면 이와같은 작업은 필요가 없다.


환경 정보 (System Information)

Issue가 발생한 서비스에 대한 기본적인 시스템 환경 정보는 다음과 같다.

Operating System Unix 계열의 모든 시스템
Category Oracle Enterprise Manager
Applied Oracle Enterprise Manager 10.2.0.1.0 혹은 그 이후의 모든 버전

confirmOracle10gAS의 Permission Issue...
Oracle10gAS를 설치하고 나서 Post Install Action으로 root.sh 쉘을 수행하게 된다. 이 root.sh 쉘은 Oracle10gAS의 디렉토리 및 파일들에 대해서 Oracle10gAS를 설치한 OS User가 해당 디렉토리 및 파일들에 대해서 읽기 및 쓰기 권한 설정을 수행한다. 이는 곧 동일한 OS Group을 소유한 다른 OS User가 Oracle10gAS에 접근하는 것을 제한하게 된다.

Oracle10g EM Agent가 동일한 장비에 설치될 경우, EM Agent는 Target에 대하여 Discovering 작업을 수행하는데, 이때 Target의 특정 디렉토리 및 파일들에 대해서 접근을 할 수 없으며, 이에 대한 권한 수정 작업이 필요하다.



준비 사항 (Requirements)

UNIX 환경에서 사전에 필요한 내용을 정리하자면,

  • Target Application의 OS User와 EM Agent의 OS User간 동일한 OS Group을 사용
    (물론 다른 OS Group을 사용한다고 해서 않되는것은 아니지만 보다 복잡한 권한설정 작업이 필요하다. 여기에서는 동일한 OS User Group을 사용하는 것을 기준으로 한다)
  • 권한 설정 변경을 위해서 root OS User로 작업이 필요할 수 있음.



작업 절차 (Working Process)

문제를 해결하는 하나의 방법은 Target Application을 설치한 동일한 OS User로 EM Agent를 설치하는 것이다. 그러나 이는 모든 경우에 있어서 적합한 대안이 아닐 수 있다. 따라서 여기에서는 새롭게 권한 설정을 통하여 다른 OS User가 성공적으로 Target Application을 Discovering하는 방안에 대하여 기술한다.

참고로 EM Agent를 설치하는 OS User는 편의상 ‘emagent’라고 하며, Target Application을 설치한 OS User는 ‘ias’라는 가정하에 진행한다.

STEP 1) OHS와 OC4J만을 사용하는 경우
‘ias’ OS User로 아래 스크립트를 수행한다.
export IAS_HOME=$ORACLE_HOME
cd $IAS_HOME

chmod g+rx $IAS_HOME
chmod g+rx $IAS_HOME/bin
chmod g+rx $IAS_HOME/bin/emtgtctl
chmod ug+s $IAS_HOME/bin/emtgtctl2
chmod g+rx $IAS_HOME/perl
chmod g+rx $IAS_HOME/perl/bin
chmod g+rx $IAS_HOME/perl/bin/perl
chmod g+rx $IAS_HOME/sysman
chmod g+rx $IAS_HOME/sysman/emd
chmod g+rw $IAS_HOME/sysman/emd/targets.xml
touch $IAS_HOME/sysman/emd/centralagents.lst
chmod g+rw $IAS_HOME/sysman/emd/centralagents.lst
chmod g+rx $IAS_HOME/sysman/config
chmod g+rw $IAS_HOME/sysman/config/*.properties
chmod g+rx $IAS_HOME/opmn
chmod g+rx $IAS_HOME/opmn/conf
chmod g+rw $IAS_HOME/opmn/conf/opmn.xml
chmod g+rx $IAS_HOME/config
chmod g+rw $IAS_HOME/config/*.xml
chmod g+rw $IAS_HOME/config/*.properties
chmod g+rx $IAS_HOME/Apache
chmod g+rx $IAS_HOME/Apache/Apache
chmod g+rx $IAS_HOME/Apache/Apache/conf
chmod g+rw $IAS_HOME/Apache/Apache/conf/*.conf
chmod g+rw $IAS_HOME/Apache/Apache/conf/*.xml
chmod g+rw $IAS_HOME/Apache/Apache/conf/mime.types
chmod g+rx $IAS_HOME/dcm
chmod g+rx $IAS_HOME/dcm/config
chmod g+rw $IAS_HOME/dcm/config/*.conf
chmod g+rw $IAS_HOME/dcm/config/*.xml
chmod g+rx $IAS_HOME/j2ee
chmod g+rx $IAS_HOME/j2ee/home
chmod g+rx $IAS_HOME/j2ee/home/config
chmod g+rw $IAS_HOME/j2ee/home/config/*
chmod g+rx $IAS_HOME/j2ee/properties
chmod g+rx $IAS_HOME/inventory
chmod g+rx $IAS_HOME/inventory/ContentsXML
chmod g+rw $IAS_HOME/inventory/ContentsXML/comps.xml

STEP 2) STEP 1 + SECURITY, FED등 추가 Instance 존재할 경우
‘ias’ OS User로 아래 스크립트를 수행한다.
STEP 1에 추가로 아래의 스크립트 수행
export IAS_HOME=$ORACLE_HOME
cd $IAS_HOME

chmod g+rx $IAS_HOME/j2ee/oca
chmod g+rx $IAS_HOME/j2ee/oca/config
chmod g+rw $IAS_HOME/j2ee/oca/config/*
chmod g+rx $IAS_HOME/j2ee
chmod g+rx $IAS_HOME/j2ee/OC4J_SECURITY
chmod g+rx $IAS_HOME/j2ee/OC4J_SECURITY/config
chmod g+rw $IAS_HOME/j2ee/OC4J_SECURITY/config/*
chmod g+rx $IAS_HOME/j2ee/OC4J_FED
chmod g+rx $IAS_HOME/j2ee/OC4J_FED/config
chmod g+rw $IAS_HOME/j2ee/OC4J_FED/config/*

STEP 3) STEP 2 + OID등 추가 Instance 존재할 경우
‘ias’ OS User로 아래 스크립트를 수행한다.
STEP 2에 추가로 아래의 스크립트 수행
export IAS_HOME=$ORACLE_HOME
cd $IAS_HOME

chmod g+rx $IAS_HOME/ultrasearch
chmod g+rx $IAS_HOME/ultrasearch/webapp
chmod g+rx $IAS_HOME/ultrasearch/webapp/config
chmod g+rw $IAS_HOME/ultrasearch/webapp/config/ultrasearch.conf
chmod g+rx $IAS_HOME/Apache/oradav
chmod g+rx $IAS_HOME/Apache/oradav/conf
chmod g+rw $IAS_HOME/Apache/oradav/conf/moddav.conf
chmod g+rx $IAS_HOME/rdbms
chmod g+rx $IAS_HOME/rdbms/demo
chmod g+rw $IAS_HOME/rdbms/demo/aqxml.conf
chmod g+rx $IAS_HOME/Apache/jsp
chmod g+rx $IAS_HOME/Apache/jsp/conf
chmod g+rw $IAS_HOME/Apache/jsp/conf/ojsp.conf
chmod g+rx $IAS_HOME/Apache/modplsql
chmod g+rx $IAS_HOME/Apache/modplsql/conf
chmod g+rw $IAS_HOME/Apache/modplsql/conf/plsql.conf
chmod g+rx $IAS_HOME/uix
chmod g+rw $IAS_HOME/uix/uix.conf
chmod g+rx $IAS_HOME/ldap
chmod g+rx $IAS_HOME/ldap/das
chmod g+rw $IAS_HOME/ldap/das/oiddas.conf
chmod g+rx $IAS_HOME/sso
chmod g+rx $IAS_HOME/sso/conf
chmod g+rw $IAS_HOME/sso/conf/sso_apache.conf


STEP 1 ~ STEP3을 살펴보면 OC4J 인스턴스에 대해서는 모두 권한 설정이 필요함을 알 수 있다. 따라서 OC4J Instance를 추가로 생성한 경우에는 각각의 OC4J Instance에 대해서 권한설정 작업이 필요하다. 실례로 ‘KMS’라는 OC4J Instance를 새롭게 생성하였다면, 다음과 같이 권한설정 작업을 추가로 수행한다.

export IAS_HOME=$ORACLE_HOME
cd $IAS_HOME
chmod g+rx $IAS_HOME/j2ee
chmod g+rx $IAS_HOME/j2ee/KMS
chmod g+rx $IAS_HOME/j2ee/KMS/config
chmod g+rw $IAS_HOME/j2ee/KMS/config/*

STEP 4) 'emagent' OS User로 EM Agent를 설치한다
이 경우 emagent가 사용하게 될 Oracle Inventory 정보가 Target Application의 Oracle Inventory 정보와 동일하다면, 아래와 같이 ‘ias’ OS User로 추가 작업을 수행 후 EM Agent를 설치해야 한다.
cd $ORA_INVENTORY
chmod g+rx $ORA_INVENTORY
chmod g+rx $ORA_INVENTORY/ContentsXML
chmod g+rw $ORA_INVENTORY/ContentsXML/*
chmod g+rx $ORA_INVENTORY/logs

STEP 5) 'emagent' OS User로 아래 스크립트를 수행한다
EM Agent를 설치하고 나서 post-install Action으로 root.sh를 실행하고 나면, EM Agent가 정상적으로 Oracle10gAS 각각의 OC4J Instance 컴포넌트를 자동으로 Discovering하는데 실패할 수 있다. 이 단 이 경우에는 emagent의 OS User로 작업을 수행한다.
export AGENT_HOME=$ORACLE_HOME
cd $AGENT_HOME

chmod g+rx $AGENT_HOME
chmod g+rx $AGENT_HOME/bin
chmod g+rx $AGENT_HOME/bin/emtgtctl
chmod ug+s $AGENT_HOME/bin/emtgtctl2
chmod g+rx $AGENT_HOME/sysman
chmod g+rx $AGENT_HOME/sysman/emd
chmod g+rw $AGENT_HOME/sysman/emd/targets.xml
chmod g+rx $AGENT_HOME/sysman/opmn
chmod g+rx $AGENT_HOME/sysman/opmn/conf
chmod g+rx $AGENT_HOME/sysman/admin
chmod g+rx $AGENT_HOME/sysman/admin/scripts

STEP 6) 'emagent' OS User로 EM Agent를 재기동한다

emctl stop agent
emctl start agent

STEP 7) EM Grid Control에서 Application Server를 등록한다
EM Agent가 Target Application을 Discovering를 하게 되지만 EM Grid Control console에서 보이지 않을수가 있다. 이 경우에는 직접 Application Server를 등록해주어야 한다. EM Grid Control 콘솔로 Web Browser를 이용하여 로그인한 후, 콘솔에서 작업을 진행하며, 그 절차는 다음과 같다.
https://test.seriends.com:1159/em 으로 접속
Targets - Application Servers - Add Oracle Application Server


정리하자면, ‘ias’ OS User는 ‘emagent’ OS User가 설치한 EM Agent로 접근이 가능해야 하며, 반대의 경우도 가능해야 한다. 즉, ‘emagent’는 $IAS_HOME 으로 접근하는데 문제가 없어야 한다.

그리고 Oracle10gAS Infrastructure와 Middleware는 각각 OC4J Instance가 다 다르기에 모든 OC4J Instance 및 추가 Config File들에 대해서 권한설정을 해 주어야 한다. 즉, Oracle Business Intelligence 제품이 설치가 된 경우, 추가적인 권한설정을 해 주어야 한다. 이에 대한 정보는 아래 Troubleshooting 내용을 보면 도움이 될 것이다.


Troubleshooting

$AGENT_HOME/sysman/log/emagent_perl.trc 파일에 아래와 같은 형태의 에러메세지가 나타난다면, 이는 해당 파일에 대한 권한설정이 제대로 되지 않은 경우이다. 위에서 언급한 방법대로 권한설정을 해 주어야 한다.

$AGENT_HOME/sysman/log/emagent_perl.trc
ERROR: Include file does not exist: '/disco/midtier/rdbms/demo/aqxml.conf'
ERROR: Include file does not exist: '/disco/midtier/jpi/doc/jpi.conf'
ERROR: Include file does not exist: '/disco/midtier/Apache/oradav/conf/moddav.conf'
ERROR: Include file does not exist: '/disco/midtier/Apache/jsp/conf/ojsp.conf'
ERROR: Include file does not exist: '/disco/midtier/ldap/das/oiddas.conf'
ERROR: Include file does not exist: '/disco/midtier/Apache/modplsql/conf/plsql.conf'



Reference

  • Note 437078.1
  • Bug 5706991 AS DISCOVERY FAILS IN GC IF THE AGENT IS INSTALLED AS DIFFERENT USER


Created by jhpark. Last Modification: Sunday 12 of January, 2014 16:28:30 KST by Admin. (Version 4)
[ Execution time: 0.16 secs ]   [ Memory usage: 22.93MB ]   [ Queries: 47 in 0.00 secs ]   [ Server load: 0.01 ]

Shout anything, anybody...

jhpark: 감기가 장난이 아니내요. 모두들 감기 조심하세요...~
jhpark: 세렌즈 홈페이지의 Tiki에 대한 Patch가 이루어졌습니다. 새로운 버전은 Tiki 12.3
jhpark: 말그대로 키오스크이지요. 뭔가 샤우팅하고 싶은 것이 있다면 그것이 무엇이든 샤우티잉...
meng: 이건 뭐지요 ㅋㅋ
jhpark: 이곳 정자동엔 함박눈... 오늘 어케 퇴근하나.
Ji-Su Hong: 출첵? ㅎ~
jhpark: sql_mode=""의 위력은 대단하다. 특히 End User의 입장에서는...
박영훈: testtest
jhpark: 명규야 잘자라, 내일을 위해서... ㅋㅋ
Admin: 아우, 홈페이지 결국은 오픈했당. 어지러워라...