До (sqlplus):
COLUMN ftp_protocol format a10 COLUMN http_protocol format a10 COLUMN http2_protocol format a10 COLUMN http_host format a10 COLUMN http2_host format a10 SELECT ftp_port,ftp_protocol,http_port,http_protocol,http_host,http2_port,http2_protocol,http2_host FROM xdb.xdb$root_info; FTP_PORT FTP_PROTOC HTTP_PORT HTTP_PROTO HTTP_HOST HTTP2_PORT HTTP2_PROT HTTP2_HOST ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- 2121 tcp 8080 tcp 0
(bash):
netstat -ntpl| grep 8080
tcp 0 0 :::8080 :::* LISTEN 11557/tnslsnr
После (sqlplus):
COLUMN ftp_protocol format a10 COLUMN http_protocol format a10 COLUMN http2_protocol format a10 COLUMN http_host format a10 COLUMN http2_host format a10 SELECT ftp_port,ftp_protocol,http_port,http_protocol,http_host,http2_port,http2_protocol,http2_host FROM xdb.xdb$root_info; FTP_PORT FTP_PROTOC HTTP_PORT HTTP_PROTO HTTP_HOST HTTP2_PORT HTTP2_PROT HTTP2_HOST ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- 2121 tcp 8080 tcp localhost 0
(bash):
netstat -ntpl| grep 8080
tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN 32116/tnslsnr
Теперь, собственно, как этого добиться. Всё просто (sqlplus):
exec DBMS_XDB.setlistenerlocalaccess(TRUE);
PS. После этого можно "вешать" на порт 8080, например, nginx и управлять уже через него. Я, к примеру, настроил перенаправление всех обращений к порту 8080 на порт 443 (HTTPS), который обслуживается nginx'ом, выступающим в качестве reverse-proxy к localhost:8080, на котором и "сидит" APEX. Таким образом доступ к APEX осуществляется по шифрованному каналу.