10 wartych poznania cech motoru bazy danych
Dopiszesz #11 ?
Nie bardzo rozumiem jak zmiana po wystawieniu kłóci się z tym, co napisałem. Zapis, czy nowej, czy zaktualizowanej starej można zrobić na raz.
Urządzenie mobilne w rodzaju smartfona czy tableta zazwyczaj mamy częściej przy sobie niż laptop. Producenci oprogramowania zagospodarowali tę niszę. Począwszy od aplikacji służących do nauki (tutoriali czy testów) w rodzaju: https://play.google.com/store/apps/details?id=com.sololearn.sql . Nie dziwią aplikacje klienckie jak: https://play.google.com/store/apps/details?id=de.mxapplications.sqlclient . Można mieć na smartfonie, nawet bazę danych obsługującą podstawowe komendy SQL: https://play.google.com/store/apps/details?id=sql.code.play . Aż po aplikację do projektowania baz danych: https://play.google.com/store/apps/details?id=com.klim.dbdesigner .
Z jakiej apki bazodanowej Ty korzystasz ?
#oracle #mysql #postgresql #sqlserver #backend #coding #programming #development
Nie lubię małych ekraników, plus kwestie bezpieczeństwa - jak to u starego wapniaka, telefon u mnie służy tylko do dzwonienia i SMS.
Oracle ma Database Control podobnie jak MySQL ma phpMyAdmin, a PostgreSQL ma pgAdmin. Łatwy w instalacji, przyjazny w użyciu i z intuicyjnym interfejsem :-)
Instalacja Database Control:
emca -config dbcontrol db -repos create
#database #rdbms #oracle #mysql #postgresql #dba #backend #dba4dev #marcinbadtke
Czasami jak nie ma dostępu do webowego klienta na hostingu to używam https://www.adminer.org/ daje radę.
Noworoczne życzenia -
Pomyślności w 2021 roku ! Coby optymalizator zawsze wybierał optymalny plan dla Waszych SQLi, bazy zawsze miały dość miejsca na dane, a log transakcyjny nigdy się nie zapychał :-)
#database #rdbms #oracle #mysql #postgresql #sqlserver #sql #plsql #backend #dba4dev #marcinbadtke
Dlaczego plik kontrolny bazy Oracle jest tak istotny ?
Umożliwia instancji pracę na bazie danych. Zawiera metadane o bazie danych. Czyli informacje o:
Bez tego pliku instancja nie może:
Nie działa też komenda 'list
' RMAN'a - wyświetlane informacje o backup'ach pobiera z pliku kontrolnego.
Dla powyższych powodów plik kontrolny jest najbardziej chronionym plikiem Oracle. W czasie normalnej pracy instancji utrzymywanych jest kilka kopii pliku kontrolnego (konfigurowalne). Zazwyczaj na różnych dyskach czy w różnych katalogach.
Oracle dostarcza również mechanizmów pozwalających na utrzymanie jak najbardziej aktualnej kopii zapasowej pliku kontrolnego (backup). Służy do tego funkcjonalność RMAN'a. Pozwala na wykonywanie backup'ów automatycznych (autobackup) za każdym razem gdy zawartość pliku kontrolnego się zmienia aby odzwierciedlić strukturę bazy danych - ilość i stan plików - lub informacje o backup'ie zakończonym sukcesem. Kopia pliku kontrolnego jest dołączana, również do każdego backup'u pliku bazodanowego nr 1. Aby włączyć tę funkcjonalność należy wydać komendę RMAN'owi: 'CONFIGURE CONTROLFILE AUTOBACKUP ON
'.
Podczas automatycznego backup'u pliku kontrolnego kopiowany do backup piece jest, również plik konfiguracyjny spfile. Jeśli takowego nasza instancja używa ;-)
Zasady odtwrzania kopii pliku kontrolnego z backup'u automatycznego są podobne do zasad obowiązujących podczas odtwarzania kopii pliku konfiguracyjnego - spfile. Pisałem o tym w: Jak odtworzyć spfile - plik... . W uproszczeniu: nie używając FRA, do przechowywania backup'u pliku kontrolnego, musimy znać DBID bazy danych. Nie musimy znać DBID używając recovery catalog i/lub FRA.
Zdarzają się sytuacje gdy kopia pliku kontrolnego nie zawiera wszystkich informacji o, potrzebnych do recovery, plikach archiwalnych logu transakcyjnego (archivelogach). Wtedy możemy zarejestrować brakujące pliki. Oczywiście jeśli są dostępne. Umożliwi to RMAN'owi ich odnalezienie i naniesienie na bazę danych. Dzięki czemu baza odzyska spójność i będzie mogła być otwarta przez instancję.
W przypadku ręcznego odtworzenia pliku kontrolnego komendą 'create control file
' otrzymujemy plik bez żadnych informacji o backup'ach. Wtedy trzeba je zarejestrować komendą 'catalog
'.
Keywords: #database #instance #oracledatabase #rdbms #sql #backend #dba4dev #marcinbadtke
Jak odtworzyć spfile - plik konfiguracyjny instancji bazy danych Oracle ?
Instancja bazy danych Oracle może współpracować z plikiem konfiguracyjnym w postaci tekstowej: pfile oraz w postaci binarnej: spfile. Tylko plik binarny - spfile może być automatycznie backup'owany przez RMAN'a. Scenariusze odtworzenia z automatycznego backup'u:
Aby móc korzystać z RMAN'a musimy mieć działającą instancję Oracle. UWAGA: nie instancję bazy danych. Chodzi jedynie o procesy i struktury pamięci. Bez danych ani tego co pamiętamy o naszej wyjątkowej konfiguracji. Wystarczy uruchomienie instancji z podstawową konfiguracją i zmienną ORACLE_SID ustawioną na nazwę bazy danych jaką chcemy odtwarzać. Dzięki temu mamy dostęp do funkcjonalności RMAN'a. Innymi słowy startujemy instancję bez montowania bazy danych: 'startup nomount
'. DYGRESJA: montowanie bazy danych to otwarcie pliku kontrolnego. A ten nie jest jeszcze dostępny.
Aby RMAN wiedział, spfile której instancji ma odtworzyć, należy najpierw ustawić wartość DBID w sesji rman'a komendą 'set DBID
'. Dlatego warto pamiętać jakie DBID mają nasze bazy danych ;-) Następnie komendą 'restore spfile from autobackup
' odtwarzamy spfile z najnowszej dostępnej kopii. DYGRESJA: ustawienie DBID potrzebne jest RMAN'owi aby znaleźć odpowiedni backup piece - plik z backup'em. O backup piece mowa w:
. Informacje o backup'ach przechowywane są w pliku kontrolnym, a ten jest niedostępny. RMAN wykorzystuje, więc konwencję nazewniczą automatycznych backup'ów w celu znalezienia właściwego. Kluczowym fragmentem nazwy takiego pliku backup'u jest DBID.
Początek jak w punkcie #1 - trzeba uruchomić tymczasową instancję aby móc korzystać z funkcjonalności RMAN'a. Z jedną różnicą - w tymczasowym pliku konfiguracyjnym trzeba wskazać na FRA w którym znajdują się backup'y pliku kontrolnego.
Następnie wystarczy komenda 'restore spfile from autobackup
' i RMAN znajdzie i odtworzy dla nas najświeższy spfile.
Co to backup piece:
. Podobnie jak w punkcie #1 trzeba wystartować instancję Oracle. Podobnie trzeba ustawić DBID komendą 'set DBID
'. Tym razem składnia komendy 'restore
', jednak wskazuje konkretną nazwę pliku z backup'em. Nazwę backup piece. Np. restore spfile from '/ora_backup/C-1029394857-20201212-00';
. Dostępne od wersji 10g.
Początek jak w punkcie #2. Różnica taka, że zamiast wskazywania FRA, w tymczasowym pliku konfiguracyjnym, musimy podłączyć się rman'em oprócz bazy target, również do recovery catalog. Dalej równie prosto: 'restore spfile from autobackup
'.
Nie trzeba startować instancji bo działa. Plik kontrolny jest dostępny, więc RMAN wie gdzie znaleźć backup. Wtedy wystarczy komenda: restore spfile to pfile '/tmp from autobackup';
. Należy pamiętać, że tak odtworzony plik konfiguracyjny jest w postaci tekstowej - inaczej jak spfile, który jest w binarnej.
Jeśli utracie uległa cała baza danych to następnym krokiem jest odtworzenie z backup'u pliku kontrolnego (control file). W nim zawarte są informacje o lokalizacji plików bazodanowych i ich kopiach w backup'ach.
Keywords: #database #oracle #rman #backup #restore #backend #rdbms #dba4dev #marcinbadtke
@Anna Lisik: Swoją drogą jest to ciekawa sprawa. RMAN ma olbrzymie możliwości definiowania domyślnych ustawień (gdzie robić backup, w jaki sposób i i jak długo go przechowywać) + możliwość trzymania skryptów w recovery catalog. A wszystkie skrypty do backup'u jakie widziałem były trzymane w systemie operacyjnym i miały po kilkadziesiąt linii samych komend RMAN'a. Do tego dochodził narzut na komendy shell'a. Ciekawe dlaczego ? Przywiązanie adminów do 'skryptowienia' ? Trudność w zarządzaniu parametrami RMAN'a ? ... ?
@Marcin Badtke: Przywiązanie adminów do 'skryptowienia'
.... może nie tyle przywiązanie
co wygoda: tworzysz skrypt raz a później po prostu odpalasz skrypt i gotowe....... czy to ręcznie czy to cronem: beaz znaczenia...... jest takie powiedzonko ( trochę z przekąsem, ale dużo prawdy w nim jest) :: administratorzy są leniwivw sensie uwielbiają automatyzację
........
@somekind: oczywiście, że można, ale co jeżeli klient Ci mówi, że musi mieć możliwość jej zmieniania już po wystawieniu? Wypniesz się na klienta?