Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[ORACLE] Rozmiar bazy itp.

1,133 views
Skip to first unread message

Kronos

unread,
Jun 30, 2017, 3:24:50 AM6/30/17
to
Dzień dobry..

Mam pytanie co do bazy oracle 11g i rozmiaru tabel,
niestety znam się raczej na MSSQL ale przypadło mi zajrzeć do takiej bazy z powodów lekkiego niedomagania oprogramowania..

i teraz tak, w odpowiedzi na zapytanie

select TABLESPACE_NAME "Tablspace",
FILE_NAME "Filename",
BYTES/1024/1024 "Size MB",
MAXBYTES/1024/1024 "Maximum Size MB",
AUTOEXTENSIBLE "Autoextensible"
from SYS.DBA_DATA_FILES

mam oczywiście listę tabel / plików (btw. czy oracle trzyma bazę w plikach dbf
? bo nazwy to sugerują )

no i jest w dużej części tak (nazwy plików wycięte)

Size MB Maximum Size MB Autoextensible
32767.984375 32767.984375 YES
32767.984375 32767.984375 YES
32767.984375 32767.984375 YES
7880 0 NO
32767.984375 32767.984375 YES
2740 32767.984375 YES
20 32767.984375 YES
32767.984375 32767.984375 YES
32767.984375 32767.984375 YES

nie wiem jak zorganizowany od strony plików jest oracle ale to co widzę sugeruje że pliki osiągnęły rozmiary maksymalne i to mnie niepokoi..
ale z kolei sądząc po nazwach plików to wygląda tak że do takich samych nazw dodawana jest kolejna cyferka i w ramach jednej nazwy to wygląda tak:

32767.984375 32767.984375 YES
32767.984375 32767.984375 YES
32767.984375 32767.984375 YES
25724 32767.984375 YES
10 32767.984375 YES

czyli pewnie baza w ramach rozrostu przerzuca i automatycznie robi nowe pliki (to wersja 32 bitowa bazy i stoi chyba na win2003 server)

Podrzućcie info czy należy się tym niepokoić?

Pozdrawiam



pwola

unread,
Jun 30, 2017, 1:11:11 PM6/30/17
to
>mam oczywiście listę tabel / plików (btw. czy oracle trzyma bazę w plikach dbf
>? bo nazwy to sugerują )
>nie wiem jak zorganizowany od strony plików jest oracle ale to co widzę sugeruje że pliki osiągnęły rozmiary maksymalne i to mnie niepokoi..
>ale z kolei sądząc po nazwach plików to wygląda tak że do takich samych nazw dodawana jest kolejna cyferka i w ramach jednej nazwy to wygląda tak:

ORACLE trzyma tabele w TABLESPACE które składają się z plików - jak
kończy się miejsce dodajemy plik (nazwa/rozszerzenie nazwy pliku
dowolne *.dbf, *dat, itp. )
Przy plikach jest jeszcze parametr FreeSpace - ile jest w nich
wolnego miejsca - mogą być od razu duże np 32 GB lub mniejsze
automatycznie rozszerzane

>czyli pewnie baza w ramach rozrostu przerzuca i automatycznie robi nowe pliki (to wersja 32 bitowa bazy i stoi chyba na win2003 server)

Baza automatycznie nie robi nowych plików - nalezy zrobić to "ręcznie"
(chyba, że ktoś to oprogramował)

Piotr.



---
Ta wiadomość została sprawdzona na obecność wirusów przez oprogramowanie antywirusowe Avast.
https://www.avast.com/antivirus

Tho...@cpas.com

unread,
Jun 30, 2017, 2:19:51 PM6/30/17
to
> czyli pewnie baza w ramach rozrostu przerzuca i automatycznie robi nowe pliki
Oracle moze sam dodawac pliki jezeli jest ustawiony z opcja
Oracle-Managed Files.
Zeby sprawdzic czy jest, zobacz takie query w sqlplus:
Polacz sie jako sys lub system lub uzytkownik z przywilejem sysdba.
>show parameter DB_CREATE_FILE_DEST;
Jezeli ten parameter jest pusty, to musisz dodawac pliki sam.
Jezeli pokazuje sciezke do istniejacych plikow, jest szansa za Oracle dodaje pliki automatycznie.

>Mam pytanie co do bazy oracle 11g i rozmiaru tabel,
Jezeli chcesz wiedziec ile masz miejsca na dane w tym systemie to
zobacz takie query w sqlplus:
Polacz sie jako sys lub system lub uzytkownik z przywilejem sysdba.

select
a.tablespace_name,
round(a.bytes_alloc / 1024 / 1024, 2) megs_alloc,
round(nvl(b.bytes_free, 0) / 1024 / 1024, 2) megs_free,
round((a.bytes_alloc - nvl(b.bytes_free, 0)) / 1024 / 1024, 2) megs_used,
round((nvl(b.bytes_free, 0) / a.bytes_alloc) * 100,2) Pct_Free,
100 - round((nvl(b.bytes_free, 0) / a.bytes_alloc) * 100,2) Pct_used,
round(maxbytes/1048576,2) Max
from ( select f.tablespace_name, sum(f.bytes) bytes_alloc,
sum(decode(f.autoextensible, 'YES',f.maxbytes,'NO', f.bytes)) maxbytes
from
dba_data_files f
group by
tablespace_name) a,
( select
f.tablespace_name,
sum(f.bytes) bytes_free
from
dba_free_space f
group by
tablespace_name) b
where
a.tablespace_name = b.tablespace_name (+)
union
select
h.tablespace_name,
round(sum(h.bytes_free + h.bytes_used) / 1048576, 2),
round(sum((h.bytes_free + h.bytes_used) - nvl(p.bytes_used, 0)) / 1048576, 2),
round(sum(nvl(p.bytes_used, 0))/ 1048576, 2),
round((sum((h.bytes_free + h.bytes_used) - nvl(p.bytes_used, 0)) /
sum(h.bytes_used + h.bytes_free)) * 100,2),
100 - round((sum((h.bytes_free + h.bytes_used) - nvl(p.bytes_used, 0)) /
sum(h.bytes_used + h.bytes_free)) * 100,2),
round(max(h.bytes_used + h.bytes_free) / 1048576, 2)
from
sys.v_$TEMP_SPACE_HEADER h, sys.v_$Temp_extent_pool p
where
p.file_id(+) = h.file_id
and
p.tablespace_name(+) = h.tablespace_name
group by
h.tablespace_name
ORDER BY 1;


HTH
Thomas Olszewicki




0 new messages