================================================== Proceduri Mentenanta DB (Oracle) ================================================== 1. Backup si restaurare date ---------------------------------------------- Baza de date se salveaza zilnic in format full folosind utilitarul de export al bazei de date. Suplimentar, arhivele zilnice se copiaza si intr-o alta locatie via ftp, nfs sau s3. Ca si istoric se pastreaza minim 60 de arhive zilnice (minim ultimele 2 luni) si cate o arhiva saptamanala. Pentru verificarea consistentei arhivelor, acestea se restaureaza pe instanta de test. 2. Salvarea bazei de date ----------------------------------------- Pentru efectuarea de copii de siguranta a bazei de date, cu utilizatorul oracle, in linie de comanda se ruleaza comanda: .. code-block:: c exp total/parola_total@emsysp file=cale_fisier_dmp/nume_fisier_dmp full=yes buffer=1024000 feedback=1000 log=log_export.txt unde parola_total este parola utilizatorului TOTAL de pe baza Oracle, iar emsysp este numele bazei de productie. Recomandam arhivarea fisierului dump folosind in denumirea arhivei - data si ora la care a fost facuta operatia. Ex: emsys_01aug2022_1930.zip Pentru arhivarea zilnica automata, se descarca scriptul bkup_oracle_cron_daily.sh in folderul /etc/cron.daily/ si scriptul bkup_oracle.sh in folderul /home/oracle/ folosind comanda: .. code-block:: c curl -H 'Cache-Control: no-cache' http://static.emsys.ro/emsys/menten/db_ora/bkup_oracle_cron_daily.sh -o /etc/cron.daily/bkup_oracle_cron_daily.sh http://static.emsys.ro/emsys/menten/db_ora/bkup_oracle.sh -o /home/oracle/bkup_oracle.sh In scriptul bkup_oracle.sh se actualizeaza parola pentru utilizatorul TOTAL (parola_total) si numele bazei de date (emsysp). Se ruleaza apoi o singura data, cu utilizatorul root, comanda: .. code-block:: c dos2unix /etc/cron.daily/bkup_oracle_cron_daily.sh && chmod +x /etc/cron.daily/bkup_oracle_cron_daily.sh Arhivele se vor genera zilnic in folderul /bk_Oracle 3. Restaurarea bazei de date ------------------------------------ Pentru restaurarea manuala a bazei de date pe un server nou sau pe o instanta de test: Se descarca scriptul oracle_emsys_users.sql in folderul /home/oracle/ folosind comanda: .. code-block:: c curl -H 'Cache-Control: no-cache' http://static.emsys.ro/emsys/menten/db_ora/oracle_emsys_users.sql -o /home/oracle/oracle_emsys_users.sql Se actualizeaza in script parola utilizatorului TOTAL cu parola dorita; Se dezarhiveaza fisierul cu salvarea bazei de date din data dorita in folderul /home/oracle/ Cu utilizatorul oracle se ruleaza succesiv comenzile: .. code-block:: c sqlplus system/parola_system@emsyst @/home/oracle/oracle_emsys_users.sql .. code-block:: c imp total/parola@emsyst full=yes file=cale_fisier_dmp/nume_fisier_dmp log=log_import.txt buffer=1024000 feedback=1000 Pentru restaurarea automata pe instanta de test se descarca scripturile restore_oracle_test.sh si oracle_emsys_users.sql in folderul /home/oracle/restore_test cu comanda: .. code-block:: c curl -H 'Cache-Control: no-cache' http://static.emsys.ro/emsys/menten/db_ora/restore_oracle_test.sh -o /home/oracle/restore_test/restore_oracle_test.sh http://static.emsys.ro/emsys/menten/db_ora/oracle_emsys_users.sql -o /home/oracle/restore_test/oracle_emsys_users.sql Se actualizeaza parola utilizatorului TOTAL cu parola dorita in scripturile restore_oracle_test.sh si oracle_emsys_users.sql precum si numele bazei de date (emsyst). Se copiaza o singura arhiva a bazei de date in folderul /home/oracle/restore_test/ Se executa, cu utilizatorul root, o singura data, comenzile: .. code-block:: c dos2unix /home/oracle/restore_test/restore_oracle_test.sh && chmod +x /home/oracle/restore_test/restore_oracle_test.sh dupa care, se executa cu utilizatorul oracle comanda: .. code-block:: c sh restore_oracle_test.sh .. note:: Se recomanda salvarea bazei de date curente inainte de a restaura o arhiva mai veche ! 4. Mentenanta baza de date ----------------------------------- Pentru actualizarea automata saptamanala a statisticilor folosite de optmizerul bazei de date, se descarca scriptul get_stats_cron_weekly.sh in folderul /etc/cron.weekly/ si scripturile get_stats_oracle.sh si get_stats_oracle.sql in folderul /home/oracle/ cu comanda: .. code-block:: c curl -H 'Cache-Control: no-cache' http://static.emsys.ro/emsys/menten/db_ora/get_stats_cron_weekly.sh -o /etc/cron.weekly/get_stats_cron_weekly.sh http://static.emsys.ro/emsys/menten/db_ora/get_stats_oracle.sh -o /home/oracle/get_stats_oracle.sh http://static.emsys.ro/emsys/menten/db_ora/get_stats_oracle.sql -o /home/oracle/get_stats_oracle.sql In fisierul get_stats_oracle.sh se actualizeaza parola utilizatorului TOTAL si numele bazei de date. Se executa cu utilizatorul root comenzile: .. code-block:: c dos2unix /etc/cron.weekly/get_stats_cron_weekly.sh && chmod +x /etc/cron.weekly/get_stats_cron_weekly.sh