# Obowiązki Administratora Baz Danych (DBA)

## Zarządzanie Serwerami Baz Danych

### 1. Microsoft SQL Server

**A. Przed instalacją**

*   Zbieranie wymagań: CPU, pamięć, dyski, komponenty, użytkownicy usług, strona kodowa, klaster, replikacja, mirroring.
*   Przygotowanie i formatowanie dysków na dane, logi, TempDB, system, archiwum i kopie zapasowe.
*   Konfiguracja i weryfikacja CPU i pamięci serwera.
*   Przygotowanie użytkowników usług w Active Directory (zazwyczaj przez zespół Windows).

**B. Instalacja**

*   Instalacja SQL Server: Ustawienie ścieżek dysków na dane, strony kodowej, użytkowników usług, ustawień TempDB i pamięci.

**C. Po instalacji**

*   Konfiguracja SQL Server: Zastosowanie najlepszych praktyk, ulepszonych ustawień i konfiguracji pamięci.
*   Ustawienie użytkowników z uprawnieniami sysadmin i użytkowników usług.
*   Konfiguracja poczty (SQL Mail), operatorów, alertów i SQL Agent.
*   Przygotowanie dysków na dane i logi z odpowiednimi uprawnieniami i strukturą katalogów.
*   Otwarcie niezbędnych portów w zaporze sieciowej (np. TCP 1433, UDP 1434).
*   Wykluczenie folderów związanych z SQL ze skanowania antywirusowego.

**D. Zadania migracyjne (przy przenoszeniu ze starego serwera)**

*   Uruchomienie Microsoft Assessment Tool w celu sprawdzenia kompatybilności.
*   Analiza starego serwera pod kątem wymagań i ustawień.
*   Tworzenie i transfer kopii zapasowych, odtwarzanie na nowym serwerze.
*   Skryptowanie i odtwarzanie loginów, uprawnień, ustawień poczty, synonimów, operatorów, alertów, zadań SQL Agent, audytów, wyzwalaczy serwerowych i replikacji w razie potrzeby.
*   Porównanie i ustawienie konfiguracji serwera.
*   Analiza i migracja pakietów SSIS w razie potrzeby.
*   Testowanie migracji: Weryfikacja komponentów, baz danych, łączności i kopii zapasowych.
*   Migracja "Go-live": Przygotowanie starego i nowego serwera, zarządzanie zmianami IP, tworzenie snapshotów replikacji i włączanie wszystkich użytkowników i zadań po migracji.

**E. Bieżące zadania**

*   Kopie zapasowe
*   Konserwacja
*   Monitorowanie
*   Archiwizacja
*   Zadania związane z danymi
*   Strojenie wydajności
*   Rozwiązywanie problemów
*   Replikacja
*   Zadania klastrowe
*   Zarządzanie uprawnieniami
*   Audyt

### 2. MySQL Server

**A. Przed instalacją**

*   Zbieranie wymagań: CPU, pamięć, przestrzeń dyskowa, typ przechowywania, konfiguracja sieci, wersja MySQL i zestaw znaków/porównywanie.
*   Planowanie architektury bazy danych: samodzielna, replikacja (master-slave, master-master), klastrowanie (InnoDB Cluster, Galera) lub sharding.
*   Przygotowanie i formatowanie dysków na dane, logi i kopie zapasowe.
*   Planowanie kont użytkowników i uprawnień.

**B. Instalacja**

*   Instalacja MySQL Server: Wybór odpowiedniej wersji i edycji.
*   Konfiguracja początkowych ustawień: katalog danych, port, zestaw znaków, porównywanie i rozmiary buforów.
*   Ustawienie użytkowników root i administracyjnych MySQL z bezpiecznymi hasłami.

**C. Po instalacji**

*   Zastosowanie najlepszych praktyk bezpieczeństwa: usunięcie testowych baz danych, wyłączenie zdalnego dostępu dla roota, ustawienie reguł zapory sieciowej (np. TCP 3306).
*   Konfiguracja procedur tworzenia kopii zapasowych (mysqldump, Percona XtraBackup itp.).
*   Ustawienie monitorowania i alertów (np. Zabbix, Nagios, MySQL Enterprise Monitor).
*   Strojenie parametrów wydajności: bufor puli InnoDB, pamięć podręczna zapytań, limity połączeń, log wolnych zapytań.
*   Ustawienie replikacji w razie potrzeby: konfiguracja mastera i slave'a, ustawienie logowania binarnego.
*   Tworzenie i zarządzanie kontami użytkowników i uprawnieniami.
*   Wykluczenie katalogów danych MySQL ze skanowania antywirusowego.

**D. Zadania migracyjne**

*   Ocena kompatybilności i wymagań do migracji.
*   Eksport i import baz danych (mysqldump, mysqlpump lub kopia logiczna/fizyczna).
*   Migracja kont użytkowników i uprawnień.
*   Odtwarzanie procedur składowanych, wyzwalaczy, zdarzeń i zaplanowanych zadań.
*   Testowanie migracji: weryfikacja integralności danych, łączności aplikacji i wydajności.
*   Przełączenie na nowy serwer, aktualizacja parametrów połączenia aplikacji i monitorowanie po migracji.

