Oracle Database XE installieren (AlmaLinux/CentOS): Unterschied zwischen den Versionen
K (→Optionales) |
|||
(80 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Oracle Database Express Edition inkl. APEX und Oracle Rest Data Services installieren. | |||
'''''Getestet auf AlmaLinux 8''''' | |||
== Oracle Database Express installieren == | == Oracle Database Express installieren == | ||
Abhängigkeiten | Vorhandene Pakete aktualisieren und wget installieren:<syntaxhighlight lang="bash"> | ||
dnf update | |||
dnf install wget | |||
</syntaxhighlight>Die neuste Version der Datenbank und des Preinstall-Pakets gibt es hier: | |||
https://www.oracle.com/de/database/technologies/xe-downloads.html | |||
Sofern nicht [https://www.oracle.com/de/linux/ Oracle Linux] als Betriebssystem genutzt wird, muss vorher das Paket <code>oracle-database-preinstall</code> installiert werden. | |||
Hiermit werden alle Abhängigkeiten für die Datenbank installiert: | |||
<syntaxhighlight lang="bash"> | |||
wget https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/getPackage/oracle-database-preinstall-21c-1.0-1.el8.x86_64.rpm | wget https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/getPackage/oracle-database-preinstall-21c-1.0-1.el8.x86_64.rpm | ||
dnf -y | dnf -y install oracle-database-preinstall-21c-1.0-1.el8.x86_64.rpm | ||
</syntaxhighlight>Oracle Database XE | </syntaxhighlight>Als nächstes kann Oracle Database XE installiert werden:<syntaxhighlight lang="bash"> | ||
wget https://download.oracle.com/otn-pub/otn_software/db-express/oracle-database-xe-21c-1.0-1.ol8.x86_64.rpm | wget https://download.oracle.com/otn-pub/otn_software/db-express/oracle-database-xe-21c-1.0-1.ol8.x86_64.rpm | ||
dnf -y | dnf -y install oracle-database-xe-21c-1.0-1.ol8.x86_64.rpm | ||
</syntaxhighlight> | </syntaxhighlight>Bevor die Datenbank initialisiert wird, kann bei Bedarf die Konfigurationsdatei angepasst werden:<syntaxhighlight lang="bash"> | ||
vi /etc/sysconfig/oracle-xe-21c.conf | vi /etc/sysconfig/oracle-xe-21c.conf | ||
</syntaxhighlight>Datenbank | </syntaxhighlight>Folgende Parameter können angegeben werden: | ||
* '''LISTENER_PORT''' Port für die Datenbankverbindung. Wenn nichts angegeben ist, wird der Port automatisch zugewiesen (Der Standardport ist 1521). | |||
* '''EM_EXPRESS_PORT''' Port für den Oracle Enterprise Manager (EM) Express. Standardmäßig auf '''5500'''. | |||
* '''CHARSET''' Charset der Datenbank. Standardmäßig '''AL32UTF8'''. | |||
* '''DBFILE_DEST''' Pfad zu den Datenbankdateien. Wenn nichts angegeben ist, wird standradmäßig ''Oracle Base'' <code>/opt/oracle/oradata</code> verwendet. Wenn ein abweichender Pfad eingegeben wird muss sichergestellt sein, dass der Besitzer ''oracle'' ist. | |||
* '''SKIP_VALIDATIONS''' Überprüfung deaktivieren ob genügend RAM und Festplattenspeicher vorhanden ist. Standardmäßig '''false'''. | |||
<br> | |||
Jetzt kann die Datenbank initialisiert werden:<syntaxhighlight lang="bash"> | |||
/etc/init.d/oracle-xe-21c configure | /etc/init.d/oracle-xe-21c configure | ||
</syntaxhighlight>Sofern an der Konfigurationsdatei keine Änderungen vorgenommen wurden, erzeugt das Skript eine ''Container Database'' ('''XE''') mit einer ''Pluggable Database'' ('''XEPDB1''') und öffnet den Port 1521 für Verbindungen mit der Datenbank und Port 5050 für den Enterprise Manager Express. | |||
Zur Sicherheit sollte anschließend ein Neustart durchgeführt werden:<syntaxhighlight lang="bash"> | |||
reboot | reboot | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Danach die Datenbank erneut starten und so konfigurieren, dass sie nach einem Neustart automatisch anläuft.<syntaxhighlight lang="bash"> | |||
systemctl enable oracle-xe-21c | systemctl enable oracle-xe-21c | ||
systemctl start oracle-xe-21c | systemctl start oracle-xe-21c | ||
</syntaxhighlight>Zum oracle Benutzer wechseln<syntaxhighlight lang="bash"> | </syntaxhighlight> | ||
=== Umgebungsvariablen anlegen === | |||
Um die Dienstprogramme von Oracle zu nutzen müssen noch Umgebungsvariablen angelegt werden. | |||
Zum oracle Benutzer wechseln:<syntaxhighlight lang="bash"> | |||
su oracle | su oracle | ||
</syntaxhighlight>Die Umgebungsvariablen für Oracle in die .bashrc einfügen<syntaxhighlight lang="bash"> | </syntaxhighlight>Die Umgebungsvariablen für Oracle in die .bashrc einfügen<syntaxhighlight lang="bash"> | ||
cd ~ | cd ~ | ||
vi .bashrc | vi .bashrc | ||
</syntaxhighlight><syntaxhighlight lang="bash"> | </syntaxhighlight>Folgende Zeilen am Ende der Datei unter <code># User specific aliases and functions</code> einfügen:<syntaxhighlight lang="bash"> | ||
export ORACLE_SID=XE | export ORACLE_SID=XE | ||
export ORAENV_ASK=NO | export ORAENV_ASK=NO | ||
Zeile 29: | Zeile 67: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Damit die Änderungen wirksam werden muss man sich entweder neu einloggen oder folgenden Befehl ausführen:<syntaxhighlight lang="bash"> | |||
source ~/.bashrc | |||
</syntaxhighlight> | |||
=== Oracle Enterprise Manager Express nutzen === | |||
Für einen externen Zugriff | |||
Der Oracle Enterprise Manager Express ist standardmäßig unter https://localhost:5500/em zu erreichen. | |||
Für einen externen Zugriff müssen folgende Befehle ausgeführt werden (Als oracle Benutzer):<syntaxhighlight lang="bash"> | |||
sqlplus system | sqlplus system | ||
Enter password: SYSTEM_password | Enter password: SYSTEM_password | ||
Zeile 38: | Zeile 82: | ||
</syntaxhighlight>Mit <code>ss -tulnp | grep LISTEN</code> kann überprüft werden ob der Enterprise Manager auf dem Port 5500 läuft<syntaxhighlight lang="bash"> | </syntaxhighlight>Mit <code>ss -tulnp | grep LISTEN</code> kann überprüft werden ob der Enterprise Manager auf dem Port 5500 läuft<syntaxhighlight lang="bash"> | ||
tcp LISTEN 0 128 *:5500 *:* users:(("tnslsnr",pid=2531,fd=18)) | tcp LISTEN 0 128 *:5500 *:* users:(("tnslsnr",pid=2531,fd=18)) | ||
</syntaxhighlight>Damit der Port von außen erreichbar ist, muss | </syntaxhighlight>Damit der Port von außen erreichbar ist, muss dieser in der Firewall geöffnet werden:<syntaxhighlight lang="bash"> | ||
su - | |||
firewall-cmd --permanent --add-port=5500/tcp | firewall-cmd --permanent --add-port=5500/tcp | ||
firewall-cmd --reload | firewall-cmd --reload | ||
</syntaxhighlight><gallery widths="260" heights="180"> | |||
Datei:Oracle enterprise manager login.png|Login | |||
Datei:Oracle enterprise manager home.png|Dashboard | |||
</gallery> | |||
== Oracle Application Express (APEX) installieren == | |||
[[Datei:Oracle apex login.png|mini|Oracle APEX Login]] | |||
Die neuste Version von APEX gibt es hier: | |||
https://www.oracle.com/tools/downloads/apex-downloads.html | |||
Zuerst das Paket herunterladen und ins Verzeichnis <code>/opt</code> entpacken:<syntaxhighlight lang="bash"> | |||
wget https://download.oracle.com/otn_software/apex/apex-latest.zip | |||
unzip apex_22.1.zip "apex/*" -d /opt | |||
chown oracle: -R /opt/apex | |||
cd /opt/apex | |||
</syntaxhighlight>In den oracle Benutzer wechseln und die SQL-Konsole starten:<syntaxhighlight lang="bash"> | |||
su oracle | |||
sqlplus /nolog | |||
SQL> CONNECT SYS as SYSDBA | |||
Enter password: SYSTEM_password | |||
</syntaxhighlight>Apex in die Pluggable DB (XEPDB1) installieren:<syntaxhighlight lang="bash"> | |||
SQL> ALTER SESSION SET CONTAINER = XEPDB1; | |||
SQL> @apexins.sql SYSAUX SYSAUX TEMP /i/ | |||
</syntaxhighlight>Administrator und APEX_PUBLIC_USER anlegen:<syntaxhighlight lang="bash"> | |||
SQL> ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK; | |||
SQL> ALTER USER APEX_PUBLIC_USER IDENTIFIED BY "new_password"; | |||
SQL> @apxchpwd.sql | |||
</syntaxhighlight>Konfiguration des RESTful Service starten:<syntaxhighlight lang="bash"> | |||
SQL> @apex_rest_config.sql | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== | === Oracle REST Data Services installieren === | ||
https://www.oracle.com/ | Neuste Version von Oracle Java 18 herunterladen: | ||
wget https://download.oracle.com/otn_software/ | https://www.oracle.com/java/technologies/downloads/<syntaxhighlight lang="bash"> | ||
wget https://download.oracle.com/java/18/latest/jdk-18_linux-x64_bin.rpm | |||
dnf -y install jdk-18_linux-x64_bin.rpm | |||
</syntaxhighlight>Oracle REST Data Services Paket herunterladen:<br> | |||
https://www.oracle.com/database/sqldeveloper/technologies/db-actions/download/<syntaxhighlight lang="bash"> | |||
wget https://download.oracle.com/otn_software/java/ords/ords-latest.zip | |||
unzip ords-latest.zip -d /opt/ords | |||
chown oracle: -R /opt/ords | |||
</syntaxhighlight>Zum oracle Benutzer wechseln:<syntaxhighlight lang="bash"> | |||
su oracle | |||
</syntaxhighlight>Die Umgebungsvariablen für Oracle in die .bashrc einfügen<syntaxhighlight lang="bash"> | |||
cd ~ | |||
vi .bashrc | |||
</syntaxhighlight>Folgende Zeilen am Ende der Datei unter <code># User specific aliases and functions</code> einfügen:<syntaxhighlight lang="bash"> | |||
export PATH="$PATH:/opt/ords/bin" | |||
</syntaxhighlight> | |||
Damit die Änderungen wirksam werden muss man sich entweder neu einloggen oder folgenden Befehl ausführen:<syntaxhighlight lang="bash"> | |||
source ~/.bashrc | |||
</syntaxhighlight>Installation starten:<syntaxhighlight lang="bash"> | |||
cd /opt/ords | |||
ords install | |||
</syntaxhighlight><syntaxhighlight lang="bash"> | |||
Oracle REST Data Services - Interaktive Installation | |||
Geben Sie eine Zahl zur Auswahl des Installationstyps ein | |||
[1] ORDS nur in der Datenbank installieren oder upgraden | |||
[2] Datenbankpool erstellen oder aktualisieren und ORDS in der Datenbank installieren/upgraden | |||
[3] Nur Datenbankpool erstellen oder aktualisieren | |||
Choose [2]: | |||
Geben Sie eine Zahl zur Auswahl des zu verwendenden Datenbankverbindungstyps ein | |||
[1] Basis (Hostname, Port, Servicename) | |||
[2] TNS (TNS-Alias, TNS-Verzeichnis) | |||
[3] Benutzerdefinierte Datenbank-URL | |||
Choose [1]: | |||
Geben Sie den Hostnamen der Datenbank ein [localhost]: | |||
Listener-Port der Datenbank eingeben [1521]: | |||
Datenbankservicename eingeben [XE]: XEPDB1 | |||
Geben Sie einen Datenbankbenutzernamen mit Administratorberechtigungen an. | |||
Geben Sie den Administratorbenutzernamen ein: SYS | |||
Datenbankkennwort für SYS AS SYSDBA eingeben: | |||
Verbindung zu Datenbankbenutzer: SYS AS SYSDBA URL: jdbc:oracle:thin:@//localhost:1521/XEPDB1 wird hergestellt | |||
Informationen werden abgerufen... | |||
Geben Sie den Default Tablespace für ORDS_METADATA und ORDS_PUBLIC_USER ein [SYSAUX]: | |||
Geben Sie den Temporary Tablespace für ORDS_METADATA und ORDS_PUBLIC_USER ein [TEMP]: | |||
Geben Sie eine Zahl ein, um zusätzliche Features zum Aktivieren auszuwählen: | |||
[1] Datenbankaktionen (aktiviert alle Features) | |||
[2] REST-fähige SQL und Datenbank-API | |||
[3] REST-fähige SQL | |||
[4] Datenbank-API | |||
[5] Kein Wert | |||
Choose [1]: | |||
Geben Sie eine Zahl zum Konfigurieren und Starten von ORDS im Standalone-Modus ein | |||
[1] ORDS im Standalone-Modus konfigurieren und starten | |||
[2] Überspringen | |||
Choose [1]: | |||
Geben Sie eine Zahl ein, um das HTTP- oder das HTTPS-Protokoll zu verwenden | |||
[1] HTTP | |||
[2] HTTPS | |||
Choose [1]: | |||
Geben Sie den HTTP-Port ein [8080]: | |||
Geben Sie das Speicherot der statischen APEX-Ressourcen ein: /opt/apex/images | |||
</syntaxhighlight>Der ORDS Server startet im Anschluss an die Installation automatisch und läuft auf Port 8080. | |||
Mit '''STRG+c''' kann der Server beendet werden. | |||
Damit APEX von außen erreichbar ist, muss auch hier der Port in der Firewall geöffnet werden:<syntaxhighlight lang="bash"> | |||
firewall-cmd --permanent --add-port=8080/tcp | |||
firewall-cmd --reload | |||
</syntaxhighlight>Jetzt kann der ORDS Server erneut gestartet werden:<syntaxhighlight lang="bash"> | |||
ords serve | |||
</syntaxhighlight> | |||
Oracle APEX ist jetzt unter http://<Server-IP>:8080 zu erreichen | |||
Um den Service im Hintergrund und nach einen Neustart automatisch starten zu lassen:<syntaxhighlight lang="bash"> | |||
vi /etc/systemd/system/ords.service | |||
</syntaxhighlight><syntaxhighlight lang="bash"> | |||
[Unit] | |||
Description=Oracle REST Data Services | |||
Requires=network.target | |||
After=oracle-xe-21c.service | |||
[Service] | |||
User=oracle | |||
WorkingDirectory=/opt/ords | |||
ExecStart= | |||
ExecStart=/opt/ords/bin/ords serve | |||
ExecStop=/bin/kill -HUP ${MAINPID} | |||
[Install] | |||
WantedBy=multi-user.target | |||
</syntaxhighlight><syntaxhighlight lang="bash"> | |||
systemctl daemon-reload | |||
systemctl enable --now ords | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== Optionales == | |||
=== Network Services aktivieren === | |||
Um aus einer APEX Applikation Emails zu senden, PDFs zu generieren oder Web Services zu nutzen, muss APEX die "Connect" Berechtigung zugewiesen werden. | |||
In den oracle Benutzer wechseln und die SQL-Konsole starten:<syntaxhighlight lang="bash"> | |||
su oracle | |||
sqlplus /nolog | |||
SQL> CONNECT SYS as SYSDBA | |||
Enter password: SYSTEM_password | |||
</syntaxhighlight>In die Datenbank wechseln in der APEX installiert ist:<syntaxhighlight lang="bash"> | |||
SQL> ALTER SESSION SET CONTAINER = XEPDB1; | |||
</syntaxhighlight>Der folgende Befehl weist dem Benutzer APEX_220200 die "Connect" Berechtigung zu:<syntaxhighlight lang="plsql" line="1"> | |||
BEGIN | |||
DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE( | |||
host => '*', | |||
ace => xs$ace_type(privilege_list => xs$name_list('connect'), | |||
principal_name => 'APEX_220200', | |||
principal_type => xs_acl.ptype_db)); | |||
END; | |||
/ | |||
</syntaxhighlight><code>host => '*'</code> bedeutet das APEX_220200 auf alle Hosts zugreifen kann. | |||
Falls der APEX z.B. nur Zugriff auf lokale Ressourcen haben soll, kann dies mit <code>host => 'localhost</code>' erreicht werden. | |||
== Quellen == | |||
* [https://www.oracle.com/de/database/technologies/appdev/xe/quickstart.html https://www.oracle.com/de] | |||
* https://docs.oracle.com/en/database/oracle/apex/22.1/htmig/installing-and-configuring-apex-and-ords.html | |||
* [https://docs.oracle.com/en/database/oracle/apex/22.1/htmig/enabling-network-services-in-Oracle-db11g-or-later.html#GUID-CA19B8DF-B210-46FC-BC3A-F0DC76AE5625 https://docs.oracle.com/en/database/oracle/apex/22.1/htmig/enabling-network-services-in-Oracle-db11g-or-later.html] | |||
* https://apex.oracle.com/pls/apex/germancommunities/apexcommunity/tipp/6121/index-en.html | |||
* [https://stackoverflow.com/questions/45397936/error-provisioning-namespace-ora-20001-request-could-not-be-processed-at-oracle https://stackoverflow.com/] | |||
== Kommentare == | |||
<comments nocache=true /> | |||
[[Kategorie:Webserver]] | |||
[[Kategorie:Database]] | |||
[[Kategorie:AlmaLinux]] |
Aktuelle Version vom 13. Dezember 2022, 18:06 Uhr
Oracle Database Express Edition inkl. APEX und Oracle Rest Data Services installieren.
Getestet auf AlmaLinux 8
Oracle Database Express installieren
Vorhandene Pakete aktualisieren und wget installieren:
dnf update
dnf install wget
Die neuste Version der Datenbank und des Preinstall-Pakets gibt es hier:
https://www.oracle.com/de/database/technologies/xe-downloads.html
Sofern nicht Oracle Linux als Betriebssystem genutzt wird, muss vorher das Paket oracle-database-preinstall
installiert werden.
Hiermit werden alle Abhängigkeiten für die Datenbank installiert:
wget https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/getPackage/oracle-database-preinstall-21c-1.0-1.el8.x86_64.rpm
dnf -y install oracle-database-preinstall-21c-1.0-1.el8.x86_64.rpm
Als nächstes kann Oracle Database XE installiert werden:
wget https://download.oracle.com/otn-pub/otn_software/db-express/oracle-database-xe-21c-1.0-1.ol8.x86_64.rpm
dnf -y install oracle-database-xe-21c-1.0-1.ol8.x86_64.rpm
Bevor die Datenbank initialisiert wird, kann bei Bedarf die Konfigurationsdatei angepasst werden:
vi /etc/sysconfig/oracle-xe-21c.conf
Folgende Parameter können angegeben werden:
- LISTENER_PORT Port für die Datenbankverbindung. Wenn nichts angegeben ist, wird der Port automatisch zugewiesen (Der Standardport ist 1521).
- EM_EXPRESS_PORT Port für den Oracle Enterprise Manager (EM) Express. Standardmäßig auf 5500.
- CHARSET Charset der Datenbank. Standardmäßig AL32UTF8.
- DBFILE_DEST Pfad zu den Datenbankdateien. Wenn nichts angegeben ist, wird standradmäßig Oracle Base
/opt/oracle/oradata
verwendet. Wenn ein abweichender Pfad eingegeben wird muss sichergestellt sein, dass der Besitzer oracle ist. - SKIP_VALIDATIONS Überprüfung deaktivieren ob genügend RAM und Festplattenspeicher vorhanden ist. Standardmäßig false.
Jetzt kann die Datenbank initialisiert werden:
/etc/init.d/oracle-xe-21c configure
Sofern an der Konfigurationsdatei keine Änderungen vorgenommen wurden, erzeugt das Skript eine Container Database (XE) mit einer Pluggable Database (XEPDB1) und öffnet den Port 1521 für Verbindungen mit der Datenbank und Port 5050 für den Enterprise Manager Express.
Zur Sicherheit sollte anschließend ein Neustart durchgeführt werden:
reboot
Danach die Datenbank erneut starten und so konfigurieren, dass sie nach einem Neustart automatisch anläuft.
systemctl enable oracle-xe-21c
systemctl start oracle-xe-21c
Umgebungsvariablen anlegen
Um die Dienstprogramme von Oracle zu nutzen müssen noch Umgebungsvariablen angelegt werden.
Zum oracle Benutzer wechseln:
su oracle
Die Umgebungsvariablen für Oracle in die .bashrc einfügen
cd ~
vi .bashrc
Folgende Zeilen am Ende der Datei unter # User specific aliases and functions
einfügen:
export ORACLE_SID=XE
export ORAENV_ASK=NO
. /opt/oracle/product/21c/dbhomeXE/bin/oraenv
Damit die Änderungen wirksam werden muss man sich entweder neu einloggen oder folgenden Befehl ausführen:
source ~/.bashrc
Oracle Enterprise Manager Express nutzen
Der Oracle Enterprise Manager Express ist standardmäßig unter https://localhost:5500/em zu erreichen.
Für einen externen Zugriff müssen folgende Befehle ausgeführt werden (Als oracle Benutzer):
sqlplus system
Enter password: SYSTEM_password
SQL> EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);
Mit ss -tulnp | grep LISTEN
kann überprüft werden ob der Enterprise Manager auf dem Port 5500 läuft
tcp LISTEN 0 128 *:5500 *:* users:(("tnslsnr",pid=2531,fd=18))
Damit der Port von außen erreichbar ist, muss dieser in der Firewall geöffnet werden:
su -
firewall-cmd --permanent --add-port=5500/tcp
firewall-cmd --reload
Oracle Application Express (APEX) installieren
Die neuste Version von APEX gibt es hier:
https://www.oracle.com/tools/downloads/apex-downloads.html
Zuerst das Paket herunterladen und ins Verzeichnis /opt
entpacken:
wget https://download.oracle.com/otn_software/apex/apex-latest.zip
unzip apex_22.1.zip "apex/*" -d /opt
chown oracle: -R /opt/apex
cd /opt/apex
In den oracle Benutzer wechseln und die SQL-Konsole starten:
su oracle
sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYSTEM_password
Apex in die Pluggable DB (XEPDB1) installieren:
SQL> ALTER SESSION SET CONTAINER = XEPDB1;
SQL> @apexins.sql SYSAUX SYSAUX TEMP /i/
Administrator und APEX_PUBLIC_USER anlegen:
SQL> ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK;
SQL> ALTER USER APEX_PUBLIC_USER IDENTIFIED BY "new_password";
SQL> @apxchpwd.sql
Konfiguration des RESTful Service starten:
SQL> @apex_rest_config.sql
Oracle REST Data Services installieren
Neuste Version von Oracle Java 18 herunterladen:
https://www.oracle.com/java/technologies/downloads/
wget https://download.oracle.com/java/18/latest/jdk-18_linux-x64_bin.rpm
dnf -y install jdk-18_linux-x64_bin.rpm
Oracle REST Data Services Paket herunterladen:
https://www.oracle.com/database/sqldeveloper/technologies/db-actions/download/
wget https://download.oracle.com/otn_software/java/ords/ords-latest.zip
unzip ords-latest.zip -d /opt/ords
chown oracle: -R /opt/ords
Zum oracle Benutzer wechseln:
su oracle
Die Umgebungsvariablen für Oracle in die .bashrc einfügen
cd ~
vi .bashrc
Folgende Zeilen am Ende der Datei unter # User specific aliases and functions
einfügen:
export PATH="$PATH:/opt/ords/bin"
Damit die Änderungen wirksam werden muss man sich entweder neu einloggen oder folgenden Befehl ausführen:
source ~/.bashrc
Installation starten:
cd /opt/ords
ords install
Oracle REST Data Services - Interaktive Installation
Geben Sie eine Zahl zur Auswahl des Installationstyps ein
[1] ORDS nur in der Datenbank installieren oder upgraden
[2] Datenbankpool erstellen oder aktualisieren und ORDS in der Datenbank installieren/upgraden
[3] Nur Datenbankpool erstellen oder aktualisieren
Choose [2]:
Geben Sie eine Zahl zur Auswahl des zu verwendenden Datenbankverbindungstyps ein
[1] Basis (Hostname, Port, Servicename)
[2] TNS (TNS-Alias, TNS-Verzeichnis)
[3] Benutzerdefinierte Datenbank-URL
Choose [1]:
Geben Sie den Hostnamen der Datenbank ein [localhost]:
Listener-Port der Datenbank eingeben [1521]:
Datenbankservicename eingeben [XE]: XEPDB1
Geben Sie einen Datenbankbenutzernamen mit Administratorberechtigungen an.
Geben Sie den Administratorbenutzernamen ein: SYS
Datenbankkennwort für SYS AS SYSDBA eingeben:
Verbindung zu Datenbankbenutzer: SYS AS SYSDBA URL: jdbc:oracle:thin:@//localhost:1521/XEPDB1 wird hergestellt
Informationen werden abgerufen...
Geben Sie den Default Tablespace für ORDS_METADATA und ORDS_PUBLIC_USER ein [SYSAUX]:
Geben Sie den Temporary Tablespace für ORDS_METADATA und ORDS_PUBLIC_USER ein [TEMP]:
Geben Sie eine Zahl ein, um zusätzliche Features zum Aktivieren auszuwählen:
[1] Datenbankaktionen (aktiviert alle Features)
[2] REST-fähige SQL und Datenbank-API
[3] REST-fähige SQL
[4] Datenbank-API
[5] Kein Wert
Choose [1]:
Geben Sie eine Zahl zum Konfigurieren und Starten von ORDS im Standalone-Modus ein
[1] ORDS im Standalone-Modus konfigurieren und starten
[2] Überspringen
Choose [1]:
Geben Sie eine Zahl ein, um das HTTP- oder das HTTPS-Protokoll zu verwenden
[1] HTTP
[2] HTTPS
Choose [1]:
Geben Sie den HTTP-Port ein [8080]:
Geben Sie das Speicherot der statischen APEX-Ressourcen ein: /opt/apex/images
Der ORDS Server startet im Anschluss an die Installation automatisch und läuft auf Port 8080.
Mit STRG+c kann der Server beendet werden.
Damit APEX von außen erreichbar ist, muss auch hier der Port in der Firewall geöffnet werden:
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload
Jetzt kann der ORDS Server erneut gestartet werden:
ords serve
Oracle APEX ist jetzt unter http://<Server-IP>:8080 zu erreichen
Um den Service im Hintergrund und nach einen Neustart automatisch starten zu lassen:
vi /etc/systemd/system/ords.service
[Unit]
Description=Oracle REST Data Services
Requires=network.target
After=oracle-xe-21c.service
[Service]
User=oracle
WorkingDirectory=/opt/ords
ExecStart=
ExecStart=/opt/ords/bin/ords serve
ExecStop=/bin/kill -HUP ${MAINPID}
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now ords
Optionales
Network Services aktivieren
Um aus einer APEX Applikation Emails zu senden, PDFs zu generieren oder Web Services zu nutzen, muss APEX die "Connect" Berechtigung zugewiesen werden.
In den oracle Benutzer wechseln und die SQL-Konsole starten:
su oracle
sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYSTEM_password
In die Datenbank wechseln in der APEX installiert ist:
SQL> ALTER SESSION SET CONTAINER = XEPDB1;
Der folgende Befehl weist dem Benutzer APEX_220200 die "Connect" Berechtigung zu:
BEGIN
DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
host => '*',
ace => xs$ace_type(privilege_list => xs$name_list('connect'),
principal_name => 'APEX_220200',
principal_type => xs_acl.ptype_db));
END;
/
host => '*'
bedeutet das APEX_220200 auf alle Hosts zugreifen kann.
Falls der APEX z.B. nur Zugriff auf lokale Ressourcen haben soll, kann dies mit host => 'localhost
' erreicht werden.
Quellen
- https://www.oracle.com/de
- https://docs.oracle.com/en/database/oracle/apex/22.1/htmig/installing-and-configuring-apex-and-ords.html
- https://docs.oracle.com/en/database/oracle/apex/22.1/htmig/enabling-network-services-in-Oracle-db11g-or-later.html
- https://apex.oracle.com/pls/apex/germancommunities/apexcommunity/tipp/6121/index-en.html
- https://stackoverflow.com/