报错 ORA-39095: 转储文件空间已耗尽: 无法分配 8192 字节
原因
1、磁盘空间不足,增大磁盘空间或者删除不必要的文件释放空间即可。
2、官方解释
Because each active worker process or I/O server process writes exclusively to one file at a
time, an insufficient number of files can have adverse effects. Some of the worker processes will be idle while waiting for files, thereby degrading the overall performance of the job. More
importantly, if any member of a cooperating group of parallel I/O server processes cannot obtain a file for output, then the export operation will be stopped with an ORA-39095 error.
Both situations can be corrected by attaching to the job using the Data Pump Export utility, adding more files using the ADD_FILE command while in interactive mode, and in the case of a stopped job, restarting the job.
大概意思就是说oracle的安全机制使得不允许多个写进程同时写一个dump文件,如果此时你的parallel(并发)数值大于(实际导出数据量/fileszie)的数值,那么就会有一些进程闲置,他们只能等待写进程也相当于多个进程在抢占一个进程。 当一个io线程在不能写dumpfile而不断等待的情况下就会报ORA-39095。
解决
备份表达式
expdp user/passwd directory=backup_dir dumpfile=\$DMP_FILE logfile=\$LOG_FILE schemas=onepay parallel=4 compression=ALL
parallel 线程数调小即可(也可尝试写入多个dumpfile,parallel不变)