**E. Bieżące zadania**

*   Regularne tworzenie kopii zapasowych i testowanie odtwarzania.
*   Rutynowa konserwacja: optymalizacja tabel, aktualizacja statystyk, czyszczenie logów.
*   Monitorowanie stanu serwera, wydajności i statusu replikacji.
*   Strojenie wydajności i optymalizacja zapytań.
*   Rozwiązywanie problemów z błędami i wolnymi zapytaniami.
*   Zarządzanie uprawnieniami użytkowników i audyty bezpieczeństwa.
*   Aplikowanie poprawek i aktualizacji wersji.
*   Archiwizacja starych danych w razie potrzeby.

### 3. MongoDB Server

**A. Przed instalacją**

*   Zbieranie wymagań: CPU, pamięć, przestrzeń dyskowa, typ przechowywania, konfiguracja sieci, wersja MongoDB i silnik przechowywania (np. WiredTiger).
*   Planowanie architektury wdrożenia: samodzielna, zestaw replik, klaster sharded.
*   Przygotowanie i formatowanie dysków na dane, logi i kopie zapasowe.
*   Planowanie kont użytkowników, ról i mechanizmów uwierzytelniania (SCRAM, x.509, LDAP).

**B. Instalacja**

*   Instalacja MongoDB Server: Wybór odpowiedniej wersji i edycji (Community lub Enterprise).
*   Konfiguracja początkowych ustawień: katalog danych, katalog logów, port, adres IP do bindowania i silnik przechowywania.
*   Ustawienie użytkowników administracyjnych z bezpiecznymi hasłami.

**C. Po instalacji**

*   Zastosowanie najlepszych praktyk bezpieczeństwa: włączenie uwierzytelniania, konfiguracja kontroli dostępu opartej na rolach (RBAC), włączenie TLS/SSL do szyfrowania w tranzycie i konfiguracja zapór sieciowych (np. TCP 27017).
*   Konfiguracja procedur tworzenia kopii zapasowych (mongodump/mongorestore, Ops Manager lub narzędzia firm trzecich).
*   Ustawienie monitorowania i alertów (MongoDB Ops Manager, Cloud Manager lub narzędzia zewnętrzne, takie jak Zabbix, Prometheus).
*   Strojenie parametrów wydajności: rozmiar pamięci podręcznej, journaling, limity połączeń i opcje silnika przechowywania.
*   Ustawienie zestawów replik lub shardingu w razie potrzeby: inicjalizacja zestawu replik, dodawanie członków, konfiguracja arbiterów i ustawienie kluczy shardingu.
*   Wykluczenie katalogów danych MongoDB ze skanowania antywirusowego.

**D. Zadania migracyjne**

*   Ocena kompatybilności i wymagań do migracji.
*   Eksport i import baz danych (mongodump/mongorestore, mongoexport/mongoimport lub kopia logiczna/fizyczna).
*   Migracja kont użytkowników, ról i ustawień uwierzytelniania.
*   Odtwarzanie indeksów, reguł walidacji i niestandardowych skryptów.
*   Testowanie migracji: weryfikacja integralności danych, łączności aplikacji i wydajności.
*   Przełączenie na nowy serwer, aktualizacja parametrów połączenia aplikacji i monitorowanie po migracji.

**E. Bieżące zadania**

*   Regularne tworzenie kopii zapasowych i testowanie odtwarzania.
*   Rutynowa konserwacja: kompaktowanie kolekcji, naprawa baz danych, rotacja logów.
*   Monitorowanie stanu serwera, wydajności i statusu zestawu replik/shardingu.
*   Strojenie wydajności i optymalizacja zapytań (analiza wolnych zapytań, tworzenie indeksów).
*   Rozwiązywanie problemów z błędami, opóźnieniami replikacji i zdarzeniami przełączania awaryjnego.
*   Zarządzanie uprawnieniami użytkowników i przeprowadzanie audytów bezpieczeństwa.
*   Aplikowanie poprawek i aktualizacji wersji.
*   Archiwizacja lub usuwanie starych danych w razie potrzeby.

### 4. PostgreSQL Server

**A. Przed instalacją**

*   Zbieranie wymagań: CPU, pamięć, przestrzeń dyskowa, typ przechowywania, konfiguracja sieci, wersja PostgreSQL i ustawienia regionalne/kodowanie.
*   Planowanie architektury bazy danych: samodzielna, replikacja strumieniowa (primary/standby), replikacja logiczna lub klastrowanie (np. Patroni, Citus).
*   Przygotowanie i formatowanie dysków na dane, logi i kopie zapasowe.
*   Planowanie kont użytkowników, ról i metod uwierzytelniania (md5, scram-sha-256, LDAP, Kerberos).

**B. Instalacja**

