Oracle sagt, diese Konfiguration ist nicht supported, also ab hier auf eigene Gefahr weiter :-)
Netterweise ist das Installationsskript schon auf XE angepasst, man muss nur ein paar kleine Schlaglöcher umschiffen.
Wir gehen im nachfolgenden Beispiel davon aus, dass Sie das Oracle-APEX 3.0 Package heruntergeladen und im Verzeichnis c:\temp ausgepackt haben.
define XE = '1'
dos> cd c:\temp\apex
Wenn Sie das nicht machen und das nachfolgende Skript über den absoluten Pfad (c:\temp\apex\apexins.sql ....) starten, dann stimmen die davon abhängigen relativen Pfade nicht mehr!
Ich verweise mal auf den schönen Header der Datei apexins.sql
Rem 1)Local
Rem sqlplus "sys/syspass as sysdba" @apexins password SYSAUX SYSAUX TEMP /i/ none
Rem
Rem 2)With connect string
Rem sqlplus "sys/syspass@10g as sysdba" @apexins password SYSAUX SYSAUX TEMP /i/ 10g
Achtung:
An der Stelle, an der <passwort> steht, sollte IHR Passwort für den APEX-Benutzer (FLOWS_030000) eingetragen werden!
dos> sqlplus "sys/sys@xe as sysdba" @apexins.sql sagichnicht SYSAUX SYSAUX TEMP /i/ none
- Ein Package (wwv_flow_xe_config) zickt rum, dass (mindestens) eine Tabelle nicht existiert. Dazu vergeben wir dem APEX-Benutzer das Recht auf die Verwaltungstabellen.
Dies können Sie auch schon kurz nach dem Start des Skripts aus 5d machen.
Mit Recht "select any dictionary" gestatten wir dem Benutzer flows_030000 (dessen Account später eh gesperrt wird) auf dem Verwaltungsapparat lesend zugreifen zu dürfen:
sqlplus "sys/syspass@xe as sysdba"
sql> alter session set current_schema=FLOWS_030000;
sql> grant select any dictionary to FLOWS_030000;
- Ein Skript wird nicht installiert, wenn XE ausgewählt wurde. Dieses starten wir nachträglich. (Achtung: wir sind weiterhin im APEX-Installationspfad!)
sqlplus "sys/syspass@xe as sysdba" @builder/f4050.sql
Nun installieren wir das Package noch mal neu:
sql> @<apex_install_ordner>\core\wwv_flow_xe_config.sql
sql> @<apex_install_ordner>\core\wwv_flow_xe_config.plb
Troubleshooting: Was tun, wenn APEX 3.0 nicht läuft:
Wenn mit dem internen Gatway (dbms_epg) gearbeitet wurde, fragen wir uns: Ist die Portnummer für HTTP eingerichtet?
SQL> select dbms_xdb.gethttpport from dual;
GETHTTPPORT
-----------
8080
Falls nicht, den Port setzen mittels
SQL> BEGIN dbms_xdb.sethttpport(8080); end;
Dem Listener Bescheid geben, dass sich etwas geändert hat
SQL> ALTER SYSTEM REGISTER;
Listener nun prüfen
SQL> HOST lsnrctl status
Zusammenfassung Listening-Endpunkte...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)
(PIPENAME=\\.\pipe\EXTPROC_FOR_XEipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)
(HOST=goofy.muniqsoft.de)(PORT=1522)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)
(HOST=goofy.muniqsoft.de)(PORT=8081)) (Presentation=HTTP)(Session=RAW))
Services Übersicht...
Dienst "CLRExtProc" hat 1 Instance(s).
Instance "CLRExtProc", Status UNKNOWN, hat 1 Handler für diesen Dienst...
Dienst "PLSExtProc" hat 1 Instance(s).
Instance "PLSExtProc", Status UNKNOWN, hat 1 Handler für diesen Dienst...
Dienst "XEXDB" hat 1 Instance(s).
SQL> connect 'SYS/<SYS_Password> as SYSDBA'
Benutzer Anonymous freischalten:
SQL> ALTER USER ANONYMOUS ACCOUNT UNLOCK;
sql> @<apex_install_ordner>\apex_epg_config.sql c:\temp
Notlösung: XDB deinstallieren und wieder installieren
@?/rdbms/admin/catnoqm.sql
@?/rdbms/admin/catqm.sql XDB SYSAUX TEMP
pex_admin wieder einrichten
create or replace procedure flows_030000.apex_admin
as
begin
f (p=>'4050:3');
end;
/
Rechte an Anonymous vergeben
grant execute on flows_030000.apex_admin to anonymous;
Hinweis: Für die Version 3.1 und 3.2 besteht die Restriktion nicht mehr. Hier kann APEX ohne Probleme installiert werden.
In unserer Know-How Datenbank finden Sie mehr als 300 ausführliche Beiträge zu den
Oracle-Themen wie DBA, SQL, PL/SQL, APEX und vielem mehr.
Hier erhalten Sie Antworten auf Ihre Fragen.