Oracle
Die Installation ist nicht Teil des MuM Supports. Für die Installation von Oracle sollten Sie immer einen Oracle Fachmann beauftragen. Die Hinweise in dieser Dokumentation dienen nur als zusätzliche Tips.
Die von MapEdit unterstützten Oracle Version finden Sie hier
https://help.mapedit.de/common/system-requirements#oracle
Zur Installation von Oracle lesen Sie bitte die Oracle Installation auf der Oracle Web Seite.
Tips zu Oracle Database 23ai Free
Die Version 23ai free wird von MapEdit zur Zeit (August 2024) nicht offiziell supported.
Ab MapEdit Desktop/Professional Version 24.2.45 ist ein erster Support für Oracle 23ai free eingebaut darf aber nicht für Produktive Systeme verwendet werden. Für Test System kann dies jedoch testweise für MapEdit AppBuilder, Desktop und Professional unsuportted genutzt werden.
Installation:
https://www.oracle.com/database/free/get-started/#installing
Bei der Installation von Oracle auf Windows wird bei der Oracle Installation folgender Fehler angezeigt:
"Installer rollback and failure when installing on Windows"
In diesem Link steht die Lösung des Problems:
https://forums.oracle.com/ords/apexds/post/installer-rollback-and-failure-when-installing-on-windows-w-7851
Workaround:
1. We recommend that you create a new, top level empty directory (right below the volume’s root directory – for example c:\dbfree). The steps below will impact the accessibility of existing subfolders files and applications, so it is better to start with an empty directory.
mkdir c:\dbfree
2. Disable the inheritance of the created folder:
icacls c:\dbfree /inheritancelevel:d
3. Remove Authenticated Users permissions from the created folder:
icacls c:\dbfree /remove:g *s-1-5-11
4. Start the installer & choose c:\dbfree when the installer prompts ‘Install Oracle Database 23ai Free to:’. You can also ask the installer to create and install subfolders by providing additional subdirectories under c:\dbfree, for example c:\dbfree\product\23ai.
Starten Sie unbedingt nach der Installation ihren Rechner neu!
Nach der Installation ist der Service name per default das Wort "FREE". Den genauen Service Namen finden Sie auch in der Datei "\network\admin\tnsnames.ora" im Oracle Home Verzeichnis.
Lokalen Service und lokalen Admin User einrichten
Dies kann hilfreich sein wenn man lokale User anlegen will. Die enstpricht in etwas dem Verhalten von alten Oracle, nicht Container Datenbanken.
Informieren Sie sich über den Unterscheid zwischen "Common User" und "Local User"
In an Oracle Container Database (CDB), local users are users that exist within a specific Pluggable Database (PDB) rather than the root Container Database (CDB$ROOT).
Anlegen eines lokalen Service
sqlplus system/passwort@free as sysdba
--Namen aller container herausfinden
SELECT NAME FROM V$CONTAINERS WHERE CON_ID > 2;
--Container aktivieren
alter session set container=FREEPDB1;
--Service anlegen (Achtung das ist kein Windows Service!)
BEGIN
DBMS_SERVICE.CREATE_SERVICE(
service_name => 'freelocal',
network_name => 'freelocal'
);
END;
/
-- Service starten
EXEC DBMS_SERVICE.START_SERVICE('freelocal');
--Lokalen Admin User anlegen
CREATE USER admin IDENTIFIED BY manager;
GRANT CREATE SESSION TO admin;
GRANT DBA TO admin; -- Grants full administrative privileges
In tnsnames.ora dann den Service eintragen
FREELOCAL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = MUM-MKURZX)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = FREELOCAL)
)
)
Nach windows Neustart muss jeweils der neue Service gestartet werden mit
EXEC DBMS_SERVICE.START_SERVICE('freelocal');
Die kann in einem Start script oder start Trigger passieren.
Beachten Sie das dieser Service kein Windows Service ist.
Name Restriction 'C##' entfernen
Führen Sie diese Aktion nur aus wenn Sie sich vorab über die Konsequenzen komplett informiert haben! Für Produktive System sollte diese nicht genutzt werden!
Standardmässig müssen Common User bei 23ai mit C## beginnen.
Wenn Sie diese Restriktion entfernen wollen, starten Sie SQLPLUS und loggen Sie sich als System User ein.
Geben Sie dann folgenden Befehl ein.
ALTER SYSTEM SET COMMON_USER_PREFIX='' SCOPE=SPFILE;
Starten Sie danach die Datenbank neu, z.B. durch neu starten des Oracle Service Dienstes.
Zwei Oracle Versionen nutzen
Wenn zwei Oracle Versionen auf dem Rechner installiert sind und man beide Versionen gleichzeitig nutzen will kann man die Einträge der "alten" tnsnames datei die tnsnames.ora Datei der neuen Version eintragen um beide Services zu nutzen.
Beispiel:
# Datei "C:\Oracle\23ai\dbhomeFree\network\admin\tnsnames.ora"
# Neuer Oracle 23ai Service mit Namen "FREE"
FREE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = MUM-MKURZ5)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = FREE)
)
)
LISTENER_FREE =
(ADDRESS = (PROTOCOL = TCP)(HOST = MUM-MKURZ5)(PORT = 1522))
# Alter Oracle 19 Service mit Namen "orcl"
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = MUM-MKURZ5)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)