Body: 1, oracle11g default to Empty table is not assigned segment, so use EXP export oracle11g database, empty table is not exported. 2. After setting the Deferred_segment_creation parameter to False, both the empty table and the non-empty table are assigned segment. In Sqlplus, execute the following command: Sql>alter system set Deferred_segment_creation=false; View: sql>show parameter deferred_segment_creation; This value is set only after the newly added table, which has no effect on the previously established empty table. 3. You can use the method of assigning extent to empty tables manually to solve the problem of empty tables established before export. The instructions are as follows: 3.1 Instructions for using allocate extent use allocate extent to assign extent to database objects. The syntax is as follows:-----------ALLOCATE EXTENT {SIZE integer [K | M] | datafile ' filename ' | INSTANCE integer}-----------can manually allocate extent for data tables, indexes, materialized views, and so on. ALLOCATE EXTENT Using sample: ALLOCATE EXTENT ALLOCATE EXTENT (SIZE integer [K | M]) ALLOCATE EXTENT (datafile ' filename ') ALLOCATE EXTENT (INSTANCE integer) ALLOCATE EXTENT (SIZE integer [K | M ] datafile ' filename ') ALLOCATE EXTENT (SIZE integer [K | M] INSTANCE Integer) The complete syntax for data table operations is as follows:-----------ALTER table [schema.] table_name ALLOCATE EXTENT [({SIZE integer [K | M] | datafile ' filename ' | INSTANCE integer})]-----------, you need to build a simple SQL command like this:-----------ALTER TABLE Atabelname allocate extent-----------3.2 constructs a SQL command to allocate space to empty tables, check All empty tables under the current user are consulted (one user preferably corresponds to a default tablespace). The command is as follows:-----------Sql>select table_name from user_tables where num_rows=0; -----------based on the above query, you can construct a command statement that allocates space for empty tables, as follows:-----------sql>select ' ALTER TABLE ' | | table_name| | ' allocate extent; ' from User_tables where num_rows=0-----------batch output The SQL statements generated above, build C:\createsql.sql with the following contents: -----------set heading off; Set echo off; Set feedback off; Set termout on; Spool C:\allocate.sql; Select ' ALTER TABLE ' | | table_name| | ' allocate extent; ' from User_tables where num_rows=0; Spool off; -----------Execute C:\createsql.sql, order as follows:-----------sql>@ C:\createsql.sql; After-----------execution, get the C:\allocate.sql file. Opening the file will see that you have already obtained a command SQL statement that allocates space for all empty tables. 3.4 Execute SQL command, allocate space to empty table: Execute C:\allocate.sql, command as follows:-----------sql>@ C:\allocate.sql; The table has been changed-----------execution is complete. 3.4 By executing the EXP command at this point, all tables, including the empty table, can be exported normally. In addition: In oracle11g, the password is case-sensitive,That is, the letters in the cipher are case-sensitive. In oracle10g and before, the letter case in the password doesn't matter.
oracle11g Exporting empty tables using EXP