januar 25, 2022

Hvordan Sjekke Arkivloggstørrelse

i dette innlegget vil jeg snakket om følgende 3 emner.

  1. Hvordan Definere Arkivloggstørrelse?
  2. Er Alle Arkivlogger Av Samme Størrelse?
  3. Hvordan Sjekke Arkivloggstørrelsen?

A. Hvordan Definere Arkivloggstørrelse?

Før du bestemmer arkivert loggstørrelse, må du vite at arkiverte logger er avledet fra bytte av logger på nettet. Som betyr, arkiverte logger er pensjonert og kopiert online gjenta logger. Med andre ord, du bestemmer ikke arkivert loggstørrelse, faktisk bestemmer du online gjenta loggstørrelse.

Definer Mean Time To Recover (MTTR)

men nå er spørsmålet: hvordan sette en riktig og optimal størrelse for online gjenta logger? Det er et enkelt svar for oss. Hvis databasen Din Er Oracle 10g videre, kan du få en optimal verdi fra gjeldende instanskonfigurasjon.

FØRST må DU sørge FOR AT FAST_START_MTTR_TARGET er satt til en annen verdi enn null.

SQL> show parameter fast_start_mttr_target;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
fast_start_mttr_target integer 1800

Kontroller Optimal Loggstørrelse På Nytt

hvis DU har angitt FAST_START_MTTR_TARGET, dvs. 1800 sekunder i dette tilfellet, så kan du få en rådgivende verdi for å optimalisere loggfilstørrelsen ved denne spørringen.

SQL> select target_mttr, estimated_mttr, optimal_logfile_size from v$instance_recovery;
TARGET_MTTR ESTIMATED_MTTR OPTIMAL_LOGFILE_SIZE
----------- -------------- --------------------
146 21 1469

som du kan se, ER DEN tredje kolonnen OPTIMAL_LOGFILE_SIZE svaret. Oracle anbefaler deg å sette gjenta loggstørrelsen TIL 1469MB.

deretter må vi kanskje endre størrelsen på gjenta logger for å overholde den anbefalte størrelsen.

B. Er Alle Arkivlogger av Samme Størrelse?

for Det meste er arkiverte logger av samme størrelse, men de kan påvirkes av følgende faktorer.

gjør alle logger på nytt definert som samme størrelse?

Selv om vi bør definere alle gjenta logggrupper og medlemmer som samme størrelse, kan du se forskjellige størrelser blant gjenta logger er definert i noen databaser. Vanligvis legges de større redo-loggene til etter opprettelsen av databasen. Det er derfor vi så forskjellige størrelser arkiverte logger.

Har du noen gang satt loggbryterintervall?

Log switching kan gjøres på et fast intervall ved å sette ARCHIVE_LAG_TARGET initialisering parameter for å hjelpe deg å kontrollere arkiv frekvens.

hvis parameteren er satt til en annen verdi enn standardverdien (0, deaktivert), vil det oppstå noen loggskift før loggene fylles på nytt. Slike tidlig gjøre om logger gjøre forskjellige størrelser arkiverte logger.

Rman Backup

Ved siden av innstillingen log switching intervall, tar en database backup med arkiverte logger AV RMAN vil utløse log switching. For eksempel vil vi gjerne ha en selvstendig full backup som dette:

RMAN> backup database plus archivelog;
Starting backup at 27-JUN-16
current log archived
...
Starting backup at 27-JUN-16
current log archived
...

som du kan se, ble 2 gjenta logger arkivert av RMAN, før og etter full backup. De er mindre enn definert størrelse.

C. Hvordan Sjekke Arkivloggstørrelsen?

nå, la Oss komme tilbake til vårt hovedemne, hvordan sjekke arkivloggstørrelsen i databasen?

Størrelsen På Hver Arkiverte Logger

for Å se størrelsen PÅ hver arkiverte logg, spør VI V$ARCHIVED_LOG:

SQL> column name format a50;
SQL> column "Size (MB)" format 9999.999;
SQL> select sequence#, name, blocks*block_size/1024/1024 "Size (MB)" from v$archived_log where status = 'A' and standby_dest = 'NO' and completion_time > sysdate-1;
SEQUENCE# NAME Size (MB)
---------- -------------------------------------------------- ---------
175398 /oradata/FRA/ORCL/ARCH/ERPAPP1_1_175398.arc 1023.999
175399 /oradata/FRA/ORCL/ARCH/ERPAPP1_1_175399.arc 1023.999
175400 /oradata/FRA/ORCL/ARCH/ERPAPP1_1_175400.arc 749.232
175401 /oradata/FRA/ORCL/ARCH/ERPAPP1_1_175401.arc 43.875
175402 /oradata/FRA/ORCL/ARCH/ERPAPP1_1_175402.arc 727.369
175403 /oradata/FRA/ORCL/ARCH/ERPAPP1_1_175403.arc 6.957
175404 /oradata/FRA/ORCL/ARCH/ERPAPP1_1_175404.arc 1023.993
175405 /oradata/FRA/ORCL/ARCH/ERPAPP1_1_175405.arc 1023.999
...

størrelsen på hver enkelt arkivlogg kan beregnes fra å multiplisere BLOKKER AV BLOCK_SIZE kolonne. Videre beregnet vi bare arkiverte logger som er fullført i 24 timer og tilgjengelig i den primære databasen.

SOM du kan se, ER IKKE alle arkivlogger i samme størrelse, de fleste arkiverte logger er i 1024MB (dvs.1GB).

Størrelsen På Alle Arkiverte Logger

Alle Tilgjengelige

For å se den totale størrelsen på tilgjengelige arkiverte logger i den primære databaseserveren, kan vi gjøre dette:

SQL> sselect sum(blocks*block_size)/1024/1024/1024 "Total Size (GB)" from v$archived_log where status = 'A' and standby_dest = 'NO';
Total Size (GB)
---------------
436.632

Som vi kan se, har vi OVER 400GB arkiverte logger, vi bør slette dem mer aggressivt fra nå av.

Siste 24 Timer

for å oppsummere all tilgjengelig arkivert loggstørrelse de siste 24 timene i den primære databaseserveren, kan vi gjøre dette:

SQL> column "Total Size (GB)" format 9999.999;
SQL> select sum(blocks*block_size)/1024/1024/1024 "Total Size (GB)" from v$archived_log where status = 'A' and standby_dest = 'NO' and completion_time > sysdate-1;
Total Size (GB)
---------------
101.828

vi har lagt til et filter for å begrense tiden omfanget av arkiverte logger.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.