Resize tablespace

source Tenho um banco de dados com o tamanho de 15G mas meu banco esta alocando em meu disco 30G Por que?

follow Simples, ao criar seus datafiles você não esta tomando cuidados com seu autoextent, ou você esta criando seus datafiles direto com o maxbytes.

https://audiopronews.com/headlines/gfd55an E agora? não tem mais como resolver? Tem sim.

go to link

Buy 100Mg Tramadol Online Primeiro vamos setar os autoextents para um valor menor, assim poderemos trabalhar com autoextents, sem ocupar espaço em disco indesejado.

follow link Para isso temos de descobrir o valor do bloko que esta configurado no banco.

https://www.masiesdelpenedes.com/ypiafjm8 Geralmente é 8K mas não custa verificarmos.

source link SQL> show parameter db_block_size NAME TYPE VALUE ------------------------------------ ----------- ------ db_block_size integer 8192

Cheap Tramadol Tendo o tamanho dos blocos devemos fazer o select que deverá nos mostrar o quanto esta o maxbites de cada datafile e qual é o incremento deles.

https://kirkmanandjourdain.com/bmu8u4lnhh SQL> set lines 155 SQL> col FILE_NAME for a50 SQL> select FILE_NAME,INCREMENT_BY*8192/1024/1024,MAXBYTES/1024/1024 from dba_data_files; FILE_NAME INCREMENT_BY*8192/1024/1024 MAXBYTES/1024/1024 -------------------------------------------------- --------------------------- ------------------ /oraprd02/oradata/dbprod/users01.dbf 1 3000 /oraprd02/oradata/dbprod/sysaux01.dbf 1000 3000 /oraprd02/oradata/dbprod/undotbs01.dbf 100 3000 /oraprd02/oradata/dbprod/system01.dbf 10 3000

enter Observe que inseri no select o numero de blocos do banco no increment_by.
Verifique que existe datafiles com o autoextent de 1000m, de 1m de 100m e de 10m.

Tramadol Order Online Vamos alterar os datafiles para auto expandir a um máximo de 100M cada.

https://mhco.ca/3n9w3pno231 SQL> alter database datafile '/oraprd02/oradata/dbprod/users01.dbf' autoextend on next 100m maxsize 3000m; Database altered. SQL> alter database datafile '/oraprd02/oradata/dbprod/sysaux01.dbf' autoextend on next 100m maxsize 3000m; Database altered. SQL> alter database datafile '/oraprd02/oradata/dbprod/undotbs01.dbf' autoextend on next 100m maxsize 3000m; Database altered. SQL> alter database datafile '/oraprd02/oradata/dbprod/system01.dbf' autoextend on next 100m maxsize 3000m; Database altered. SQL> select FILE_NAME,INCREMENT_BY*8192/1024/1024,MAXBYTES/1024/1024 from dba_data_files; FILE_NAME INCREMENT_BY*8192/1024/1024 MAXBYTES/1024/1024 -------------------------------------------------- --------------------------- ------------------ /oraprd02/oradata/dbprod/users01.dbf 100 3000 /oraprd02/oradata/dbprod/sysaux01.dbf 100 3000 /oraprd02/oradata/dbprod/undotbs01.dbf 100 3000 /oraprd02/oradata/dbprod/system01.dbf 100 3000

source link Agora vamos ao Resize.
vamos fazer um select que busque todas as tablespaces do banco.

go to link SQL> select tablespace_name 2 from dba_data_files 3 group by tablespace_name; TABLESPACE_NAME ------------------------------ SYSAUX UNDOTBS1 USERS SYSTEM

https://etxflooring.com/2025/04/1q6k8y7tibr Vamos juntar esses dados conforme o próximo select.