*   Instalacja PostgreSQL Server: Wybór odpowiedniej wersji i edycji (Community, EnterpriseDB itp.).
*   Konfiguracja początkowych ustawień: katalog danych, port, ustawienia regionalne, kodowanie i parametry pamięci (shared_buffers, work_mem).
*   Ustawienie ról superużytkownika i administracyjnych z bezpiecznymi hasłami.

**C. Po instalacji**

*   Zastosowanie najlepszych praktyk bezpieczeństwa: konfiguracja `pg_hba.conf` i `postgresql.conf` do uwierzytelniania i kontroli dostępu, włączenie SSL/TLS i ustawienie zapór sieciowych (np. TCP 5432).
*   Konfiguracja procedur tworzenia kopii zapasowych (pg_dump, pg_basebackup, Barman lub narzędzia firm trzecich).
*   Ustawienie monitorowania i alertów (np. pgAdmin, Zabbix, Prometheus, Nagios).
*   Strojenie parametrów wydajności: shared_buffers, work_mem, maintenance_work_mem, autovacuum, ustawienia checkpointów.
*   Ustawienie replikacji w razie potrzeby: konfiguracja serwerów primary i standby, ustawienie slotów replikacji i zarządzanie archiwizacją WAL.
*   Tworzenie i zarządzanie rolami i uprawnieniami użytkowników.
*   Wykluczenie katalogów danych PostgreSQL ze skanowania antywirusowego.

**D. Zadania migracyjne**

*   Ocena kompatybilności i wymagań do migracji.
*   Eksport i import baz danych (pg_dump/pg_restore, replikacja logiczna lub kopia fizyczna/przywracanie).
*   Migracja ról użytkowników, uprawnień i ustawień uwierzytelniania.
*   Odtwarzanie funkcji, wyzwalaczy, rozszerzeń i zaplanowanych zadań (pgAgent, cron).
*   Testowanie migracji: weryfikacja integralności danych, łączności aplikacji i wydajności.
*   Przełączenie na nowy serwer, aktualizacja parametrów połączenia aplikacji i monitorowanie po migracji.

**E. Bieżące zadania**

*   Regularne tworzenie kopii zapasowych i testowanie odtwarzania.
*   Rutynowa konserwacja: vacuum, analyze, reindex, aktualizacja statystyk, czyszczenie logów.
*   Monitorowanie stanu serwera, wydajności i statusu replikacji.
*   Strojenie wydajności i optymalizacja zapytań (analiza wolnych zapytań, tworzenie indeksów, partycjonowanie tabel).
*   Rozwiązywanie problemów z błędami, opóźnieniami replikacji i zdarzeniami przełączania awaryjnego.
*   Zarządzanie rolami użytkowników i przeprowadzanie audytów bezpieczeństwa.
*   Aplikowanie poprawek i aktualizacji wersji.
*   Archiwizacja lub usuwanie starych danych w razie potrzeby.

### 5. OracleDB Server

**A. Przed instalacją**

*   Zbieranie wymagań: CPU, pamięć, przestrzeń dyskowa, typ przechowywania, konfiguracja sieci, wersja Oracle Database i zestaw znaków/narodowy zestaw znaków.
*   Planowanie architektury bazy danych: samodzielna, Real Application Clusters (RAC), Data Guard lub sharding.
*   Przygotowanie i formatowanie dysków na dane, logi, archiwum i kopie zapasowe.
*   Planowanie użytkowników Oracle, grup i wymaganych uprawnień na poziomie systemu operacyjnego.
*   Przygotowanie kont usług i konfiguracja katalogów Oracle Inventory i Oracle Home.

**B. Instalacja**

*   Instalacja oprogramowania Oracle Database: Wybór odpowiedniej wersji i edycji (Standard, Enterprise, Express).
*   Konfiguracja początkowych ustawień: Oracle Base, Oracle Home, katalog danych, port nasłuchu i zestaw znaków.
*   Tworzenie i konfiguracja początkowej instancji bazy danych (za pomocą DBCA lub ręcznie).
*   Ustawienie użytkowników administracyjnych (SYS, SYSTEM) z bezpiecznymi hasłami.

**C. Po instalacji**

*   Zastosowanie najlepszych praktyk bezpieczeństwa: konfiguracja `listener.ora` i `sqlnet.ora`, włączenie audytu, ustawienie polityk haseł i konfiguracja zapór sieciowych (np. TCP 1521).
*   Konfiguracja procedur tworzenia kopii zapasowych (RMAN, Data Pump lub narzędzia firm trzecich).
*   Ustawienie monitorowania i alertów (Oracle Enterprise Manager, Zabbix, Nagios lub niestandardowe skrypty).
*   Strojenie parametrów wydajności: SGA, PGA, rozmiar redo log, tablespace undo i ustawienia optymalizatora.
*   Ustawienie Data Guard lub RAC w razie potrzeby: konfiguracja baz danych standby, transport redo i mechanizmy przełączania awaryjnego.
*   Tworzenie i zarządzanie kontami użytkowników, rolami i uprawnieniami.
*   Wykluczenie katalogów danych Oracle ze skanowania antywirusowego.

