Alter tamanho de tablespace.

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Responder
targinosilveira
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 45
Registrado em: Ter, 16 Set 2008 5:56 pm
Localização: Fortaleza - CE

Boa tarde pessoal, estou com o seguinte problema, peguei um sistema em Oracle Forms para da manutenção e fiz um dump via exp, quando fui executar o IMP para recuperar os dados em minha maquina de trabalho, recebi o seguinte erro:
IMP-00003: Erro Oracle: 1658 encontrado
ORA-01658: nÒo Ú possÝvel criar a extensÒo INITIAL para o segmento no espaþo de
trabalho SYSTEM
Dei uma olhada pela interface web, e la me mostra que a tablespace esta como autoextend, não sei muito bem o que pode esta acontecendo.

Fico muito grato com qualquer ajuda.

Atenciosamente,

Informações do Ambiente:
* Oracle XE 10g
* Windows XP
diegopedrao
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 164
Registrado em: Sex, 22 Ago 2008 12:28 pm
Localização: SP

Selecionar tudo


SELECT *
  FROM DBA_DATA_FILES
 WHERE TABLESPACE_NAME = 'SYSTEM';
verifica se o campo 'AUTOEXTENSIBLE' está 'YES' senão faça o seguinte:

Adicione um novo data file ou tente dar um resize no datafile de system.

Selecionar tudo


alter tablespace TABLESPACE_NAME add datafile 'C:\CAMINHO\NOME_DO_DATAFILE.DMP' SIZE 2048M;
OU senao:

Selecionar tudo

alter database datafile 'C:\CAMINHO\NOME_DO_DATAFILE.DMP' resize 2048M;
Att,

Diego Monteiro[/code]
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

Quando você vai criar uma tabela é possível alocar todo o tamanho da tabela com o parametro initial, ou seja, seu initial está sendo maior que o espacço disponível na tablespace, dessa forma o Oracle não consegue criar a sua tabela,

faça:

alter tablespace SUA_TABLESPACE
add datafile 'c:\xx\suaTablespace.dbf' size 4M autoextend off;

ou então faça resize no datafile aumentando a sua tablespace,

poderia utilizar o impdb (DataPump) e fazer um REMAP das tablespaces, pois criar tabelas na tablespace SYSTEM não é recomendado.

falows
targinosilveira
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 45
Registrado em: Ter, 16 Set 2008 5:56 pm
Localização: Fortaleza - CE

É o seguinte todas as tablespaces estão com o autoextend = YES e como posso fazer para que essa importação va para uma outra tablespace que não seja a SYSTEM?

Atenciosamente
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

veja ExpDp e ImpDp, utilitário chamado Oracle DataPump,

Leia o artigo:
http://www.oracle-base.com/articles/10g ... ump10g.php

Atente-se para o REMAP, usado na hora de importar,

;)

pode tentar criar outro usuario e importar o dump, acho que vai pra tablespace default, no caso está indo pra system porque você deve estar importando pro schema SYS/SYSTEM,

cria outro usuario e seta a default tablespace para a USERS,

esse import foi gerado de outro banco que no caso NÃO é XE?

Se sim, qual o tamanho do export?
targinosilveira
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 45
Registrado em: Ter, 16 Set 2008 5:56 pm
Localização: Fortaleza - CE

Ele foi gerado de um outro banco XE, e tem um tamanho de 504mb.


Atenciosamente,
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

Achei que poderia ser restrição ao limite do XE, (4GB tamanho máximo),

enfim, se quiser migrar as tablespaces, vai ter que ser pelo datapump, conforme disse, ou primeiro criar as tabelas na mão no banco, se você possui online a base XE que exportou, com o DataPump você consegue fazer a importação/exportação via rede direto.
targinosilveira
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 45
Registrado em: Ter, 16 Set 2008 5:56 pm
Localização: Fortaleza - CE

Ok, fiz um expdb aqui mas ele salvou o arquivo la no servidor, fiz o expdp através da minha maquina, tem como configurar o oracle para criar o diretorio na minha maquina e salvar o arquivo.dmp na minha maquina e não no servidor?

Por que não tenho como fazer a copia la do servidor aqui pra minha maquina.