here SQL> l 1 select 'alter database datafile ''' || file_name || ''' resize ' || 2 ceil( (nvl(hwm,1)*8192)/1024/1024+1 )|| 'm;' smallest, 3 ceil( blocks*8192/1024/1024) currsize, 4 ceil( blocks*8192/1024/1024) - 5 ceil( (nvl(hwm,1)*8192)/1024/1024 ) savings 6 from dba_data_files a, 7 ( select file_id, max(block_id+blocks-1) hwm 8 from dba_extents where tablespace_name in ('SYSAUX','UNDOTBS1','USERS','SYSTEM') 9 group by file_id ) b 10 where a.file_id = b.file_id(+) 11 and tablespace_name in 12 ('SYSAUX','UNDOTBS1','USERS','SYSTEM') 13* order by savings SQL> / SMALLEST CURRSIZE SAVINGS ------------------------------------------------------------------------------------------- ---------- ---------- alter database datafile '/oraprd02/oradata/dbprod/undotbs01.dbf' resize 86m; 85 0 alter database datafile '/oraprd02/oradata/dbprod/system01.dbf' resize 438m; 440 3 alter database datafile '/oraprd02/oradata/dbprod/users01.dbf' resize 2m; 5 4 alter database datafile '/oraprd02/oradata/dbprod/sysaux01.dbf' resize 245m; 250 6

Lowest Priced Tramadol Online Com estas três colunas temos o seguinte.

https://semichaschaver.com/2025/04/03/61b0trv SMALLEST é apenas o comando para efetuar o resize, o comando já vem pronto.
CURRSIZE é o tamanho original do datafile
SAVINGS é o quanto irá salvar em “M” de espaço no disco.

go to link Neste banco como é apenas um banco criado para testes internos de backup não há necessidade de efetuar resize.
Mas vamos demonstrar o problema criando um novo datafile para a tablespace USERS

Buy Soma Generic SQL> alter tablespace USERS add datafile '/oraprd02/oradata/dbprod/users02.dbf' size 500m autoextend on next 100m maxsize 3000m; Tablespace altered. SQL> l 1 select 'alter database datafile ''' || file_name || ''' resize ' || 2 ceil( (nvl(hwm,1)*8192)/1024/1024+1 )|| 'm;' smallest, 3 ceil( blocks*8192/1024/1024) currsize, 4 ceil( blocks*8192/1024/1024) - 5 ceil( (nvl(hwm,1)*8192)/1024/1024 ) savings 6 from dba_data_files a, 7 ( select file_id, max(block_id+blocks-1) hwm 8 from dba_extents where tablespace_name in ('USERS') 9 group by file_id ) b 10 where a.file_id = b.file_id(+) 11 and tablespace_name in 12 ('USERS') 13* order by savings SQL> / SMALLEST CURRSIZE SAVINGS ----------------------------------------------------------------------------------- ---------- ---------- alter database datafile '/oraprd02/oradata/dbprod/users01.dbf' resize 2m; 5 4 alter database datafile '/oraprd02/oradata/dbprod/users02.dbf' resize 2m; 500 499

go site Observe agora que o datafile “/oraprd02/oradata/dbprod/users02.dbf” tem um CURRSIZE de 500M e o SAVINGS de 499M

get link SQL> select FILE_NAME,MAXBYTES/1024/1024,BYTES/1024/1024 from dba_data_files; FILE_NAME MAXBYTES/1024/1024 BYTES/1024/1024 -------------------------------------------------- ------------------ --------------- /oraprd02/oradata/dbprod/users01.dbf 3000 5 /oraprd02/oradata/dbprod/sysaux01.dbf 3000 250 /oraprd02/oradata/dbprod/undotbs01.dbf 3000 85 /oraprd02/oradata/dbprod/system01.dbf 3000 440 /oraprd02/oradata/dbprod/users02.dbf 3000 500 SQL> alter database datafile '/oraprd02/oradata/dbprod/users02.dbf' resize 2m; Database altered. SQL> select FILE_NAME,MAXBYTES/1024/1024,BYTES/1024/1024 from dba_data_files; FILE_NAME MAXBYTES/1024/1024 BYTES/1024/1024 -------------------------------------------------- ------------------ --------------- /oraprd02/oradata/dbprod/users01.dbf 3000 5 /oraprd02/oradata/dbprod/sysaux01.dbf 3000 250 /oraprd02/oradata/dbprod/undotbs01.dbf 3000 85 /oraprd02/oradata/dbprod/system01.dbf 3000 440 /oraprd02/oradata/dbprod/users02.dbf 3000 2

https://www.masiesdelpenedes.com/9xgzccjkx8t Pronto recuperamos 498M de espaço em disco que estava sendo usado sem necessidade.

enter Caso você crie datafiles sem a clausula de autoextend fica facil resolver esta situação dando este autoextend a ele, conforme abaixo.

Tramadol Rx Purchase SQL> alter tablespace USERS add datafile '/oraprd02/oradata/dbprod/users03.dbf' size 3000m; Tablespace altered. SQL> select FILE_NAME,MAXBYTES/1024/1024,BYTES/1024/1024 from dba_data_files; FILE_NAME MAXBYTES/1024/1024 BYTES/1024/1024 -------------------------------------------------- ------------------ --------------- /oraprd02/oradata/dbprod/users01.dbf 3000 5 /oraprd02/oradata/dbprod/sysaux01.dbf 3000 250 /oraprd02/oradata/dbprod/undotbs01.dbf 3000 85 /oraprd02/oradata/dbprod/system01.dbf 3000 440 /oraprd02/oradata/dbprod/users02.dbf 3000 2 /oraprd02/oradata/dbprod/users03.dbf 0 3000 6 rows selected.

https://aalamsalon.com/ik7tj7vb Criei um datafile já com 3G observe no select que o mesmo não existe maxbites e o bytes já esta com 3000M

get link SQL> alter database datafile '/oraprd02/oradata/dbprod/users03.dbf' autoextend on next 100m maxsize 3000m; Database altered.

source url Agora setei o datafile para utilizar autoextend e setar o maximo dele para 3000M

https://www.anonpr.net/hznov0cnz SQL> alter database datafile '/oraprd02/oradata/dbprod/users03.dbf' resize 2m; Database altered. SQL> select FILE_NAME,MAXBYTES/1024/1024,BYTES/1024/1024 from dba_data_files; FILE_NAME MAXBYTES/1024/1024 BYTES/1024/1024 -------------------------------------------------- ------------------ --------------- /oraprd02/oradata/dbprod/users01.dbf 3000 5 /oraprd02/oradata/dbprod/sysaux01.dbf 3000 250 /oraprd02/oradata/dbprod/undotbs01.dbf 3000 85 /oraprd02/oradata/dbprod/system01.dbf 3000 440 /oraprd02/oradata/dbprod/users02.dbf 3000 2 /oraprd02/oradata/dbprod/users03.dbf 3000 2 6 rows selected.

https://musicboxcle.com/2025/04/74cegyuwd2 Acima eu efetuei o resize e já fiz o select mostrando o ganho no bytes utilizados pelo datafile.

%name Resize tablespace

Autor: Leandro Lana

https://townofosceola.com/efnyqsv

https://www.psychiccowgirl.com/ei6lr5qq6f Trabalho com banco de dados Oracle desde 2006, já trabalhei com as plataformas 9i, 10G, 11G, 12C, 18C, 19C e 21(ainda em testes).

watch Trabalhando atualmente como consultor Oracle na MigraTI Soluções em TI como administrador de banco de dados Oracle, SQL-Server, MySQL e Postgresql.

https://mhco.ca/lzrqbdxu Cheap Tramadol Contato: leandro.lana@migrati.com.br

https://semichaschaver.com/2025/04/03/ebzmbn3rrf Fone: (47) 9191-6052 / (47) 3328 0996

source site https://semichaschaver.com/2025/04/03/jkbm57fzqv Certificações:

follow link OCA 10G.

enter OCP 10G.

Tramadol Buy Online Usa OCE Linux.

https://colvetmiranda.org/63mg80h OCE RAC/Cluster.

https://audiopronews.com/headlines/8war7o3 MCP SQL-Server 2008.

https://reggaeportugal.com/qtj2ekta MCITP SQL-Server 2008.

https://aalamsalon.com/6ji900d DB2 Fundamentals.