1.051
Bearbeitungen
K (→Optionales) |
|||
(44 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 22: | Zeile 22: | ||
</syntaxhighlight>Als nächstes kann Oracle Database XE installiert werden:<syntaxhighlight lang="bash"> | </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 44: | 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 57: | Zeile 86: | ||
firewall-cmd --permanent --add-port=5500/tcp | firewall-cmd --permanent --add-port=5500/tcp | ||
firewall-cmd --reload | firewall-cmd --reload | ||
</syntaxhighlight> | </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 | |||
wget https://download.oracle.com/otn_software/apex/ | unzip apex_22.1.zip "apex/*" -d /opt | ||
unzip apex_22.1.zip -d /opt | |||
chown oracle: -R /opt/apex | chown oracle: -R /opt/apex | ||
cd /opt/apex | cd /opt/apex | ||
</syntaxhighlight> | </syntaxhighlight>In den oracle Benutzer wechseln und die SQL-Konsole starten:<syntaxhighlight lang="bash"> | ||
su oracle | su oracle | ||
sqlplus /nolog | sqlplus /nolog | ||
SQL> CONNECT SYS as SYSDBA | SQL> CONNECT SYS as SYSDBA | ||
Enter password: SYSTEM_password | 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/ | SQL> @apexins.sql SYSAUX SYSAUX TEMP /i/ | ||
</syntaxhighlight>Administrator und APEX_PUBLIC_USER anlegen:<syntaxhighlight lang="bash"> | </syntaxhighlight>Administrator und APEX_PUBLIC_USER anlegen:<syntaxhighlight lang="bash"> | ||
SQL> ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK; | SQL> ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK; | ||
SQL> ALTER USER APEX_PUBLIC_USER IDENTIFIED BY new_password | SQL> ALTER USER APEX_PUBLIC_USER IDENTIFIED BY "new_password"; | ||
SQL> @apxchpwd.sql | SQL> @apxchpwd.sql | ||
</syntaxhighlight>Konfiguration starten:<syntaxhighlight lang="bash"> | </syntaxhighlight>Konfiguration des RESTful Service starten:<syntaxhighlight lang="bash"> | ||
SQL> @apex_rest_config.sql | SQL> @apex_rest_config.sql | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeile 82: | Zeile 120: | ||
=== Oracle REST Data Services installieren === | === Oracle REST Data Services installieren === | ||
Neuste Version von Oracle Java 18 herunterladen: | Neuste Version von Oracle Java 18 herunterladen: | ||
https://www.oracle.com/java/technologies/downloads/<syntaxhighlight lang="bash"> | https://www.oracle.com/java/technologies/downloads/<syntaxhighlight lang="bash"> | ||
wget https://download.oracle.com/java/18/latest/jdk-18_linux-x64_bin.rpm | wget https://download.oracle.com/java/18/latest/jdk-18_linux-x64_bin.rpm | ||
dnf -y | dnf -y install jdk-18_linux-x64_bin.rpm | ||
</syntaxhighlight>Oracle REST Data Services herunterladen | </syntaxhighlight>Oracle REST Data Services Paket herunterladen:<br> | ||
https://www.oracle.com/database/sqldeveloper/technologies/db-actions/download/<syntaxhighlight lang="bash"> | 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 | wget https://download.oracle.com/otn_software/java/ords/ords-latest.zip | ||
unzip ords-latest.zip -d /opt/ords | unzip ords-latest.zip -d /opt/ords | ||
chown oracle: -R /opt/ords | chown oracle: -R /opt/ords | ||
</syntaxhighlight> | </syntaxhighlight>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"> | |||
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> | |||
</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 | ords install | ||
</syntaxhighlight><syntaxhighlight lang="bash"> | </syntaxhighlight><syntaxhighlight lang="bash"> | ||
Zeile 139: | Zeile 183: | ||
Geben Sie den HTTP-Port ein [8080]: | Geben Sie den HTTP-Port ein [8080]: | ||
Geben Sie das Speicherot der statischen APEX-Ressourcen ein: /opt/apex/images | Geben Sie das Speicherot der statischen APEX-Ressourcen ein: /opt/apex/images | ||
</syntaxhighlight>Server | </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 | ords serve | ||
</syntaxhighlight> | </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> | |||
== 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 == | == Quellen == | ||