服务器上直接sqlplus sys/sys as sysdba;
创建一个针对于oracle的虚拟目录create directory_name as 'D:\DATA'
,在经历了
ORA-39002: 操作无效
ORA-39070: 无法打开日志文件。
ORA-29283: 文件操作无效
ORA-06512: 在 "SYS.UTL_FILE", line 536
ORA-29283: 文件操作无效
之后,我把
expdp username/password@orcl schemas=username dumpfile=ku.dmp DIRECTORY=directory_name logfile=data_log.log
中的DIRECTORY=dir
挪到了库地址和实例的后面
找到sys账户授了权grant read,write on directory directory_name to username;
还在D盘下,建了data文件夹,
data文件夹中建了directory_name文件夹,终于
expdp username/password@orcl schemas=username dumpfile=ku.dmp DIRECTORY=directory_name logfile=data_log.log
终于解决了问题,然而并不知道前面的步骤哪里有用与否
1、oracle 创建目录的方法:
create directory dir as ‘/dir’;
2、该语句创建的目录是针对oracle而言的虚拟路径,而不是物理路径;
3、与其说创建目录,还不如说是将/dir路径转化成数据库能识别的目录;
4、既然是转化而来的虚拟目录,磁盘上当然就找不到了。问题一:as后面写绝对路径。而且数据泵只能写本机路径。
问题二:因为这条语句只是告诉Oracle,“将指定的文件夹作为数据泵的导入导出位置”,而并不是“创建一个文件夹,并将指定的文件夹作为数据泵的导入导出位置”。所以这条语句并不能创建文件夹,所以你在磁盘里找不到这个文件夹。