본문 바로가기

Oracle/admin

10.2.0.1 -> 10.2.0.4로 업그레이드후 em upgrade error

#>emca -upgrade db

 

STARTED EMCA at Apr 23, 2009 5:30:14 PM
EM Configuration Assistant, Version 10.2.0.1.0 Production
Copyright (c) 2003, 2005, Oracle.  All rights reserved.

Enter the following information:
ORACLE_HOME for the database to be upgraded:
ORACLE_HOME for the database to be upgraded: /oracle/product/102/db_1
Database SID: orcl
Listener port number: 1521

Do you wish to continue? [yes(Y)/no(N)]: y
Apr 23, 2009 5:30:59 PM oracle.sysman.emcp.EMConfig perform
INFO: This operation is being logged at /volumes/u01/app/oracle/product/10.2.0/cfgtoollogs/emca/orcl/emca_2009-04-23_05-30-14-PM.log.
Apr 23, 2009 5:31:04 PM oracle.sysman.emcp.util.DBControlUtil stopOMS
INFO: Stopping Database Control (this may take a while) ...
Exception in thread "main" javax.xml.transform.TransformerFactoryConfigurationError: Provider oracle.xml.jaxp.JXSAXTransformerFactory could
        at javax.xml.transform.TransformerFactory.newInstance(TransformerFactory.java:100)
        at oracle.sysman.emcp.util.XMLIndent.getTransformedXML(XMLIndent.java:75)
        at oracle.sysman.emcp.util.FileUtil.copyNodeFromXml(FileUtil.java:1672)
        at oracle.sysman.emcp.EMDBCConfig.copySecureDBCFiles(EMDBCConfig.java:1396)
        at oracle.sysman.emcp.EMDBCConfig.instantiateOC4JConfigFiles(EMDBCConfig.java:987)
        at oracle.sysman.emcp.EMDBCConfig.performConfiguration(EMDBCConfig.java:390)
        at oracle.sysman.emcp.EMDBCConfig.performUpgrade(EMDBCConfig.java:328)
        at oracle.sysman.emcp.EMDBCConfig.invoke(EMDBCConfig.java:166)
        at oracle.sysman.emcp.EMDBCConfig.invoke(EMDBCConfig.java:132)
        at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:172)
        at oracle.sysman.emcp.EMConfigAssistant.invokeEMCA(EMConfigAssistant.java:486)
        at oracle.sysman.emcp.EMConfigAssistant.performConfiguration(EMConfigAssistant.java:1142)
        at oracle.sysman.emcp.EMConfigAssistant.statusMain(EMConfigAssistant.java:470)
        at oracle.sysman.emcp.EMConfigAssistant.main(EMConfigAssistant.java:419)



 


해결
버그로 인한 에러이다.
patch 7368170 apply
7368170:UPGRADING EM USING SILENT METHOD FAILS
패치를 하면 정상적으로 업그레이드 된다.
패치절차

1.패치 파일을 다운 받은후 압축을 푼다
#>unzip p7368170_10204_Generic.zip

2.opatch path가 설정되어 있지 않으면
#>export PATH=$PATH:/oracle/product/102/db_1/OPatch
해주거나 .bach_profile에 추가해준다.

3.7368170폴더로 이동후 패치시작
#>cd 7368170
#>opatch apply


또한 shared pool size 가 80m 가 안되어서 생기는 에러도 있는데
아래와 같이 처리해 주자.

SQL>SELECT SUM(bytes)/1024/1024 FROM v$sgastat
        WHERE pool = 'shared pool';
로 확인후 80m가 안될경우에..

1.파라메터파일이 있는곳으로 이동

#>cd $ORACLE_HOME/dbs

2.초기화파라메터를 vi편집기로 편집

#>vi init<SID>.ora

orcl.__db_cache_size=184549376
orcl.__java_pool_size=4194304
orcl.__large_pool_size=4194304
orcl.__shared_pool_size=88080384 <-이부분을   104857600 이렇게 바꿔준다
orcl.__streams_pool_size=0
*.audit_file_dest='/oracle/admin/orcl/adump'
*.background_dump_dest='/oracle/admin/orcl/bdump'
*.compatible='10.2.0.1.0'
*.control_files='/oracle/oradata/orcl/control01.ctl','/oracle/oradata/orcl/control02.ctl','/oracle/oradata/orcl/control03.ctl'
*.core_dump_dest='/oracle/admin/orcl/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='orcl'
*.db_recovery_file_dest='/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.job_queue_processes=10
*.log_archive_dest_1='location=/oracle/arc_back'
*.open_cursors=300
*.pga_aggregate_target=94371840
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=285212672
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/oracle/admin/orcl/udump'

수정해주고 닫는다.
실제로 88080384는 80m가 넘는 용량이지만 database상에서 shared pool size를 조회해보면 80m에 부족하게 나온다.

3.변경된 값을 적용하기 위해 database를 내렸다 올려주자.
SQL>shutdown immediate;
SQL>create spfile from pfile;
SQL>startup;
SQL>SELECT SUM(bytes)/1024/1024 FROM v$sgastat
       WHERE pool = 'shared pool';
조회후 80이 되는지 보고 된다면...
#>emca -upgrade db