Plug-Plant intern: Unterschied zwischen den Versionen

Aus PPwiki
Wechseln zu: Navigation, Suche
(Oracle)
(Verschiedenes)
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 12: Zeile 12:
 
=== Oracle 19 DB und Client ===
 
=== Oracle 19 DB und Client ===
 
*[[Oracle 19 Datenbank]]
 
*[[Oracle 19 Datenbank]]
 +
*[[Oracle 19 Client]]
  
 
=== Oracle 12 Datenbank und Client installieren, PAT einrichten; Arbeitsabläufe ===
 
=== Oracle 12 Datenbank und Client installieren, PAT einrichten; Arbeitsabläufe ===
Zeile 172: Zeile 173:
 
*[[ACL hat abgelehnt|Meldung im T_LOG: ACL hat abgelehnt]]
 
*[[ACL hat abgelehnt|Meldung im T_LOG: ACL hat abgelehnt]]
 
*[[DIAG_SQLNET|SQLNET.ora bearbeiten um Diagnosen bzw. Minidump zu unterbinden]]
 
*[[DIAG_SQLNET|SQLNET.ora bearbeiten um Diagnosen bzw. Minidump zu unterbinden]]
 +
*[[Laufwerk_verkleinern|Laufwerk mit Dummyfile reduzieren]]
 
