修改这条导出语句"EXP uypo_a/uypo_a**@10.92.5.21/orcl file=F:\uypo_a\星期%date:~11,3%.dmp owner=uypo_a log=F:\uypo_a\星期%date:~11,3%.log",跳过导出表名为SYS_LOG的表
时间: 2024-03-17 09:44:38 浏览: 64
可以使用以下命令修改:
```
EXP uypo_a/uypo_a**@10.92.5.21/orcl file=F:\uypo_a\星期%date:~11,3%.dmp owner=uypo_a log=F:\uypo_a\星期%date:~11,3%.log tables=!(SYS_LOG)
```
其中,tables=!(SYS_LOG) 表示排除导出表名为 SYS_LOG 的表。
相关问题
该语句"EXP uypo_a/uypo_a**@10.92.5.21/orcl file=F:\uypo_a\星期%date:~11,3%.dmp owner=uypo_a log=F:\uypo_a\星期%date:~11,3%.log tables=!(SYS_LOG)"中,排除了导出sys_log表,但在cmd中运行报出"EXP-00026: 指定了冲突模式 EXP-00000: 导出终止失败"请分析原因,及解决方法
该语句中的 tables=!(SYS_LOG) 参数指定了不导出名为 SYS_LOG 的表,但是如果该表不存在,或者已经被删除,则会导致 EXP 命令出现指定的冲突模式,从而导致导出失败。
您可以通过以下几种方法来解决这个问题:
1. 检查该数据库中是否存在名为 SYS_LOG 的表,如果不存在,则可以将 tables=!SYS_LOG 参数改为 tables=ALL,导出所有表。
2. 如果 SYS_LOG 表已经被删除,但是该表的元数据仍然存在于数据库中,则可以使用以下命令清除元数据,然后重新运行导出命令:
```
DROP TABLE SYS_LOG PURGE;
```
3. 如果您确定 SYS_LOG 表已经被删除,而且该表的元数据也已经被清除,则可以将 tables=!SYS_LOG 参数改为 tables=USER 或者 tables=SCHEMA,导出该用户或者模式下的所有表,而不是全部表。
为什么第一句:"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命令时,需要注意选项的使用,避免产生冲突。
阅读全文