Nos temos a tarefa de instalar o APEX em um banco oracle standard ou enterprise.
Usamos no dia a dia o APACHE para as operacoes corriqueiras para internet. Usando o banco para instalar os pacotes do APEX e o listener para que possamos ativar o acesso via protocolo HTTP para acessar a funcionalidade do APEX via browser local na maquina.

Vamos a instalacao:

Verifique se o seu banco contem a OPCAO de XML. Se caso nao existir, instale seguindo os passos referente ao link:

http://www.soudba.com.br/2008/09/instalando-o-xml-no-banco-oracle.html

Aqui demonstraremos como instalar no WINDOWS, para proceder em linux somente substituia a pasta onde ficara o apex pela de sua preferencia.

Primeiro descompacte o arquivo, apex_3.1.1 na pasta c:apex

conecte-se ao ORACLE, crie a tablespace abaixo.

sqlplus / as sysdba

CREATE TABLESPACE APEX datafile ‘C:oraclexeoradataXEAPEX.dbf’
SIZE 500M
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE APEX_FILES datafile ‘C:oraclexeoradataXEAPEX_FILES.dbf’
SIZE 100M
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;

Va ate a pasta que voce descompactou o APEX

cd apex

Rode o script para criar o APEX dentro do sqlplus.

sqlplus / as sysdba
@apexins htmldb APEX APEX_FILES TEMP /i/

se acontecer problemas, apague o usuario e tente novamente.

DROP USER FLOWS_030000 CASCADE;

Execute o comando abaixo, que carrega as imagens dentro do banco de dados, para sejam mostradas dentro do aplicativo APEX quando voce estiver trabalhando com ele.

@apxldimg.sql C:Apex

Se solicitar para informar novamente ou paralisar em um prompt, informe
c:apex/images/

Geralmente identico ao que ele proprio informou na etapa de construcao do comando, portanto recomendo copiar o caminho montado, a partir da instrucao que vai ser mostrada na execucao do script.

Troque a senha, para uma de sua preferencia.

@apxxepwd.sql suasenha

Ainda dentro do sqlplus execute:

call dbms_xdb.setHttpPort(80);
call dbms_xdb.setFtpPort(21);
ALTER system register;
@apex_epg_config.sql  /i

Se ainda persistir problemas veja se exitem objetos invalidos recompile use utlrp.sql

Isso ira habilitar o seu listener para escutar as requisicoes em HTTP e FTP.

saia do sqlplus, faca o teste do listener.

lsnrctl start
lsnrctl services

c:Documents and Settingsoracle>lsnrctl status

LSNRCTL for 32-bit Windows: Version 10.2.0.3.0 – Production on 18-DEC-2006 14:28:05

Copyright (c) 1991, 2006, Oracle. All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
STATUS of the LISTENER
————————
Alias LISTENER
Version TNSLSNR for 32-bit Windows: Version 10.2.0.3.0 – Produ
ction
Start Date 18-DEC-2006 13:24:27
Uptime 0 days 1 hr. 3 min. 38 sec
Trace Level off
Security ON: Password or Local OS Authentication
SNMP OFF
Listener Parameter File F:oracleproduct10.2.0db_1NETWORKADMINlistener.o
ra
Listener Log File F:oracleproduct10.2.0db_1networkloglistener.log

Listening Endpoints Summary…
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=80))(Presentation=HT
TP)(Session=RAW))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=21))(Presentation=FT
P)(Session=RAW))
Services Summary…
Service “LAB” has 2 instance(s).
Instance “LAB”, status UNKNOWN, has 1 handler(s) for this service…
Instance “lab”, status READY, has 1 handler(s) for this service…
Service “labXDB” has 1 instance(s).
Instance “lab”, status READY, has 1 handler(s) for this service…
Service “lab_XPT” has 1 instance(s).
Instance “lab”, status READY, has 1 handler(s) for this service…
The command completed successfully

Agora abra o browser, faca o teste:

http://NOMEDASUAMAQUINA/apex nao use o IP 127.0.0.1 da erro ao acessar via xmldb.

http://NOMEDASUAMAQUINA/apex/ e http://NOMEDASUAMAQUINA/apex/apex_admin.

Use as senhas abaixo

Workspace – internal
Username – Admin
Password – suasenha

