No description
  • PowerShell 100%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-12 09:07:17 +02:00
.github/workflows test: Pester-Tests und CI, Generator schreibt ins Repo 2026-09-30 12:02:23 +02:00
Module fix: Clone sofort startet das Skript, DB → Samba übersteht SSH-Abbrüche (1.1.1) 2026-10-12 09:05:31 +02:00
Tests/ORACLE test: Get-Date-Mock ohne Filter (Pester 5 verlangt sonst einen Standard-Mock) 2026-10-12 09:07:17 +02:00
README.md docs: DB → Samba läuft abgekoppelt, Log auf dem Host 2026-10-12 09:05:49 +02:00

ORACLE

PowerShell-Modul mit den Oracle-Funktionen, bis 2026-09-30 Teil von FOC-SQL. Es spricht die Oracle-Hosts direkt per SSH an (oracle@<Host>, Key-Auth über Pageant bzw. OpenSSH-Agent).

Normalerweise nicht direkt importieren, sondern DBMANAGER – das lädt dieses Modul mit und verteilt die öffentlichen Befehle (Backup-Database, Set-Snapshot, …) nach Datenbanktyp. Die Einrichtung (Samba-Ablage, Profil-Skript) steht dort.

Inhalt

Funktion Aufgabe
Get-OracleDatabases Oracle-Hosts aus OLVM (zwischengespeichert, -Refresh fragt sofort neu); DBMANAGER entscheidet daran, wohin ein Aufruf geht
Backup-Database-Oracle Datapump-Export, sofort oder per at
Set-Snapshot-Oracle Restore Point anlegen, sofort oder per at
Sync-Database-ToTest-Oracle jüngstes Clone-Skript starten
Set-Archive-Log-Oracle ARCHIVELOG ein/aus
Restore-Snapshot-Oracle / Remove-Snapshot-Oracle RMAN-Rücksprung auf bzw. Löschen von Restore Points
Copy-Database-ToSamba-Oracle Export nach \\samba01\Temp\Datenbanken; läuft weiter, auch wenn SSH abbricht – Log unter ~/dtm-logs auf dem Host
Get-DatabaseStats-Oracle Kennzahlen per SQL*Plus
Close-DbSessions-Oracle alle USER-Sessions der CDB beenden
Get-OracleRestoreInfo PDBs und Restore Points (direkt aufrufbar, von DTM genutzt)
Invoke-OlvmSnapshot VM-Snapshot per Ansible auf DBMANAGER01 (direkt aufrufbar)

Woher die Liste der Oracle-Hosts kommt

Seit 1.1.0 aus OLVM – derselben Quelle, aus der DTM seinen Baum baut. Bis 1.0.0 stand hier eine feste Liste ($global:Oracle); jede neue VM war dann in DTM schon sichtbar, im Modul aber unbekannt, und jeder Aufruf darauf scheiterte an der Parameterprüfung. Beim Umstieg waren das sechs Hosts (u. a. DBVERGABE01, DBRMANCAT01), und drei Einträge der alten Liste gab es in OLVM gar nicht mehr.

  • Regel wie in DTM: FQDN der VM, ohne FQDN der VM-Name; Vorlagen (TPL…) und DBMANAGER01 fallen weg.

  • Zwischenspeicher: 10 Minuten im Modul. Die Liste wird bei jedem DBMANAGER-Befehl gebraucht, ein OLVM-Abruf dauert knapp eine Sekunde. Auch ein gescheiterter Abruf wird gemerkt, damit nicht jeder Befehl erneut 15 Sekunden wartet. Get-OracleDatabases -Refresh bzw. Update-DatabaseList (DBMANAGER) fragen sofort neu.

  • Ohne OLVM: die letzte erfolgreiche Liste aus %LOCALAPPDATA%\DBMANAGER\cache\oracle-databases.json, mit Warnung.

  • Zugang: in DTM automatisch (DTM legt $global:DtmOlvm mit Server und Anmeldung aus dem Verbindungsmanager in die Sitzung). In der Konsole einmalig anlegen:

    Get-Credential | Export-Clixml "$env:USERPROFILE\olvm-credential.xml"   # z. B. admin@internal
    

    Server ist olvm-mgmt, abweichend per $global:OlvmServer = '…'.

Neue Funktion

Drei Stellen: ORACLE.psm1 (Export-ModuleMember), ORACLE.psd1 (FunctionsToExport) und ORACLE_ToExport.ps1. Einzelheiten im README von DBMANAGER.