**D. Zadania migracyjne**

*   Ocena kompatybilności i wymagań do migracji.
*   Eksport i import baz danych (Data Pump expdp/impdp, RMAN lub kopia logiczna/fizyczna).
*   Migracja kont użytkowników, ról i uprawnień.
*   Odtwarzanie procedur składowanych, wyzwalaczy, zadań (DBMS_SCHEDULER) i niestandardowych skryptów.
*   Testowanie migracji: weryfikacja integralności danych, łączności aplikacji i wydajności.
*   Przełączenie na nowy serwer, aktualizacja parametrów połączenia aplikacji i monitorowanie po migracji.

**E. Bieżące zadania**

*   Regularne tworzenie kopii zapasowych i testowanie odtwarzania.
*   Rutynowa konserwacja: zbieranie statystyk, przebudowa indeksów, czyszczenie logów i zarządzanie tablespace'ami.
*   Monitorowanie stanu serwera, wydajności i statusu Data Guard/RAC.
*   Strojenie wydajności i optymalizacja zapytań (raporty AWR/ASH, strojenie SQL).
*   Rozwiązywanie problemów z błędami, opóźnieniami replikacji i zdarzeniami przełączania awaryjnego.
*   Zarządzanie uprawnieniami użytkowników i przeprowadzanie audytów bezpieczeństwa.
*   Aplikowanie poprawek i aktualizacji wersji (za pomocą OPatch lub DBUA).
*   Archiwizacja lub usuwanie starych danych w razie potrzeby.

---

## Komponenty i Usługi Dodatkowe

### 6. Administracja SSIS (SQL Server Integration Services)

**A. Instalacja**

*   Weryfikacja wymagań systemowych i wstępnych warunków do instalacji SSIS.
*   Instalacja SSIS jako funkcji podczas instalacji SQL Server lub dodanie jej do istniejącej instancji.
*   Zastosowanie najnowszych service packów i aktualizacji zbiorczych dla SSIS.
*   Rejestracja i konfiguracja usługi SSIS na serwerze.
*   Ustawienie odpowiednich kont usług do wykonywania SSIS.

**B. Konfiguracja**

*   Konfiguracja właściwości usługi SSIS (np. logowanie, bezpieczeństwo, lokalizacja przechowywania pakietów).
*   Ustawienie SSISDB (Integration Services Catalog) dla modelu wdrożenia projektu.
*   Konfiguracja bezpieczeństwa: przypisywanie uprawnień do SSISDB, folderów, projektów i środowisk.
*   Ustawienie zmiennych środowiskowych i parametrów do wykonywania pakietów.
*   Konfiguracja logowania i audytu wykonywania pakietów SSIS.
*   Ustawienie zadań SQL Server Agent lub innych harmonogramów do automatyzacji wykonywania pakietów SSIS.
*   Konfiguracja wysokiej dostępności i odzyskiwania po awarii dla SSISDB w razie potrzeby.

**C. Konserwacja**

*   Monitorowanie wykonań pakietów SSIS i przeglądanie logów pod kątem błędów lub problemów z wydajnością.
*   Rozwiązywanie problemów z nieudanymi wykonaniami pakietów i rozwiązywanie problemów z przepływem danych lub łącznością.
*   Aplikowanie poprawek i aktualizacji do komponentów SSIS w razie potrzeby.
*   Zarządzanie SSISDB: czyszczenie starych logów wykonań, usuwanie nieużywanych projektów/pakietów i monitorowanie wzrostu bazy danych.
*   Tworzenie kopii zapasowych i odtwarzanie SSISDB w ramach regularnej konserwacji bazy danych.
*   Przeglądanie i aktualizacja uprawnień bezpieczeństwa dla użytkowników i operatorów SSIS.
*   Optymalizacja pakietów SSIS pod kątem wydajności i wykorzystania zasobów.
*   Dokumentowanie konfiguracji SSIS, harmonogramów i procedur operacyjnych.

### 7. Administracja SSRS (SQL Server Reporting Services)

**A. Instalacja**

*   Weryfikacja wymagań systemowych i wstępnych warunków do instalacji SSRS.
*   Instalacja SSRS jako funkcji podczas instalacji SQL Server lub jako samodzielnej usługi.
*   Zastosowanie najnowszych service packów i aktualizacji zbiorczych dla SSRS.
*   Rejestracja i konfiguracja usługi SSRS na serwerze.
*   Ustawienie odpowiednich kont usług do wykonywania SSRS.

**B. Konfiguracja**

*   Konfiguracja właściwości usługi SSRS (np. konto usługi, URL usługi sieciowej, URL portalu internetowego).
*   Ustawienie i konfiguracja bazy danych serwera raportów (ReportServer i ReportServerTempDB).
*   Konfiguracja bezpieczeństwa: przypisywanie uprawnień do folderów, raportów i źródeł danych.
*   Ustawienie ustawień poczty e-mail dla subskrypcji raportów i alertów.
*   Konfiguracja źródeł danych i współdzielonych zestawów danych dla raportów.
*   Ustawienie harmonogramów wykonywania raportów i subskrypcji.
*   Włączanie i konfiguracja kluczy szyfrowania dla danych wrażliwych.
*   Konfiguracja wysokiej dostępności i odzyskiwania po awarii dla SSRS w razie potrzeby (np. wdrożenie scale-out).

