When Oracle 11G is exported using EXPORT, empty tables cannot be exported.
There is a new feature in 11G. When the table has no data, no segment is allocated to save space.
Solution:
1. insert a row and then roll back to generate a segment.
This method inserts data into an empty table and then deletes it, resulting in a segment. An empty table can be exported.
2. Set the deferred_segment_creation parameter.
The default value of this parameter is TRUE. When it is set to FALSE, segment is assigned to both empty tables and non-empty tables.
It should be noted that the value setting does not affect the empty tables previously imported and cannot be exported. It can only be used for the newly added tables. To export an empty table, you can only use the first method.
After a long time, I finally found this method.
Use the following statement to find an empty table:
Select 'alter table' | table_name | 'allocate extent; 'from user_tables where num_rows = 0
Export the query result and execute the exported statement.
Then execute
Exp username/password @ database name file = D: \ dmp \ exp_sms20110224.dmp log = D: \ dmp \ exp_smsrun.log
Successful!