该语句"expdp wer_ss/wer_ss**@10.92.3.16/orcl tables=(SYS_LOG) file=F:\czrs_card1\星期%date:~11,3%.dmp log=F:\czrs_card1\星期%date:~11,3%.log"是在windows系统运行,需要从原来的只导一张表更改为导出多张表,请列出编写方法,以及该语句换行是否对cmd窗口有影响,做出确保可以运行方法
时间: 2024-03-23 21:42:10 浏览: 149
要将该语句从导出单张表更改为导出多张表,需要在tables参数中指定多个表名,并使用逗号进行分隔。例如,要导出表A、表B和表C,可以将语句修改为:
```
expdp wer_ss/wer_ss**@10.92.3.16/orcl tables=(A,B,C) file=F:\czrs_card1\星期%date:~11,3%.dmp log=F:\czrs_card1\星期%date:~11,3%.log
```
请注意,表名之间需要用逗号进行分隔,且不需要使用括号括起来。
至于换行对cmd窗口是否有影响,如果您将该语句复制到cmd窗口并按回车键执行,换行不会对其产生影响。但是,如果您在cmd窗口中手动输入该语句,并在中间换行,可能会导致语法错误。因此,建议将整个语句复制到cmd窗口中执行,而不要手动输入。
相关问题
为什么第一句:"EXPDP czrs_card/czrs_card**@10.92.2.36/orcl exclude=TABLES:"in('SYS_LOG')" file=F:\czrs_card\星期%date:~11,3%.dmp owner=czrs_card log=F:\czrs_card\星期%date:~11,3%.log"不报错误,而第二句话,"EXP czrs_card/czrs_card**@10.92.2.36/orcl file=F:\czrs_ca rd\星期%date:~11,3%.dmp owner=czrs_card log=F:\czrs_card\星期%date:~11,3%.log ta bles=!(SYS_LOG)"报EXP-00026: 指定了冲突模式 EXP-00000: 导出终止失败
在第一句话中,使用了exclude选项,该选项可以用来指定需要排除的表,因此不会与tables选项产生冲突。而第二句话中,同时指定了tables选项和取反操作符(!)以及exclude掉的表(SYS_LOG),导致选项冲突,因此导出终止失败并报错。因此,在使用EXP命令时,需要注意选项的使用,避免产生冲突。
这条语句之前运行在windows上,现在将在linux服务器上运行,是否需要做出调整,如果是请调整并说明原因。语句为:expdp ora_ss/ora_ss**@10.92.3.83/orcl dumpfile=星期%date%:~11,3%.dmp logfile=newtext.log directory=dp_test exclude="TABLE:\"IN \"SYS_LOG\"\"" parallel=16
是的,需要对语句进行调整,因为Windows和Linux的命令行语法是不同的。具体的调整如下:
- 将日期格式的命令%date%改为`$(date +%Y%m%d)`,即获取当前日期并将其转换为YYYYMMDD格式。
- 将文件名中的“:”替换为“_”或其他符号,因为Linux不允许文件名中包含冒号。
- 将exclude参数的双引号改为单引号,并将内部的双引号转义,即将`exclude="TABLE:\"IN \"SYS_LOG\"\""`改为`exclude='TABLE:"IN \"SYS_LOG\""'
最终的调整后的语句如下:
```
expdp ora_ss/ora_ss**@10.92.3.83/orcl dumpfile=星期$(date +%Y%m%d)_$(date +%a | tr A-Z a-z).dmp logfile=newtext.log directory=dp_test exclude='TABLE:"IN \"SYS_LOG\"" parallel=16
```
这个调整后的语句在Linux上应该可以正确执行。
阅读全文