**C. Konserwacja**

*   Monitorowanie stanu usługi SSRS, wykonywania raportów i wydajności.
*   Rozwiązywanie problemów z nieudanymi wykonaniami raportów i rozwiązywanie problemów z łącznością danych lub renderowaniem.
*   Aplikowanie poprawek i aktualizacji do komponentów SSRS w razie potrzeby.
*   Zarządzanie bazami danych ReportServer: czyszczenie starych raportów, logów wykonań i monitorowanie wzrostu bazy danych.
*   Tworzenie kopii zapasowych i odtwarzanie kluczy szyfrowania SSRS oraz baz danych ReportServer w ramach regularnej konserwacji.
*   Przeglądanie i aktualizacja uprawnień bezpieczeństwa dla użytkowników i operatorów SSRS.
*   Optymalizacja wydajności raportów i wykorzystania zasobów.
*   Dokumentowanie konfiguracji SSRS, harmonogramów i procedur operacyjnych.

---

## Zarządzanie Systemami Operacyjnymi

### 8. Administracja Systemem Windows

**A. Instalacja i Wstępna Konfiguracja**

*   Weryfikacja wymagań sprzętowych i oprogramowania do instalacji Windows Server.
*   Instalacja odpowiedniej wersji i edycji Windows Server.
*   Zastosowanie najnowszych service packów, poprawek bezpieczeństwa i aktualizacji.
*   Konfiguracja ról i funkcji serwera w razie potrzeby (np. Active Directory, DNS, DHCP).
*   Ustawienie lokalnych i domenowych kont użytkowników z odpowiednimi uprawnieniami.
*   Konfiguracja nazwy hosta serwera, adresu IP i ustawień sieciowych.
*   Ustawienie synchronizacji czasu (NTP).

**B. Konfiguracja**

*   Konfiguracja reguł Zapory systemu Windows dla łączności baz danych i aplikacji.
*   Ustawienie polityk bezpieczeństwa: polityki haseł, blokady konta i audytu.
*   Konfiguracja przechowywania: tworzenie i formatowanie woluminów, ustawienie RAID w razie potrzeby, przypisywanie liter dysków.
*   Ustawienie zaplanowanych zadań do konserwacji (np. kopie zapasowe, czyszczenie dysku).
*   Konfiguracja wykluczeń antywirusowych dla katalogów baz danych i logów.
*   Ustawienie pulpitu zdalnego i narzędzi do zarządzania (np. RDP, PowerShell Remoting).
*   Konfiguracja logowania zdarzeń i monitorowania.

**C. Konserwacja**

*   Monitorowanie stanu systemu: użycie CPU, pamięci, dysku i sieci.
*   Aplikowanie regularnych aktualizacji Windows i poprawek bezpieczeństwa.
*   Przeglądanie i zarządzanie logami zdarzeń pod kątem błędów i ostrzeżeń.
*   Wykonywanie regularnych kopii zapasowych i testowanie procedur odtwarzania.
*   Zarządzanie kontami użytkowników, uprawnieniami i członkostwem w grupach.
*   Rozwiązywanie problemów sprzętowych i programowych.
*   Czyszczenie plików tymczasowych i zarządzanie przestrzenią dyskową.
*   Dokumentowanie konfiguracji serwera, zaplanowanych zadań i procedur operacyjnych.

**D. Zarządzanie Użytkownikami i Uprawnieniami**

*   Tworzenie i zarządzanie kontami Active Directory dla kont usług baz danych.
*   Konfiguracja grup Windows dla dostępu opartego na rolach w SQL Server.
*   Ustawienie delegacji Kerberos dla SQL Server w środowiskach wielowarstwowych.

**E. Zarządzanie Usługami i Procesami**

*   Instalacja i konfiguracja usług SQL Server (Database Engine, Agent, SSIS, SSRS).
*   Zarządzanie usługami Windows związanymi z SQL Server (start/stop, ustawienie typu uruchomienia).
*   Monitorowanie stanu usług i ponowne uruchamianie usług podczas konserwacji.

**F. Zarządzanie Pamięcią Masową i Dyskami**

*   Konfiguracja uprawnień NTFS dla katalogów danych i logów baz danych.
*   Zarządzanie partycjami dysków i woluminami w celu optymalnej wydajności bazy danych.
*   Ustawienie punktów montowania dla dużych magazynów baz danych.

**G. Integracja Kopii Zapasowych i Odzyskiwania**

*   Konfiguracja Harmonogramu zadań Windows dla skryptów kopii zapasowych (jeśli nie używa się SQL Agent).
*   Zarządzanie kopiami zapasowymi na poziomie systemu plików dla plików baz danych.
*   Zapewnienie kompatybilności Volume Shadow Copy Service (VSS) dla kopii zapasowych SQL.

