jOliveira 0 Denunciar post Postado Agosto 20, 2007 Olá galera, tenho um datafile com 10GB, já movi várias tabelas e indices para outra tablespace para tentar diminuir este datafile, mas quando vou redimensionar ocorre esta mensagem.ALTER DATABASE DATAFILE 'c:\ORACLE\DADOS\DADOS.dbf' RESIZE 9000M*ERRO na linha 1:ORA-03297: o arquivo contém dados usados além do valor solicitado de RESIZEnão sei se teria que reorganizar o arquivo.se alguém tiver uma luz agradeço. Compartilhar este post Link para o post Compartilhar em outros sites
MonTiLLa 1 Denunciar post Postado Agosto 21, 2007 Existem um script no Laboratório de scripts (Oracle) aqui mesmo no fórum do Oracle que mostra como reorganizar as tabelas. Pode ser que reorganizando todas as tabelas a tabelspace diminua (pode ser...). Isso depende muito de como os blocos do seu datafile estão organizados para a diminuição. Caso não diminua, uma maneira pode ser apagando e recriando a tablespace. http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif Compartilhar este post Link para o post Compartilhar em outros sites
alphamek 2 Denunciar post Postado Agosto 21, 2007 Seu datafile irpa contar muito com a fragmentação da tablespaces, na verdade o que diz ao datafile se o valor pode ser reduzido é o HWM (High Water Mark), isso diz ao datafile seus limites e onde está a última extensão de algum segmento.Para conseguir reduzir, como o Montilla disse, no laboratório de Scripts existe um SELECT (Lembra-se de alterar o db_block_size) que diz até quanto o datafile pode ser reduzido com segurança.Para conseguir ganhar mais espaço, depende da sua versão do Oracle, tu poderá realizar um COALESCE na tablespace e UNDEALLOCATED, SHRINK SPACE e SHRINK COMPACT nos segmentos que estão na tablespace.Abraços, Compartilhar este post Link para o post Compartilhar em outros sites
MonTiLLa 1 Denunciar post Postado Agosto 21, 2007 Exatamente Rodrigo!O script para reorganizar as tabelas estão no laboratório de scripts e serve exatamente para fazer o que o Rodrigo falou.É bom estudar um pouco como funciona os tipos de compactação para realizar as melhorias. :rolleyes: Compartilhar este post Link para o post Compartilhar em outros sites
jOliveira 0 Denunciar post Postado Agosto 22, 2007 Valeu galera vou me interar sobre o que vcs me passaram, qualquer coisa peço um help. Exatamente Rodrigo!O script para reorganizar as tabelas estão no laboratório de scripts e serve exatamente para fazer o que o Rodrigo falou.É bom estudar um pouco como funciona os tipos de compactação para realizar as melhorias. :rolleyes: Compartilhar este post Link para o post Compartilhar em outros sites
alphamek 2 Denunciar post Postado Agosto 22, 2007 http://forum.imasters.com.br/public/style_emoticons/default/graduated.gif Compartilhar este post Link para o post Compartilhar em outros sites
rrsilva1984 0 Denunciar post Postado Maio 16, 2016 Pessoal alguém sabe me dizer por que quando aumento tamanho dum datafile relacionado a uma tablespace x, este datafile aumenta mas a tablespace x não ? Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Maio 16, 2016 Datafile é o arquivo físico , Tablespace é uma estrutura lógica , assim as ts vão aumentar a medida que houvem dados nela, o datafile todavia é pre-definido. http://www.devmedia.com.br/administrando-tablespaces-e-datafiles-no-oracle-revista-sql-magazine-89/21487 https://docs.oracle.com/cd/B19306_01/server.102/b14220/physical.htm Compartilhar este post Link para o post Compartilhar em outros sites
rrsilva1984 0 Denunciar post Postado Maio 16, 2016 Eu dou comando num datafile que tem 100M -> alter database datafile 'teste2.dbf' resize 200M ok depois quando vou verificar SELECT TABLESPACE_NAME,USED_SPACE,TABLESPACE_SIZE,USED_PERCENT FROM DBA_TABLESPACE_USAGE_METRICS a tablespace associada a este datafile continua 100M. ELA somente fica 200M quando dou um ALTER TABLESPACE "xxx" ADD DATAFILE 'D:XXX.DBF' SIZE 100M AUTOEXTENTED ON NEXT 100M MAXSIZE 120M; Estou usando oracle 10.0.2 e ele só aumenta a tablespace se adicionar mais data file, e não funciona o resize. No oracle 12C quando faço resize no datafile a tablespace aumenta. Por que no oracle 10 tal resize não reflete no tamanho da tablespace ? grato!!! Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Maio 16, 2016 São estruturas distintas um datafile pode ter n tablespaces ,masnão sou DBA minha resposta tem um quê de orelhada todavia. Compartilhar este post Link para o post Compartilhar em outros sites
dba.amaro 0 Denunciar post Postado Maio 27, 2016 O datafile é uma estrutura física alocada nos discos, você não consegue redimensionar ele para um tamanho menor, porque mesmo que seja um tamanho que não esteja em uso, o DBWR processo que grava da sua tablespace em memória para o seu datafile em disco de maneira aleatória nos blocos do recorrente datafile, os datablocks a menor quantidade que possa ser gravado algum dado, portanto ao tentar redimensionar negativamente o datafile, ele pode se encontrar com um datablock usado, no fim do datafile, assim entendemos que, o Oracle só vai redimensionar tal datafile, até o ponto do ultimo datablock gravado, concluímos que o redimensionamento é aleatório, você pode conseguir redimensionar negativamente 50% da sua tablespace, ou pode conseguir redimensionar apenas uma pequena fração da quantidade total de bytes do seu datafile. Espero ter ajudado. Regards Amaro. Compartilhar este post Link para o post Compartilhar em outros sites