The customer database server encountered a strange phenomenon during the training process. The customer's database server environment is AIX6 + Oracle11gR2. The specific phenomena are as follows:
When executing EXP export, some tables prompt EXP-00011: The table does not exist error, but queries the user_all_tables view, this table does exist, and the execution of the select statement can also be successful, but the table is empty table, check permissions and so on. Later, I found that the problem was caused by the Deferred Segment Creation parameter.
Deferred Segment Creation, delay Segment Creation, and Oracle11gR2 add parameters. The specific purpose is to consume an Extent if no records exist in this object when a new Segment object may be created, the Segment will not be automatically created when the object is created. The advantage of this is that the speed is greatly increased when the object is created. However, because the object does not have a Segment, the EXP-00011 error is reported when executing the EXP export.
Take the error table cf_template as an example and execute the following query:
Copy codeThe Code is as follows:
SQL> show parameter DEFERRED_SEGMENT_CREATION
NAME TYPE VALUE
----------------------------------------------------------------------------
Deferred_segment_creation boolean TRUE
The Deferred Segment Creation is enabled and then executed:
Copy codeThe Code is as follows:
SQL> select segment_name from user_segments where segment_name = 'cf _ template ';
No rows selected
No return value. The database did not create a Segment for the CF_TEMPLATE table. This verifies why all error reports are empty tables.
The solution is as follows:
1. Set the value of deferred_segment_creation to false.
This method is only valid for later tables. The previous tables do not have Segment or are not.
2. Declare to create a Segment immediately when creating a table
Create table XXX (XXX) segment creation immediate;
3. For a table that has been created but does not have a Segment, You can execute alter table XXX allocate extent to create a Segment. Of course, you can also insert a piece of data to create a Segment.