**H. Zarządzanie Wydajnością i Zasobami**

*   Monitorowanie liczników wydajności systemu Windows dla CPU, pamięci i I/O dysku.
*   Konfiguracja ustawień Windows Server w celu optymalizacji SQL (np. Lock Pages in Memory).
*   Dostosowanie planów zasilania do obciążeń baz danych o wysokiej wydajności.

**I. Bezpieczeństwo i Zgodność**

*   Aplikowanie poprawek bezpieczeństwa systemu Windows na serwerach baz danych.
*   Konfiguracja reguł Zapory systemu Windows dla portów SQL Server.
*   Implementacja obiektów zasad grupy (GPO) w celu wzmocnienia zabezpieczeń serwera baz danych.

**J. Wysoka Dostępność i Odzyskiwanie po Awarii**

*   Konfiguracja klastra trybu failover systemu Windows dla SQL Server AlwaysOn.
*   Zarządzanie węzłami klastra i ustawieniami kworum.
*   Walidacja stanu klastra i rozwiązywanie problemów związanych z klastrem.

### 9. Administracja Systemem Linux

**A. Instalacja i Wstępna Konfiguracja**

*   Weryfikacja wymagań sprzętowych i oprogramowania do instalacji serwera Linux.
*   Instalacja odpowiedniej dystrybucji i wersji Linuksa (np. RHEL, CentOS, Ubuntu, SUSE).
*   Zastosowanie najnowszych aktualizacji, poprawek i poprawek bezpieczeństwa.
*   Konfiguracja nazwy hosta serwera, adresu IP i ustawień sieciowych.
*   Ustawienie lokalnych i domenowych kont użytkowników z odpowiednimi uprawnieniami.
*   Konfiguracja synchronizacji czasu (NTP/chrony).
*   Partycjonowanie i formatowanie dysków na dane, logi, kopie zapasowe i pliki systemowe.

**B. Konfiguracja**

*   Konfiguracja reguł zapory sieciowej (np. firewalld, iptables) dla łączności baz danych i aplikacji.
*   Ustawienie polityk bezpieczeństwa: polityki haseł, sudoers i audytu.
*   Konfiguracja przechowywania: punkty montowania, LVM, RAID i uprawnienia systemu plików.
*   Ustawienie zaplanowanych zadań do konserwacji (np. zadania cron do tworzenia kopii zapasowych, rotacji logów).
*   Konfiguracja ochrony antywirusowej lub przed złośliwym oprogramowaniem i ustawienie wykluczeń dla katalogów baz danych.
*   Ustawienie SSH dla bezpiecznego zdalnego dostępu i konfiguracja uwierzytelniania opartego na kluczach.
*   Konfiguracja logowania i monitorowania systemu (np. syslog, journald, auditd).

**C. Konserwacja**

*   Monitorowanie stanu systemu: użycie CPU, pamięci, dysku i sieci.
*   Aplikowanie regularnych aktualizacji i poprawek bezpieczeństwa.
*   Przeglądanie i zarządzanie logami systemowymi i aplikacyjnymi pod kątem błędów i ostrzeżeń.
*   Wykonywanie regularnych kopii zapasowych i testowanie procedur odtwarzania.
*   Zarządzanie kontami użytkowników, uprawnieniami i członkostwem w grupach.
*   Rozwiązywanie problemów sprzętowych i programowych.
*   Czyszczenie plików tymczasowych i zarządzanie przestrzenią dyskową.
*   Dokumentowanie konfiguracji serwera, zaplanowanych zadań i procedur operacyjnych.

---

## Automatyzacja i Skrypty

### 10. Automatyzacja i Skrypty (Ogólne)

*   Użycie PowerShell do zarządzania instancjami SQL Server (instalacja, konfiguracja, łatanie).
*   Automatyzacja zadań na poziomie systemu Windows, takich jak czyszczenie dysku lub rotacja logów.
*   Integracja PowerShell DSC w celu zapewnienia spójności konfiguracji SQL Server.

### 11. Skrypty

**A. Bash**

*   Tworzenie skryptów.
*   Planowanie skryptów lub uruchamianie ich ręcznie.
*   Dostosowywanie, konserwacja i weryfikacja skryptów.
*   Monitorowanie skryptów.

**B. PowerShell**

*   Tworzenie skryptów.
*   Planowanie skryptów lub uruchamianie ich ręcznie.
*   Dostosowywanie, konserwacja i weryfikacja skryptów.
*   Monitorowanie skryptów.

**C. Transact-SQL**

*   Tworzenie skryptów.
*   Planowanie skryptów lub uruchamianie ich ręcznie.
*   Dostosowywanie, konserwacja i weryfikacja skryptów.
*   Monitorowanie skryptów.
*   Tworzenie wyzwalaczy SQL, funkcji, procedur, zdarzeń, audytów zgodnie z systemem baz danych.
*   Tworzenie i konserwacja zadań SQL.
*   Monitorowanie zadań i tworzenie alertów.