Acho que dando certo isso ai seria somente, fazer o impdp para o novo schema criado, correto?

Atenciosamente,
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

Exato, seria fazer o import com o parametro REMAP_TABLESPACE, acho que não dá pra fazer apontar pra sua máquina, qual a dificuldade em copiar o arquivo pra sua máquina?

não tem acesso? senha? etc..

tem um pacote que faz transferencia de arquivos, mais aí acho que complica demais as coisas, rs

Poderia tentar fazer com o datapump usando a opção de fazer a migração com DBLINK, que seria direto servidor - servidor, não precisando exportar, copiar o arquivo pra maquina destino, importar,

Parametro:
NETWORK_LINK Name of remote database link to the source system.

Não sei te dizer se o XE vai ter esse recurso...

faz um resize na sua tablespace SYSTEM cara, colocando ela com uns 2 giga, aí faz o import, e depois faz um MOVE das tabelas,

Selecionar tudo

alter table TABELA move tablespace YYY;
Após isso é necessario fazer rebuild dos indices,

Selecionar tudo

ALTER INDEX INDEX_NAME REBUILD;
mais fácil consultando a

Selecionar tudo

user_indexes where status = 'UNUSABLE';
dessa forma você move a tabela para outra tablespace depois de importada, acho que é a solução mais simples...
elidias7
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 153
Registrado em: Qui, 01 Nov 2007 2:53 pm
Localização: Osasco
Eli Dias
Oracle Certified Professional

Opa, beleza?

Uma duvida, você exportando o banco inteiro, usuarios especificos ou somente tabelas?

Acho que para você fazer o export para sua maquina você tera de usar o utilitario exp e não o expdp, pois o expdp vai gerar o export para um diretório especificado no banco de dados. Já o exp você consegue gerar para qualquer client.

O problema que você vai ter é criar todas as tablespace e usuarios que existem no banco de onde você esta exportando os dados no banco que recebera os dados, caso estes não sejam os mesmos.

Abraços,
targinosilveira
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 45
Registrado em: Ter, 16 Set 2008 5:56 pm
Localização: Fortaleza - CE

Opa, cara o negocio é o seguinte, estou exportando apenas um schema, fiz o impdp, criei um diretorio para colocar o arquivo gerado pelo expdp, dei os direitos e tudos mais, quando vou executar o impdp ele começa a importar, mas me dá uma porrada de erros(muitos erros mesmo ) :D do tipo ORA-39112.

Quanto ao exp foi o que eu sempre usei numa outra vez que tive que trabalhar com oracle e sempre funfou legal, estive vendo que no schema que estou exportando há muitos usuários, acho que deve ser isso mesmo que esta gerando o problema.

Alguma luz a mais? :D

Atenciosamente,
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

um schema = usuario = owner... etc

Uma Instancia pode ter varios schemas (usuarios),

se você fizer via exp/imp crie todos os usuários antes do processo de importação,
targinosilveira
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 45
Registrado em: Ter, 16 Set 2008 5:56 pm
Localização: Fortaleza - CE

É o que eu estou iniciando a fazer.
Abraços....
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

è bem mais chato mesmo, inclusive deve criar as tablespaces também, pois senão vai ter erro na criação das tabelas, já com o DataPump não é necessário, pois faria o REMAP,

qualquer dúvida estamos aí..

boa sorte,
targinosilveira
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 45
Registrado em: Ter, 16 Set 2008 5:56 pm
Localização: Fortaleza - CE

beleza cara, agora esta dando pau por causa das roles, tem alguma forma de exportar os usuário com as roles? porque criei todos e ta dando esse pau...

vlw
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

duas opções, pode tentar exportar ou importar sem GRANTS,

que seria pondo a opção GRANTS=N , ou ainda tentando importar com o parametro IGNORE=Y,

veja aí o que acontece,

ah, dá uma olhada em: exp HELP=Y

Selecionar tudo

imp HELP=Y,
te da uma lista de todos os parametros e possíveis valores,

=]
targinosilveira
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 45
Registrado em: Ter, 16 Set 2008 5:56 pm
Localização: Fortaleza - CE

Ta ok Diego, consegui importar lá com vários avisos, vou ver as opções la no imp ....

Muito obrigado pelo help...
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 15 visitantes