该语句"exp owa_ss/owa_ss**@10.92.3.33/orcl file=D:\testkg\星期%date:~11,3%.dmp log=D:\testkg\星期%date:~11,3%.log exclude=TABLE:"IN SYS_LOG""将在windows拉取远程linux服务器数据库文件并排除sys_log表,运行时报出"LRM-00101: 未知的参数名 'exclude' EXP-00019: 处理参数失败, 请键入 'EXP HELP=Y' 获取帮助信息 EXP-00000: 导出终止失败",请分析原因,修改语句
时间: 2024-03-23 18:36:35 浏览: 55
根据报错信息,似乎是exclude参数不被识别。可能是因为该版本的exp工具不支持exclude参数。建议尝试使用其他版本的exp或者使用其他方式排除sys_log表,例如使用query参数指定需要导出的表。
修改后的语句如下:
```
exp owa_ss/owa_ss**@10.92.3.33/orcl file=D:\testkg\星期%date:~11,3%.dmp log=D:\testkg\星期%date:~11,3%.log query=\"where table_name not in ('SYS_LOG')\"
```
其中,使用query参数来指定需要导出的表,排除sys_log表。注意需要使用转义字符\来转义双引号。
相关问题
执行语句"expdp owa_ss/owa_ss**@10.92.3.22/orcl dumpfile='星期%date:~11,3%.dmp' logfile='星期%date:~11,3%.log' directory=E:\testkg exclude=TABLE:\"IN \'SYS_LOG\'\" parallel=16"时报"LRM-00112: 参数 'logfile' 不允许有多个值",请分析原因,及解决办法
根据你提供的命令,其中的日志文件名和导出文件名都包含了一个日期字符串,这个字符串是通过 Windows 的 %date% 环境变量来获取的。但是,这个日期字符串在不同的地区和操作系统上可能会有所不同,因此可能会导致导出文件名和日志文件名不一致。
在你的命令中,你使用了类似于"星期%date:~11,3%.dmp"的字符串来生成导出文件和日志文件的名称。这个字符串的意思是从%date%环境变量中取出从第11个字符开始的3个字符,即星期几的缩写。这个字符串在不同的操作系统上可能会有所不同,例如在美国英语的 Windows 系统上,星期几的缩写是"Wed",而在中国的 Windows 系统上,星期几的缩写是"周三"。
因此,为了避免这个问题,你可以使用一个固定的日期格式来作为文件名的一部分,例如"YYYYMMDD",这样就可以确保文件名在不同的操作系统和地区上都是一致的。另外,你还需要将日志文件名和导出文件名分别指定,不能使用相同的文件名,否则就会出现"LRM-00112"错误。
修改后的命令如下所示:
expdp owa_ss/owa_ss**@10.92.3.22/orcl dumpfile='dumpfile_YYYYMMDD.dmp' logfile='logfile_YYYYMMDD.log' directory=E:\testkg exclude=TABLE:\"IN \'SYS_LOG\'\" parallel=16
其中"YYYYMMDD"是一个固定的日期格式,你需要根据具体的需求来修改。
检查这条语句是否正确,以及引号的使用,这条语句将在windows下运行:expdp owa_aa/owa_aa**@10.92.4.23/orcl dumpfile=星期%date%:~11,3%.dmp logfile=星期%date%:~11,3%.log directory=F:\testkg exclude=TABLE:\"IN \'SYS_LOG\'\" parallel=16
这条语句的引号使用不正确。应该将整个 `exclude` 参数放入双引号中,而将其中的单引号用双引号代替。正确的语句如下所示:
```
expdp owa_aa/owa_aa**@10.92.4.23/orcl dumpfile=星期%date%:~11,3%.dmp logfile=星期%date%:~11,3%.log directory=F:\testkg exclude="TABLE:\"IN \"SYS_LOG\"\"" parallel=16
```
注意到这里需要使用转义字符 `\` 来转义双引号。
阅读全文