### 12. Ansible

**A. Tworzenie i utrzymywanie listy serwerów baz danych**

*   Identyfikacja serwera.
*   Dodanie odpowiednich tagów bazy danych.

**B. Przygotowywanie szablonów baz danych**

*   Tworzenie i utrzymywanie szablonu dla MSSQL.
*   Tworzenie i utrzymywanie szablonu dla MySQL.
*   Tworzenie i utrzymywanie szablonu dla PostgreSQL.
*   Tworzenie i utrzymywanie szablonu dla MongoDB.
*   Tworzenie i utrzymywanie szablonu dla OracleDB.

**C. Stosowanie szablonów do agenta zainstalowanego na serwerach baz danych**

*   Tworzenie zgłoszenia dla każdej zmiany wprowadzonej w Ansible.
*   Dodawanie odpowiednich ustawień dla każdego serwera baz danych w pliku inwentarza Ansible.
*   Uruchamianie playbooka Ansible w celu wypchnięcia zmian na serwer.

---

## Narzędzia i Platformy Monitorujące

### 13. NinjaRMM

**A. Tworzenie i utrzymywanie listy serwerów baz danych**

*   Identyfikacja serwera.
*   Dodanie odpowiednich tagów bazy danych.

**B. Przygotowywanie szablonów łatania**

**C. Łatanie serwerów zgodnie z polityką łatania**

### 14. Splunk

**A. Tworzenie i utrzymywanie listy serwerów baz danych**

*   Weryfikacja, czy wszystkie serwery baz danych są podłączone do Splunka.

**B. Przygotowywanie i dostosowywanie wykresów i pulpitów nawigacyjnych**

*   Tworzenie spersonalizowanych wykresów i pulpitów nawigacyjnych.
*   Tworzenie spersonalizowanych metryk.

**C. Tworzenie detektorów i zarządzanie alertami**

*   Oddzielne detektory i alerty dla środowisk produkcyjnych i nieprodukcyjnych.
*   Powiadamianie o alertach za pośrednictwem poczty e-mail i kanału Teams.

**D. Codzienne monitorowanie utworzonych pulpitów nawigacyjnych i wykresów**

*   Tworzenie incydentu w SNOW w przypadku zauważenia wartości krytycznej.
*   Dostosowywanie progów w przypadku zauważenia niestandardowego zachowania.
*   Raportowanie aktywnych i zamkniętych incydentów.

---

## Zarządzanie Kopiami Zapasowymi

### 15. Veeam SQL

**A. Tworzenie i utrzymywanie listy serwerów baz danych**

*   Identyfikacja serwera.
*   Dodanie odpowiednich tagów bazy danych.

**B. Przygotowywanie szablonów kopii zapasowych**

**C. Tworzenie kopii zapasowych serwerów zgodnie z politykami łatania**

**D. Tworzenie kopii zapasowych serwerów na żądanie**

**E. Monitorowanie serwerów zgodnie z politykami monitorowania**

**F. Odtwarzanie kopii zapasowych na żądanie**

---

## Główne Obowiązki i Procesy

### 16. Optymalizacja Baz Danych

**A. Zarządzanie Indeksami**

*   Analiza wzorców zapytań i identyfikacja brakujących lub nieużywanych indeksów.
*   Tworzenie odpowiednich indeksów (jednokolumnowe, złożone, pokrywające) w celu poprawy wydajności zapytań.
*   Regularna przebudowa lub reorganizacja pofragmentowanych indeksów.
*   Usuwanie zbędnych lub nieużywanych indeksów w celu zmniejszenia narzutu.

**B. Optymalizacja Zapytań**

*   Przegląd i dostosowywanie wolno działających zapytań za pomocą planów wykonania.
*   Refaktoryzacja zapytań w celu zwiększenia wydajności (np. unikanie `SELECT *`, używanie odpowiednich złączeń, wczesne filtrowanie).
*   Używanie zapytań sparametryzowanych w celu poprawy ponownego wykorzystania planu i bezpieczeństwa.
*   Optymalizacja procedur składowanych, wyzwalaczy i funkcji.

**C. Statystyki i Konserwacja**

*   Regularna aktualizacja statystyk bazy danych w celu zapewnienia optymalnych planów zapytań.
*   Planowanie i automatyzacja regularnych zadań konserwacji bazy danych (np. vacuum, analyze, update statistics).
*   Czyszczenie przestarzałych lub tymczasowych danych.

**D. Strojenie Konfiguracji**

*   Dostosowywanie alokacji pamięci (pule buforów, rozmiary pamięci podręcznej) w oparciu o obciążenie i zasoby serwera.
*   Dostosowywanie limitów połączeń, równoległości i ustawień wątków.
*   Optymalizacja parametrów specyficznych dla bazy danych (np. TempDB w SQL Server, pula buforów InnoDB w MySQL, shared_buffers w PostgreSQL).

**E. Optymalizacja Modelu Danych**