Se ficar insistindo em pedir uma senha do usuario XDB, execute o script abaixo no sqlplus.

ALTER user anonymous account UNLOCK;
ALTER system SET shared_servers = 5;
ALTER system register;

EXEC DBMS_EPG.authorize_dad ( dad_name => ‘APEX’, user => ‘ANONYMOUS’ );

# Link de referencia:

http://www.pythian.com/news/2014/installing-apex-on-oracle-10gr2-on-mac-os-x-leopard-intel

DECLARE
configxml XMLType;
configxml2 XMLType;
BEGIN
— Get the current configuration
configxml := DBMS_XDB.cfg_get();

— Modify the configuration
SELECT INSERTCHILDXML(
configxml,
‘/xdbconfig/sysconfig/protocolconfig/httpconfig’,
‘allow-repository-anonymous-access’,
XMLType(‘<allow-repository-anonymous-access xmlns=”http://xmlns.oracle.com/xdb/xdbconfig.xsd”>true</allow-repository-anonymous-access>&#8217;),
‘xmlns=”http://xmlns.oracle.com/xdb/xdbconfig.xsd”&#8216;)
INTO configxml2 FROM DUAL;
— Update the configuration to use the modified version
DBMS_XDB.cfg_update(configxml2);
END;
/





Se ocorrer que ja existe a entrada do anonymous execute o proximo script:

CONN sys/password AS SYSDBA

SET SERVEROUTPUT ON
DECLARE
l_configxml XMLTYPE;
l_value VARCHAR2(5) := ‘true’; — (true/false)
BEGIN
l_configxml := DBMS_XDB.cfg_get();

IF l_configxml.existsNode(‘/xdbconfig/sysconfig/protocolconfig/httpconfig/allow-repository-anonymous-access’) = 0 THEN
— Add missing element.
SELECT insertChildXML
(
l_configxml,
‘/xdbconfig/sysconfig/protocolconfig/httpconfig’,
‘allow-repository-anonymous-access’,
XMLType(” ||
l_value ||
”),
‘xmlns=”http://xmlns.oracle.com/xdb/xdbconfig.xsd”&#8216;
)
INTO l_configxml
FROM dual;

DBMS_OUTPUT.put_line(‘Element inserted.’);
ELSE
— Update existing element.
SELECT updateXML
(
DBMS_XDB.cfg_get(),
‘/xdbconfig/sysconfig/protocolconfig/httpconfig/allow-repository-anonymous-access/text()’,
l_value,
‘xmlns=”http://xmlns.oracle.com/xdb/xdbconfig.xsd”&#8216;
)
INTO l_configxml
FROM dual;

DBMS_OUTPUT.put_line(‘Element updated.’);
END IF;

DBMS_XDB.cfg_update(l_configxml);
DBMS_XDB.cfg_refresh;
END;
/

# Apache – Se for configurar o plsql Gateway
@apex_epg_config.sql /u01/oracle/product/10.2.0/db_1.

# Enabling Oracle XML DB HTTP Server, shared servers and unlocking ANONYMOUS user :

call dbms_xdb.setHttpPort(8080);
alter system set shared_servers = 5;
alter system register;
alter user anonymous account unlock;

##########################################################
TRADUZIR O APEX PARA PORTUGUES BRASIL
##########################################################
Va ao diretorio de instalacao do APEX, localize o script, @load_pt_br.sql.
Se quiser carregar todas as traduções, execute o script @load_trans.sql.
Obrigado configurar a variavel de ambiente, nls_lang porque senao voce ira carregar bichinhos ao inves dos assentos.

No linux voce pode tentar rodar diretamente, ja fiz algumas vezes nao precisou
configurar a variavel mas o que esta no manual para o LINUX:
NLS_LANG=American_America.AL32UTF8
export NLS_LANG

O que consta no manaul para o windows é que esta abaixo,WINDOWS velho prompt:
set NLS_LANG=American_America.AL32UTF8
mesmo sendo portugues, deve se usar este caracter set.

Para o listener ouvir alem do 127.0.0.1 faça:

EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);

cd C:apexbuilderpt-br
sqlplus / as sysdba
ALTER SESSION SET CURRENT_SCHEMA = FLOWS_030100;
@load_pt-br.sql;
exit;

Tente novamente no browser. Neste ponto a APEX ja estara funcional.