Plug-Plant intern: Unterschied zwischen den Versionen

Aus PPwiki
Wechseln zu: Navigation, Suche
(SSH)
(Oracle 19 DB und Client)
 
(103 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
{{DISPLAYTITLE:Plug-Plant intern}}
 +
  
 
== Bartender ==
 
== Bartender ==
Zeile 8: Zeile 10:
  
 
== Oracle ==
 
== Oracle ==
 +
=== Oracle 19 DB und Client ===
 +
*[[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 23: Zeile 29:
 
*[[11)_Amyuni_PDF-Converter_installieren|11) Amyuni PDF-Converter installieren]]
 
*[[11)_Amyuni_PDF-Converter_installieren|11) Amyuni PDF-Converter installieren]]
 
*[[12)_Barcode-Fonts_kopieren|12) Barcode-Fonts kopieren]]
 
*[[12)_Barcode-Fonts_kopieren|12) Barcode-Fonts kopieren]]
 
=== Listener und TNS  ===
 
* [[Listener]]
 
* [[TNS]]
 
  
 
=== Oracle 11 Datenbank und Client ===
 
=== Oracle 11 Datenbank und Client ===
 
*[[Oracle_Client_einrichten|Oracle Client einrichten]]
 
*[[Oracle_Client_einrichten|Oracle Client einrichten]]
 
=== Jobs ===
 
*[[Oracle_Jobs|Oracle Jobs]]
 
  
 
=== Sessions, gesperrte Objekte und Transaktionen===
 
=== Sessions, gesperrte Objekte und Transaktionen===
Zeile 50: Zeile 49:
 
</pre>
 
</pre>
  
=== Archivelog ===
+
=== Redo Log ===
 +
==== 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.
 +