*   Normalizacja lub denormalizacja tabel w zależności od obciążenia.
*   Partycjonowanie dużych tabel w celu poprawy wydajności zapytań i konserwacji.
*   Archiwizacja lub usuwanie starych danych w celu utrzymania małych aktywnych zestawów danych.

**F. Monitorowanie i Analiza**

*   Ustawienie narzędzi monitorujących do śledzenia metryk wydajności (CPU, pamięć, I/O dysku, czasy odpowiedzi na zapytania).
*   Regularna analiza logów wolnych zapytań i raportów wydajności.
*   Ustawienie alertów dotyczących degradacji wydajności lub wąskich gardeł zasobów.

**G. Zarządzanie Zasobami**

*   Równoważenie obciążeń między dostępnym sprzętem (CPU, pamięć, pamięć masowa).
*   Optymalizacja układu dysków (oddzielne pliki danych, logów, temp i kopii zapasowych).
*   Zapewnienie wystarczającej przepustowości I/O dla operacji bazodanowych.

**H. Współbieżność i Blokowanie**

*   Identyfikacja i rozwiązywanie problemów z blokowaniem i zakleszczeniami.
*   Dostosowywanie poziomów izolacji i strategii blokowania w celu zrównoważenia spójności i wydajności.

**I. Strojenie Aplikacji i Połączeń**

*   Używanie puli połączeń w celu zmniejszenia narzutu.
*   Optymalizacja logiki aplikacji w celu zminimalizowania niepotrzebnych wywołań bazy danych.

**J. Bezpieczeństwo i Zgodność**

*   Zapewnienie, że optymalizacja nie zagraża bezpieczeństwu (np. unikanie ujawniania danych wrażliwych w logach).
*   Regularny audyt uprawnień i wzorców dostępu.

**K. Dokumentacja i Przegląd**

*   Dokumentowanie zmian optymalizacyjnych i ich uzasadnienia.
*   Okresowy przegląd i aktualizacja strategii optymalizacji w miarę ewolucji obciążeń.

### 17. Testowanie

*(Brak szczegółów w oryginalnym dokumencie)*

### 18. Bezpieczeństwo

*(Brak szczegółów w oryginalnym dokumencie)*

### 19. Instalacja poprawek (Patching)

*(Brak szczegółów w oryginalnym dokumencie)*

### 20. Konsultacje

*(Brak szczegółów w oryginalnym dokumencie)*

### 21. Analiza Błędów

*(Brak szczegółów w oryginalnym dokumencie)*

### 22. Wsparcie Danych w Środowisku Produkcyjnym

**A. Masowe ładowanie danych w środowisku produkcyjnym**

*   Udzielanie pomocy Biznesowi, gdy wymagane są masowe ładowania danych w środowisku produkcyjnym, szczególnie w przypadkach, gdy nie istnieje standardowy proces lub wewnętrzna wiedza (tj. ładowania ad hoc lub jednorazowe).
*   Masowe ładowania danych często wymagają szczególnej uwagi w celu zapewnienia stabilności systemu. Może to obejmować opracowanie skryptów wsadowych i ścisłą obserwację w celu zapobiegania blokadom i blokowaniu bazy danych, zapewniając tym samym, że operacje produkcyjne przebiegają bez zakłóceń.

**B. Masowe aktualizacje jakości danych w środowisku produkcyjnym**

*   Udzielanie wsparcia Biznesowi przy masowych aktualizacjach istniejących danych w środowisku produkcyjnym, gdy jest to wymagane ze względu na jakość lub kompletność danych, zwłaszcza w przypadkach, gdy nie jest dostępna dedykowana aplikacja lub wewnętrzna wiedza (tj. korekty danych ad hoc lub jednorazowe).
*   Takie masowe aktualizacje danych często wymagają szczególnej staranności w celu utrzymania stabilności systemu. Może to obejmować opracowanie skryptów wsadowych i ścisłą obserwację w celu zapobiegania blokadom i blokowaniu bazy danych, zapewniając, że operacje produkcyjne przebiegają bez zakłóceń.

**C. Archiwizacja danych w środowisku produkcyjnym**

*   Udzielanie wsparcia Biznesowi w procesach archiwizacji danych w środowisku produkcyjnym. Archiwizacja danych jest często pomijana, ponieważ Biznes może nie być świadomy ciągłego wzrostu baz danych na przestrzeni lat. Tabele o dużej liczbie rekordów mogą wymagać archiwizacji w celu poprawy wydajności systemu oraz skrócenia czasu konserwacji i tworzenia kopii zapasowych, a także optymalnego zarządzania przestrzenią dyskową.
*   Wiele baz danych zawiera tabele z bardzo starymi danymi, które nie są już potrzebne do codziennych operacji i mogą być przeniesione z głównych tabel.
*   Skuteczna archiwizacja danych wymaga świadomości, dokładnego planowania i starannego wykonania skryptów archiwizacyjnych w celu zapewnienia integralności danych i zminimalizowania wpływu na operacje produkcyjne.