12 Eylül 2014 Cuma

OEL 5.5 üzerinde Apex 4.1 'den 4.2' ye upgrade

1) Apex 4.2, aşağıdaki adresten download edilir.

http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html

2) Download edilen apex4.2.5.zip istenilen bir klasöre açılır.

3) Zip dosyanın açıldığı klasörde apexins.sql dosyası çalıştırılır.

sqlplus ile sys user kullanılarak bağlanılmalıdır.
apexins.sql dışarıdan 4 parametre alır : APEX user için kullanılacak tablaspace, FLOWS_FILES user için kullanılacak tablespace,TEMP tablespace, image klasörünün ismi.

$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Thu Jan 3 11:21:39 2013
 
Copyright (c) 1982, 2011, Oracle. All rights reserved.
 
SQL> @apexins.sql APEX APEX TEMP /i/

Benim makinemde komutun tamamlanması 16 dk. sürdü.
Sonrasında “APEX_040200″ kullanıcısının oluştuğunu görebilirsiniz.

4) Upgrade sonrası kontrol

Kurulum sonrası aşağıdaki query sonucu "VALID" olmalıdır.

$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Thu Jan 3 11:21:39 2013
 
Copyright (c) 1982, 2011, Oracle. All rights reserved.
 
SQL> select status from dba_registry where comp_id='APEX';
 
STATUS
-------------------------------------------------------
VALID

5) Image klasörünün ayarlanması

Kurulum sonrası, eski apex kurulumunuzun bulunduğu klasörün ismini değiştirin ve
yeni apex klasörünüzü buraya taşıyarak aynı ismi verin.
Sonrasında eski apex/images klasörünüzde bulunan manual yüklediğiniz resim dosyalarınızı
yeni apex/images klasörünüze kopyalayın.

6) Eğer Oracle 11g kullanıyorsanız ve mail atma gibi aksiyonlarınız varsa
ilgili network yetkileri “APEX_040200″ user için verilmelidir.

Aşağıdaki sql scripti sys user ile çalıştırılmalıdır.

DECLARE
ACL_PATH VARCHAR2(4000);
BEGIN
-- Look for the ACL currently assigned to '*' and give APEX_040200
-- the "connect" privilege if APEX_040200 does not have the privilege yet.
SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS
WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL;
IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_040200',
'connect') IS NULL THEN
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
'APEX_040200', TRUE, 'connect');
END IF;
EXCEPTION
-- When no ACL has been assigned to '*'.
WHEN NO_DATA_FOUND THEN
DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('power_users.xml',
'ACL that lets power users to connect to everywhere',
'APEX_040200', TRUE, 'connect');
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*');
END;
/
COMMIT;

Bu blog yazısını hazırlarken gerçekleştirdiğim upgrade
deneyimi yanısıra aşağıdaki adresten yararlandım.
İncelemeniz faydalı olabilir. 

https://matthiashoys.wordpress.com/tag/apexins-sql/