After learning about the use of expdp, after a while, I started to use batch export. The results showed a series of problems.
After creating the logical directory and the physical directory corresponding to the operating system, run the following export statement:
Expdp username/psw dumpfile = bigdata. dmp logfile = explog. log directory = oradpbackup schemas = username;
The following error code is displayed, indicating that the corresponding mode cannot be found:
ORA-39001: Invalid parameter value
ORA-39170: The scheme expression 'res8000; 'does not match any scheme.
Figure 1 corresponding mode not found
For this purpose, I also learned about Schema-related concepts and found that schemas is generally the same as the username by default, which I do not understand.
Why is the default mode the same, but the system prompts that this mode cannot be found?
So we adopted the policy to step back. Because the current user's schema is used by default during the export of expdp, we thought that what I want to export is all the object sets under this user, do not write a schema.
Then execute the statement as follows:
Expdp username/psw dumpfile = bigdata. dmp logfile = explog. log directory = oradpbackup;
I was prompted to tell me that the logical directory oradpbackup could not be found.
The following error is reported:
Figure 2 logical directory not found
ORA-39002: Invalid operation
ORA-39070: Unable to open the log file.
ORA-39087: directory name oradpbackup; invalid
Certificate -------------------------------------------------------------------------------------------------------------------------------------
However, I directly input expdp and follow the prompts to export it in batches. Why can't I use statements?
Certificate -------------------------------------------------------------------------------------------------------------------------------------
I am depressed. I have never encountered such a problem before. Then I went directly to duniang and studied the expdp for a day without finding any problems.
Then I accidentally saw someone say this.
When executing the Export Statement, you cannot add a semicolon ";" to the end. The amount, the mood at that time, and the silent addition crash.
Run expdp username/psw dumpfile = bigdata. dmp logfile = explog. log directory = oradpbackup.
Figure 3 after removing the semicolon, the export statement can be executed normally
Figure 4 after adding a schema, the data can still be exported normally.
Then, let's take a closer look at the error message from Oracle, saying that the "oradpbackup;" directory cannot be found. Therefore, it seems that Oracle regards the semicolon as a character in the directory name.
To verify this, I changed the operating system directory name to oradpbackup;
Use create or replace directory "oradpbackup;" as 'e: \ oradpbackup; '; to recreate a logical directory with semicolons
Use the following statement again:
Expdp username/psw dumpfile = bigdata. dmp logfile = explog. log directory = oradpbackup;
However, an internal error occurs and the execution fails.
Although the verification fails, it is expected that the semicolon should be the name of the logical directory in Oracle.
Bytes ---------------------------------------------------------------------------------------------------------------------------
Therefore, we have a reasonable explanation of both issues.
For Question 1:
Expdp username/psw dumpfile = bigdata. dmp logfile = explog. log directory = oradpbackup schemas = username;
The reason the schema cannot be found is that Oracle regards "username;" as the schema name, so it cannot be found.
But for the second question:
Expdp username/psw dumpfile = bigdata. dmp logfile = explog. log directory = oradpbackup;
The directory cannot be found because Oracle regards "oradpbackup;" as the name of the logical directory and cannot be found.