This content has been marked as final. Show 7 replies
As the NOTE indicates, the behavior for SYS user is specialized/different and it should not be used for invoking expdp/impdp, unless advised by Support
but this method allows someone who queries the system processes to see the password (bad).You may also create a specific Oracle User with DATAPUMP_EXP_FULL_DATABASE Role. It should be enough to Export the Database in FULL mode:
By that way, you won't have to use the SYSTEM User (and the SYS User shouldn't be used).
Else, it's also possible to specify the User / Password in a Parameter file by using the parameter USERID. For instance, you begin (at the first line) the Parameter File with the line below:
Then, you call expdp with the PARFILE parameter. The Password won't appear in the process.
This link will give you more detail:
Hope this help.
Edited by: Lubiez Jean-Valentin on Apr 18, 2012 11:52 PM
I have to export a database which uses VPDB (Virtual Private Database). I tried to use a specific user (oraexp with EXPDP_FULL_DATABASE privilege) to script expdp but it gives a warning in exporting VPDB policy. If I use sys the problem does not occur. If I use sys I have another problem that is the syntax of bash script (Linux Platform). This is due to the need of specify role "as SYSDBA" or "as SYSOPER" at login. It works interactively but I have not succeded in scripting a bash variable to be interpreted the right way. Even if I surround "sys/pasword as sysdba" with double quotes to get it as sisngle string, when executing "as sysdba" is interpreted as a "bad parameter" of expdp.
Another problem is that if an EXPDP job fails it leaves a table in the schema of the user that it is executing the JOB. Leaving tables in the SYS schema could not be dangerous, but is surely not a best practise....
Anyone can help me?
thanks in advance,
Fabrizio De Massis