* [https://dbtut.com/index.php/2018/07/26/oracle-redo-log-and-archive-log/ Oracle Redo Log And Archive Log]
 +
* [https://www.akadia.com/services/oraback/OracleBackupAndRecovery.html Oracle Backup und Recovery Anleitung]
 +
 
 +
==== Informationen zu den Redo Logs ====
 +
 
 +
<pre>
 +
SELECT group#,members,status,bytes/1024/1024 as mb FROM v$log;
 +
SELECT * FROM v$log;
 +
SELECT * FROM v$logfile;
 +
</pre>
 +
 
 +
==== 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 ([http://www.dba-oracle.com/t_thread_cannot_allocate_new_log_sequence.htm]).
 +
* 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
 +
 
 +
<pre>
 +
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') ;
 +
</pre>
 +
 
 +
==== Ä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
 +
<pre>
 +
alter database add logfile
 +
    ('d:\app\oradata\pac\REDO09.LOG')
 +
    size 500m;
 +
</pre>
 +
 
 +
Redo Log löschen. Die eigentliche Datei muss danach von Hand gelöscht werden.
 +
<pre>
 +
alter database drop logfile group 10;
 +
</pre>
  
==== Kontrollieren ====
+
Zur nächsten Gruppe wechseln
* select name, log_mode from v$database;
+
<pre>
* archive log list ''(als sysdb, ohne Semikolon)''
+
alter system switch logfile;
 +
</pre>
  
==== Abschalten ====
+
Redo Logs freigeben (von ACTIVE auf INACTVE setzen)
 
<pre>
 
<pre>
SQL> Shutdown
+
alter system checkpoint;
SQL> Startup mount
 
SQL> Alter database noarchivelog;
 
SQL> alter database open;
 
 
</pre>
 
</pre>
[https://www.ibm.com/support/knowledgecenter/SSBNJ7_1.4.1/admin/t_tnpm_wls_admin_guide_systemmaint_disablearchivelogmode.html How to disable ARCHIVELOG mode]
 
  
[https://orahow.com/how-to-enable-disable-archivelog-mode-in-oracle-11g-12c/ How to enable/disable ARCHIVELOG mode in Oracle 11g/12c]
 
  
[http://www.datenbank-backup.de/archivelog.htm Archivelog (deutsch)]
 
  
=== Oracle Fehler Codes ===
+
* Mehr unter [https://uhesse.com/2010/01/20/how-to-change-the-size-of-online-redologs How to change the size of Online Redologs?]
* [[ORA-03113|ORA-03113 end-of-file on communication channel]]
 
* [[ORA-04021|ORA-04021: timeout occurred while waiting to lock object]]
 
  
 
=== Verschiedenes ===
 
=== Verschiedenes ===
 +
*[[DATABASE_DOWN| Bei einer nicht gestarteten Instanz anmelden]]
 
*[[ADD_DATAFILE| Weiteren Datafile zu einem tablespace hinzufügen]]
 
*[[ADD_DATAFILE| Weiteren Datafile zu einem tablespace hinzufügen]]
 
*[[Oracle_ODBC| ODBC Client einheitlich umbenennen]]
 
*[[Oracle_ODBC| ODBC Client einheitlich umbenennen]]
Zeile 84: Zeile 158:
 
*[[Oracle_Directory|Oracle Verzeichnis anlegen]] für z.B. Datapump
 
*[[Oracle_Directory|Oracle Verzeichnis anlegen]] für z.B. Datapump
 
*[[sichern_von_Tabellen_im_Oracle_Developer| Sichern von Tabellen im Oracle Developer]]
 
*[[sichern_von_Tabellen_im_Oracle_Developer| Sichern von Tabellen im Oracle Developer]]
 +
*[[Gesperrte_Tabelle_entsperren|Gesperrte Tabelle in vier Schritten entsperren]]
 
*[[Tabellen_und_Spalten|betroffene Tabellen und Spalten im Oracle suchen]]
 
*[[Tabellen_und_Spalten|betroffene Tabellen und Spalten im Oracle suchen]]
 
*[[Fehler_Wiegedaten | Tabelle Wiegedaten erzeugt Fehler]]
 
*[[Fehler_Wiegedaten | Tabelle Wiegedaten erzeugt Fehler]]
Zeile 89: Zeile 164:
 
*[[PAT AVAIL - Logging | PAT AVAIL - Logging]]
 
*[[PAT AVAIL - Logging | PAT AVAIL - Logging]]
 
*[[PAT_Start_beschleunigen | PAT Start beschleunigen]]
 
*[[PAT_Start_beschleunigen | PAT Start beschleunigen]]
*[[Batch als Oracle Job | Batch als Oracle Job ausführen]]
 
 
*[[Datenbank_erneut_installieren|Datenbank erneut installieren]]
 
*[[Datenbank_erneut_installieren|Datenbank erneut installieren]]
 
*[[Keine_Verbindung_zur_Datenbank_möglich|Keine Verbindung zur Datenbank möglich]]
 
*[[Keine_Verbindung_zur_Datenbank_möglich|Keine Verbindung zur Datenbank möglich]]
Zeile 106: Zeile 180:
 
*[[Beim Starten ein bestimmtes Skript öffnen|Beim Starten ein bestimmtes Skript öffnen]]
 
*[[Beim Starten ein bestimmtes Skript öffnen|Beim Starten ein bestimmtes Skript öffnen]]
 
*[[Öffnen_und_ausführen_von_Scripts|Öffnen und ausführen von Scripts]]
 
*[[Öffnen_und_ausführen_von_Scripts|Öffnen und ausführen von Scripts]]
 +
*[[Groß- und Kleinschreibung in Spaltennamen]]
 
<br clear=all>
 
<br clear=all>
  
 
== PL/SQL ==
 
== PL/SQL ==
===Oracle Pakete===
+
 
 +
*[[Code EU-Länder]]
 +
*[[Script_über_Batch|Script über Batch-Datei ausführen]]
 +
 
 +
=== Jobs ===
 +
*[[Oracle_Jobs|Oracle Jobs]]
 +
 +
*[[Batch_als_Oracle_Job|Batch Datei über einen Oracle Job ausführen ]]
 +
 
 +
=== 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).
 +
 
 +
<pre>
 +
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;
 +
</pre>
 +
 
 +
=== Oracle Pakete ===
  
 
*[[FTP_TOOLS]]
 
*[[FTP_TOOLS]]
 +
 +
=== Besonderheiten ===
 +
 +
*[[kundenspezifische Scripts]]
  
 
== Scanner ==
 
== Scanner ==
Zeile 146: Zeile 261:
 
* [[Drucker Fehlermeldung: Printer not activated]]
 
* [[Drucker Fehlermeldung: Printer not activated]]
 
* [[Citizen Drucker: Factory reset und Auto kalibrieren des Sensors]]
 
* [[Citizen Drucker: Factory reset und Auto kalibrieren des Sensors]]
 +
*[[lokaler Drucker als IP Drucker]]
 +
*[[Unique Constraint XAK1b_DRUCKJOB verletzt]]
  
 
=== Pivot-Verknüpfungen ===
 
=== Pivot-Verknüpfungen ===
Zeile 155: Zeile 272:
  
 
*[[PAT-Auftrag nicht im Webportal]]
 
*[[PAT-Auftrag nicht im Webportal]]
 +
*[[Gesamtexport durchführen]]
  
 
== Windows ==
 
== Windows ==
Zeile 172: Zeile 290:
  
 
== Securepoint ==
 
== Securepoint ==
=== SSL VPN Client  ===
 
  
*[[Securepoint:_Kunde_Einrichten|SSL VPN Client konfigurieren]]
+
=== Cloud Connector / UTM ===
  
=== OpenVN SSL unter Android ===
+
* [[Securepoint.UTM|Cloud Connector / UTM]]
 
 
Mit der openVPN-Connect App kann einfach eine neue Verbindung mit Verweis auf die Konfigurationsdateien (Die openvpn.ovpn uhnd die anderen drei Dateien) mit Config-Datei angelegt werden.
 
 
 
[[https://support.securepoint.de/viewtopic.php?f=27&t=7332| SSL VPN mit Android (Securepoint Forum)]]
 
 
 
=== UTM / Firewall ===
 
 
 
==== Einrichtung ====
 
* Die '''Lizenzdatei''' steht im Securepoint Resellerportal zum Download zur Verfügung.
 
 
 
==== Datenverbrauch / Datengeschwindigkeit ====
 
* [[UTM_Datenverbrauch| Datenverbrauch / Datengeschwindigkeit]]
 
 
 
==== OpenVPN SSL Portfilter ====
 
* Der Verkehr läuft von der Quelle mgmtn-vpn-openvpn-sslrw-192.168.20.0-24, wobei 192.168.20.0-24 der Adresskreis der VPN Clients ist.
 
* Über diese Regel lässt sich der Verkehr überwachen (zumindest der eingehende?).
 
 
 
==== S2S SSL VPN Verbindungen ====
 
* Auf der einen Seite ist der '''S2S Client''' (z.B. "ssl-s2s-p63743001-plugplant-cc-client" auf dem Cloud Connector).
 
* Auf der anderen Seite (in der Cloud bei der Wortmann Standardkonfiguration) gibt es den '''S2S Server''' ("ssl-s2s").
 
* Das '''Transfer-Netzwerk''' (Pool) entspricht nicht dem LAN auf der Client Seite!
 
* Das '''Serverzertifikat''' muss als Serverzertifikat gekennzeichnet sein.
 
* Die '''CA''' kann ohne '''privaten Schlüssel''' im Client importiert werden, das '''Client Zertifikat''' nicht.
 
* Auf dem Server müssen in den Clients immer Server- und Clientnetzwerke eingetragen werden. Auch wenn z.B. das Clientnetzwerk für den Server gar nicht erreichbar sein soll.
 
* Es müssen ('''Netzwerkgruppen''' und) '''Netzwerkobjekte''' auf beiden Seiten angelegt werden. Die Zone wird automatisch über das SSL-VPN angelegt.
 
* Dazu müssen '''Portfilter''' in beide Richtungen mit angelegt werden. Auf dem Server kann(?) für die eingehende Verbindung HideNAT auf das interne Interface eingestellt werden.
 
* Auf beiden Seiten müssen die gleichen Zertifikate, Transfer Netzwerke und Transfer Adressen ausgewählt sein.
 
* Besser als der '''Neustart''' des SSL-VPNs ist den Dienst über Anwendungen > Anwendungsstatus zu stoppen und zu starten.
 
** '''Achtung:''' Dazu darf man nicht über einen andren VPN mit der Firewall verbunden sein. Sonst ist sie nicht mehr erreichbar.
 
* Siehe auch [https://wiki.securepoint.de/UTM/VPN/SSL_VPN-S2S| Securepoint Wiki zur SSL VPN S2S]
 
 
 
==== Fehlersuche ====
 
===== SSH =====
 
* über z.B. Putty
 
* geht nur als root (nur dieser Benutzer)
 
* z.B. <pre>tcpdump –i tun1 -npp proto 1 </pre> zeigt ICMP-Pakete (z.B. Ping, proto 1) auf dem Interface tun1
 
* -npp
 
** -n: Don't convert addresses (i.e., host addresses, port numbers, etc.) to names.
 
** -p / -- no-promiscuous-mode: Don't put the interface into promiscuous mode. Note that the interface might be in promiscuous mode for some other reason; hence, `-p' cannot be used as an abbreviation for `ether host {local-hw-addr} or ether broadcast'.
 
** [https://www.tcpdump.org/manpages/tcpdump.1.html Tcdump Manpage]
 
 
 
* siehe auch das [https://wiki.securepoint.de/UTM/Extras/ipsec_fehleranalyse#Tcpdump_auf_der_root-Konsole entsprechend Securepoint Wiki]
 
  
 
=== Antivirus Pro ===
 
=== Antivirus Pro ===
Zeile 229: Zeile 304:
 
siehe auch im Abschnitt [[#Securepoint|Securepoint]]
 
siehe auch im Abschnitt [[#Securepoint|Securepoint]]
  
===Backup===
+
=== Technical Center ===
 +
*[[TerraCloud.Technical_Center]]
 +
 
 +
=== Backup ===
 
*[[TerraCloud_Backup_Probleme|Hilfe bei Problemen]]
 
*[[TerraCloud_Backup_Probleme|Hilfe bei Problemen]]
 +
 +
=== 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).
  
 
== TSplus ==
 
== TSplus ==
Zeile 241: Zeile 327:
  
 
* [[RDP_Desktophintergrund|Farbe des Desktops]]
 
* [[RDP_Desktophintergrund|Farbe des Desktops]]
 +
 +
== Server-Eye ==
 +
[[Server-Eye:Smart_Updates|Smart Updates]]
 +
 +
== AutoDoc HSE ==
 +
 +
* [[http://www.iddata.nl/cmb.zip Download der aktuellen Version]]
 +
* [[http://www.streamlinesoftware.net/ Webseite]]
 +
 +
== HeidiSQL ==
 +
 +
* Reservierte Wörter wie '''key''' können mit ` (Gravis, backtick oder backquote) maskiert werden.
  
 
== PAT ==
 
== PAT ==
 
 
*[[Lieferdaten_im_Auftrag|Lieferdaten im Auftrag bei SQL-Abfrage]]
 
*[[Lieferdaten_im_Auftrag|Lieferdaten im Auftrag bei SQL-Abfrage]]
 
*[[Tabellenspalten_kopieren]]
 
*[[Tabellenspalten_kopieren]]
 
* [[Vater_Sohn_Auftraege| Vater- und Sohnauftraege ]]
 
* [[Vater_Sohn_Auftraege| Vater- und Sohnauftraege ]]
 
*[[Vater_und_Söhne_neu_berechnen|Vater und Söhne neu berechnen mit Tools, CDS-Interna]]
 
*[[Vater_und_Söhne_neu_berechnen|Vater und Söhne neu berechnen mit Tools, CDS-Interna]]
 +
 +
=== Bestellplanung / Purchase Planning ===
 +
==== sql.ini ====
 +
In der sql.ini (/PAT/tsk/) muss folgendes stehen (im Block [oragtwy] nach ''remotedbname''): 
 +
<pre>
 +
;hier
 +
 +
longbuffer=32767
 +
substitute=„;“
 +
substitute=SYSSQL.,
 +
fetchrow=20
 +
</pre>
 +
 +
oder so?
 +
<pre>
 +
;hier
 +
 +
longbuffer=32767
 +
substitute=ä;ô
 +
substitute=SYSSQL.,
 +
fetchrow=20
 +
</pre>
 +
 +
Sonst kommt z.B. der Fehler '''ORA-00923: Schlüsselwort FROM nicht an erwarteter Stelle gefunden''' (beim Aufrufen der Bestellplanung).
 +
 +
=== PP Zusatzmodule ===
 +
==== Teilauftrag installieren ====
 +
 +
#Ordner CDS\Programme\Teilauftrag einrichten,
 +
#aus Plugplant\Zusatzmodule\Teilauftrag die neueste Version dorthin entpacken,
 +
#die tnsnames.ora des Clients ebenfalls dorthin kopieren,
 +
#der erforderliche View und das benötigte Paket finden sich in der Datei SQL_Code.sql im Unterverzeichnis Resources.
 +
 +
== PAT Enterprise ==
 +
===Deutsche Beschreibungen ===
 +
 +
==== Direkte Links zum CDS Wiki ====
 +
Hier finden sich deutsche Dokumentationen mit weiterführenden Links (teils auf englisch).
 +
*[https://wiki.cds.co.at/wikipat/index.php/CUSTOMER:PAT_Enterprise_De_Production_General Allgemeine Produktion]
 +
*[https://wiki.cds.co.at/wikipat/index.php?title=CUSTOMER:Processes_De_Demands_Engineering Bedarfsplanung]
 +
*[https://wiki.cds.co.at/wikipat/index.php/CUSTOMER:PAT_Enterprise_De_Demand_Statistics Bedarfsstatistik]
 +
*[https://wiki.cds.co.at/wikipat/index.php?title=CDS:PAT_Enterprise_Konfiguration_und_Installation Konfiguration und Installation]
 +
*[https://wiki.cds.co.at/wikipat/index.php?title=CDS:Enterprise_Client_Installation_und_Inbetriebnahme Installation und Inbetriebnahme]
 +
*[https://wiki.cds.co.at/wikipat/index.php/CUSTOMER:Processes_De_Main_Locations Standorte]
 +
*[https://wiki.cds.co.at/wikipat/index.php/CUSTOMER:Processes_De_TLP_Delivery TLP Auslieferung]
 +
 +
=== Englische Beschreibungen ===
 +
Enclosed please find descriptions directly from concept.
 +
*[[PAT_Enterprise_Service_Installation|how to install the PAT Enterprise Service]]
 +
*[[PAT_Enterprise_client_installation|install and rename PAT Enterprise]]
 +
*[[Der Verzeichnis-Baum (englisch)]] mit Links zu den einzelnen Positionen
 +
 +
=== Weitere interessante Links ===
 +
*[https://wiki.cds.co.at/wikipat/index.php?title=CUSTOMER:Enterprise_Client_Menu_PAT_Enterprise_Filter Filter]
 +
*[https://wiki.cds.co.at/wikipat/index.php/CUSTOMER:Enterprise_Client_Menu_Order_Delivery_Overview Order Overview] Auftrags-Übersicht
 +
*[https://wiki.cds.co.at/wikipat/index.php?title=CUSTOMER:Enterprise_Client_Menu_Article Article]
 +
*[https://wiki.cds.co.at/wikipat/index.php/CUSTOMER:Enterprise_Client_Menu_Description_Roles Roles Description]
 +
 +
=== Allgemeines ===
 +
* Bei Erstinstallation ab V12 unbedingt das Script in /PAT/Zusatzmodule/ExchangeGate/bei_Startschwierigkeiten ausführen!
 +
*[[neue Version aufspielen]]
 +
*[[CRM einrichten]]
 +
*[[Log Levels]]
 +
*[[Das Wischen]]
 +
*[[Intrastat einrichten]]
 +
*[[Standard Ports Webservices]]
 +
 +
=== 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.
 +
 +
[[file:Framework-Net_Version.png|border|left|600px]]
 +
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: [https://docs.microsoft.com/de-de/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed Welche Framework-Version ist installiert]
 +
<br clear=all>
 +
'''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: [https://www.prajwal.org/find-dot-net-version-using-powershell/ Finde dot.Net-Version mit Powershell]
 +
 +
== PAT Mobile ==
 +
*[https://wiki.cds.co.at/wikipat/index.php/CUSTOMER:PAT_Mobile_En_Toc Baumverzeichnis] mit allen notwendigen Links
 +
 +
== PAT API ==
 +
 +
[https://wiki.pplant.de/images/4/44/PAT_APIs_HTTPS.pdf CDS Doku zum Einrichten von HTTPS]
  
 
== Sonstiges ==
 
== Sonstiges ==
 
+
*[[Installation beim Neukunden|Installation beim Neukunden, Arbeitsablauf]]
 +
*[[Amyuni V6 von V4.5 updaten]]
 
* [[Abgleich_Telefonanlage_mit_GDI|Datenexport vom GDI über Tobit in die TK-Anlage]]
 
* [[Abgleich_Telefonanlage_mit_GDI|Datenexport vom GDI über Tobit in die TK-Anlage]]
 
* [[Firewall: Bestimmte Programme aus Überwachung ausschließen]]
 
* [[Firewall: Bestimmte Programme aus Überwachung ausschließen]]
 
* [[Spooler aus batch starten]]
 
* [[Spooler aus batch starten]]
 +
*[[Teamviewer mit Admin-Rechten öffnen]]
 +
* [[Batch_ueber_Aufgabenplanung|Batch Skript über den Windows Aufgabenplaner starten]]
 +
*[[Bildschirm-Auflösung auf Terminal-Servern für verschiedene User einstellen]]
 
Concept: [https://wiki.cds.co.at/wikipat/index.php?title=KUNDE:Amyuni_PDF_Converter Amyuni deinstallieren]
 
Concept: [https://wiki.cds.co.at/wikipat/index.php?title=KUNDE:Amyuni_PDF_Converter Amyuni deinstallieren]

Aktuelle Version vom 15. Januar 2024, 17:43 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

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