1.AMAÇ VE KAPSAM
Tablo ve Partitionlı tablolarda export alınırken alınan EXP-00003: no storage definition found for segment(0, 0) hatasının çözümü.
2.UYGULAMA
2.1. Tablo ve partitionlı tablo üstünde exportu başlatıyoruz.
bash-3.2$ exp bcanbakal/bcanbakal TABLES=('BCANBAKAL.BIG_TABLE', 'BCANBAKAL.BIG_TABLE2:BIG_TABLE_2003') file=/home/oracle/big_table_exp.dmp log=/home/oracle/big_table_exp.log Export: Release 11.2.0.1.0 - Production on Wed Jan 25 11:28:22 2012 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, Oracle Label Security, OLAP, Data Mining, Export done in WE8MSWIN1252 character set and UTF8 NCHAR character set server uses WE8ISO8859P9 character set (possible charset conversion) About to export specified tables via Conventional Path ... . . exporting table BIG_TABLE EXP-00003: no storage definition found for segment(0, 0)
2.2. Exportunun alınamamasının sebebi extend alamaması.
SQL> ALTER TABLE bcanbakal.BIG_TABLE ALLOCATE EXTENT;
2.3. Partitionlı tablolarda hangi partitionların extend alamadığını ögrenmek için aşağıdaki sorgu yardımcı olacaktır.
SQL> SELECT table_name, partition_name FROM dba_tab_partitions WHERE table_name = 'BIG_TABLE2' MINUS SELECT segment_name, partition_name FROM dba_segments WHERE segment_type = 'TABLE PARTITION'; table_name partition_name BIG_TABLE2 BIG_TABLE_2002 BIG_TABLE2 BIG_TABLE_2003
2.4. Partition’a extend aldırmak için aşağıdaki sorguyu çalıstırmak yeterli olacaktır.
SQL> ALTER TABLE bcanbakal.BIG_TABLE2 MODIFY PARTITION BIG_TABLE_2002 ALLOCATE EXTENT; SQL> ALTER TABLE bcanbakal.BIG_TABLE2 MODIFY PARTITION BIG_TABLE_2003 ALLOCATE EXTENT;
Leave a Reply