Concept Link: [http://wiki.cds.co.at/wikipat/index.php/Category:Oracle Kategorie Oracle]
 
Concept Link: [http://wiki.cds.co.at/wikipat/index.php/Category:Oracle Kategorie Oracle]
  
Zeile 226: Zeile 228:
  
 
*[[kundenspezifische Scripts]]
 
*[[kundenspezifische Scripts]]
 +
 +
==== 19er DB ====
 +
in der 19er DB muss man sich mit pat/PAT@dienstname anmelden!
  
 
== Scanner ==
 
== Scanner ==

Aktuelle Version vom 14. Oktober 2024, 11:23 Uhr


1 Bartender

2 David

3 Oracle

3.1 Oracle 19 DB und Client

3.2 Oracle 12 Datenbank und Client installieren, PAT einrichten; Arbeitsabläufe

3.3 Oracle 11 Datenbank und Client

3.4 Sessions, gesperrte Objekte und Transaktionen

3.5 PFILE und SPFILE

Der SPFILE ist binär, kann also nicht direkt geändertg werden. Dafür kann er im laufenden Betrieb mit entsprechenden Oracle Kommandos geändert werden.

show parameter spfile; Kein Ergebnis: PFILE

Oder bei geöffneter Datenbank:

SELECT DECODE(value, NULL, 'PFILE', 'SPFILE') "Init File Type" 
   FROM sys.v_$parameter WHERE name = 'spfile';

3.6 Redo Log

3.6.1 Einführung

  • Das Redolog steht vor dem Archivelog. Die Redologfiles werden zyklisch immer wieder neu beschrieben.
  • Die Redo Logs können vor dem Überschreiben als Archive Log abgelegt werden.
  • Wenn es in einer Gruppe mehrere Redolog Dateien gibt, werden diese parallel beschrieben, also gespiegelt.
  • Oracle Redo Log And Archive Log
  • Oracle Backup und Recovery Anleitung

3.6.2 Informationen zu den Redo Logs

SELECT group#,members,status,bytes/1024/1024 as mb FROM v$log;
SELECT * FROM v$log;
SELECT * FROM v$logfile;

3.6.3 Häufigkeit des Wechsels der Log Dateien

  • Die Redo Log Dateien sollten nur alle 15 bis 30 Minuten gewechselt werden (log switch frequency [http://www.dba-oracle.com/t_thread_cannot_allocate_new_log_sequence.htm ).
  • Sonst kann es zu den Fehlern Thread 1 cannot allocate new log, sequence ... und/oder Checkpoint not complete kommen ([1]).
  • Zu finden im alert_....log (z.B. im Ordner d:\app\diag\rdbms\pac\pac\trace\).

Wechsel pro Stunde über die letzten Tage (Wochen, Monate?) anzeigen

set lines 120;
set pages 999;
SELECT
to_char(first_time,'YYYY-MON-DD') day,
to_char(sum(decode(to_char(first_time,'HH24'),'00',1,0)),'999') "00",
to_char(sum(decode(to_char(first_time,'HH24'),'01',1,0)),'999') "01",
to_char(sum(decode(to_char(first_time,'HH24'),'02',1,0)),'999') "02",
to_char(sum(decode(to_char(first_time,'HH24'),'03',1,0)),'999') "03",
to_char(sum(decode(to_char(first_time,'HH24'),'04',1,0)),'999') "04",
to_char(sum(decode(to_char(first_time,'HH24'),'05',1,0)),'999') "05",
to_char(sum(decode(to_char(first_time,'HH24'),'06',1,0)),'999') "06",
to_char(sum(decode(to_char(first_time,'HH24'),'07',1,0)),'999') "07",
to_char(sum(decode(to_char(first_time,'HH24'),'08',1,0)),'999') "0",
to_char(sum(decode(to_char(first_time,'HH24'),'09',1,0)),'999') "09",
to_char(sum(decode(to_char(first_time,'HH24'),'10',1,0)),'999') "10",
to_char(sum(decode(to_char(first_time,'HH24'),'11',1,0)),'999') "11",
to_char(sum(decode(to_char(first_time,'HH24'),'12',1,0)),'999') "12",
to_char(sum(decode(to_char(first_time,'HH24'),'13',1,0)),'999') "13",
to_char(sum(decode(to_char(first_time,'HH24'),'14',1,0)),'999') "14",
to_char(sum(decode(to_char(first_time,'HH24'),'15',1,0)),'999') "15",
to_char(sum(decode(to_char(first_time,'HH24'),'16',1,0)),'999') "16",
to_char(sum(decode(to_char(first_time,'HH24'),'17',1,0)),'999') "17",
to_char(sum(decode(to_char(first_time,'HH24'),'18',1,0)),'999') "18",
to_char(sum(decode(to_char(first_time,'HH24'),'19',1,0)),'999') "19",
to_char(sum(decode(to_char(first_time,'HH24'),'20',1,0)),'999') "20",
to_char(sum(decode(to_char(first_time,'HH24'),'21',1,0)),'999') "21",
to_char(sum(decode(to_char(first_time,'HH24'),'22',1,0)),'999') "22",
to_char(sum(decode(to_char(first_time,'HH24'),'23',1,0)),'999') "23"
from
v$log_history
GROUP by
to_char(first_time,'YYYY-MON-DD')
ORDER BY to_char(first_time,'YYYY-MON-DD') ;

3.6.4 Ändern

  • Es können nur Redo Logs hinzugefügt oder gelöscht werden.
  • Es wird immer die nächste freie Gruppe angelegt.
    • Wenn also Gruppe 1 und 2 gelöscht wurden und Gruppe 3 und 4 vorhanden sind, wird als nächstes Gruppe 1 angelegt.
  • Es können nur Redo Logs gelöscht werden, die INACTIVE oder UNUSED sind.
  • CURRENT ist das Redo Log, in das gerade geschrieben wird.
    • Kann mit SWITCH geändert werden, s.u.
  • ACTIVE sind Redo Logs,
    • ACTIVE means, the checkpoint associated to the redo entries in that group is not yet finished. It is in other words still needed for a possible instance recovery and cant be dropped therefore.
    • Kann über FORCE geändert werden, wenn man nicht warten will, s.u.

Redo Log anlegen

alter database add logfile
     ('d:\app\oradata\pac\REDO09.LOG')
     size 500m;

Redo Log löschen. Die eigentliche Datei muss danach von Hand gelöscht werden.

alter database drop logfile group 10;

Zur nächsten Gruppe wechseln

alter system switch logfile;

Redo Logs freigeben (von ACTIVE auf INACTVE setzen)

alter system checkpoint;


3.7 Verschiedenes

Concept Link: Kategorie Oracle

3.8 SQL Developer

Sqldeveloper 48.jpg


4 PL/SQL

4.1 Jobs

4.2 Viele Zeilen aus einer Tabelle löschen

Das Löschen von Millionen von Zeilen kann die ganze Datenbank ausbremsen, weil irgendwann der Redo Bereich (fürs Rollback) überläuft. Wenn die Tabelle nicht über Truncate geleert werden kann, hilft diese Prozedur (die natürlich angepasst werden muss).

BEGIN
  FOR I IN 1..100 LOOP
    DELETE FROM B_LOG WHERE timest IN 
      (SELECT timest 
        FROM b_log 
        WHERE (workstation = 'TPP_TAET_CHARGE_ARBEIT_PLAN' OR substr(timest,1,8) < '20201030')
          AND rownum < 1000001);
    IF  SQL%FOUND THEN
      DBMS_OUTPUT.put_line(i||'. Durchlauf: '||SQL%ROWCOUNT||' Zeilen gelöscht');
    ELSE
      IF i = 1 THEN
        DBMS_OUTPUT.put_line('Keine Zeilen zum Löschen');
      ELSE
        DBMS_OUTPUT.put_line('Keine Zeilen mehr zum Löschen nach '||i-1||' Durchläufen ('||SQL%ROWCOUNT||')'); -- wird nicht ausgegeben, wegen EXIT danach? 
      END IF;
    END IF; 
    EXIT WHEN SQL%NOTFOUND ;
    COMMIT;
  END LOOP;
END;

4.3 Oracle Pakete

4.4 Besonderheiten

4.4.1 19er DB

in der 19er DB muss man sich mit pat/PAT@dienstname anmelden!

5 Scanner

6 Support-Anfragen

6.1 Allgemeines (PAT)

6.2 Drucker

6.3 Pivot-Verknüpfungen

7 Webportal

8 Windows

siehe auch Outlook als Standard Mail Client unter Windows 10

8.1 Windows 10

siehe auch Outlook als Standard Mail Client unter Windows 10

Durch Windows update auf TS-Servern kann es sein, das man im Menü ein Fenster öffnet und es kommt nicht in den Vordergrund. Dann hilft vielleicht folgender Link: Win-10-Forum

9 Outlook

10 Securepoint

10.1 Cloud Connector / UTM

10.2 Antivirus Pro

11 Wortmann TerraCloud

siehe auch im Abschnitt Securepoint

11.1 Technical Center

11.2 Backup

11.3 Umwelt / Energie

  • Das Rechenzentrum hat 8000 m² Solarmodule auf dem Dach mit 600 kW Leistung.
  • Der Strom reicht aber nicht für den Strombedarf des Rechenzentrums.
  • Ein Teil des zugekauften Stroms ist Ökostrom.
  • Sie habe eine Frischluftkühlung, brauchen also im Winter keine Klimaanlage.
  • 700 VMs in einem Rack werden mit max. 8 kW Strom versorgt, in der Regel reicht aber 4 kW.
    • Dazu kommen natürlich noch die Speicher (virtuelle Festplatten).

12 TSplus

13 Server-Eye

Smart Updates

14 AutoDoc HSE

15 HeidiSQL

  • Reservierte Wörter wie key können mit ` (Gravis, backtick oder backquote) maskiert werden.

16 PAT

16.1 Bestellplanung / Purchase Planning

16.1.1 sql.ini

In der sql.ini (/PAT/tsk/) muss folgendes stehen (im Block [oragtwy] nach remotedbname):

;hier

longbuffer=32767
substitute=„;“
substitute=SYSSQL.,
fetchrow=20

oder so?

;hier

longbuffer=32767
substitute=ä;ô
substitute=SYSSQL.,
fetchrow=20

Sonst kommt z.B. der Fehler ORA-00923: Schlüsselwort FROM nicht an erwarteter Stelle gefunden (beim Aufrufen der Bestellplanung).

16.2 PP Zusatzmodule

16.2.1 Teilauftrag installieren

  1. Ordner CDS\Programme\Teilauftrag einrichten,
  2. aus Plugplant\Zusatzmodule\Teilauftrag die neueste Version dorthin entpacken,
  3. die tnsnames.ora des Clients ebenfalls dorthin kopieren,
  4. der erforderliche View und das benötigte Paket finden sich in der Datei SQL_Code.sql im Unterverzeichnis Resources.

17 PAT Enterprise

17.1 Deutsche Beschreibungen

17.1.1 Direkte Links zum CDS Wiki

Hier finden sich deutsche Dokumentationen mit weiterführenden Links (teils auf englisch).

17.2 Englische Beschreibungen

Enclosed please find descriptions directly from concept.

17.3 Weitere interessante Links

17.4 Allgemeines

17.5 Welche .NET Framework-Version ist installiert?

Zum Arbeiten mit PAT Enterprise muss zwingend mindestens .NET Framework 4.8 installiert sein. Die aktuell installierte Version findet man im Registrierungs-Editor.

Framework-Net Version.png

Im aufgeführten Pfad (kein Punkt davor) muss für die Version 4.8 der Release-Wert in den Ordnern "Full" mindestens 528040 anzeigen.

Meist ist die Datei im Ordner 1031 in der älteren Version!

Möglicherweise muss dazu die Basis auf "Dezimal" umgestellt werden.

Die Installationsdatei befindet sich in unserem Setup-Ordner.

Microsoft Link: Welche Framework-Version ist installiert
Tipp: Über PowerShell kann die Version direkt abgefragt werden. Hier werden alle aktuell installierten Versionen angezeigt. Dazu überträgt man den folgenden Befehl zunächst lokal und kopiert ihn dann in das anschließend geöffnete Powershell:

Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -Recurse | Get-ItemProperty -Name version -EA 0 | Where { $_.PSChildName -Match '^(?!S)\p{L}'} | Select PSChildName, version

Powershell-Link: Finde dot.Net-Version mit Powershell

18 PAT Mobile

19 PAT API

CDS Doku zum Einrichten von HTTPS

20 Sonstiges

Concept: Amyuni deinstallieren