De acordo com esta postagem nos fóruns da Oracle, o expdp pode ser usado para exportar seu próprio esquema sem nenhum privilégio especial:
Tudo depende do que você deseja que esse usuário possa exportar/importar. Se todo o uso for exportar/importar são seus próprios objetos, eles não precisam de nenhum priv aumentado. Se você quiser que o usuário seja capaz de exportar objetos pertencentes a outros esquemas, eles precisarão do exp_full_database e, para importar, precisarão do imp_full_database.
No entanto, simplesmente não consigo fazê-lo funcionar. O objeto de diretório deve ser especificado, caso contrário, o expdp exibe o erro:
ORA-39145: directory object parameter must be specified and non-null
Mas criar diretórios requer CREATE ANY DIRECTORY
privilégio de sistema.
Como então posso exportar meu próprio esquema como um usuário normal?
Criar objetos de diretório e exportar/importar são duas operações diferentes. Os objetos de diretório são de propriedade da SYS.
Data Pump Export-Schema Mode
O requisito para especificar um objeto de diretório existe apenas com o novo
expdp
utilitário. Aexp
ferramenta mais antiga permite a especificação de um caminho absoluto.Consegui fazer um backup usando
exp
sem nenhum privilégio especial e sem criar nenhum objeto de diretório, apenas usando meu nome de usuário e senha.Embora sucedido por
expdp
,exp
ainda está incluído em versões recentes do Oracle.Por exemplo, um
expdp
despejo ficaria assim:Onde
DIR01
está o objeto de diretório que um usuárioCREATE ANY DIRECTORY
precisaria criar:exp
aceitará o caminho diretamente: