检查语句是否正确"expdp ows_aa/ows_aa**@10.92.3.43/orcl dumpfile="星期%date:~11,3%.dmp" logfile="星期%date:~11,3%.log" directory="F:\testkg" exclude=TABLE:"IN 'SYS_LOG'" parallel=16"
时间: 2023-07-19 14:54:44 浏览: 92
这个语句看起来是正确的,但需要注意的是,该语句中的文件名使用了包含变量的形式,这个变量是 %date:~11,3% 。这个变量将被替换为当前日期的星期几(比如MON,TUE等)。因此,在执行该语句之前,你需要先确认当前日期是星期几,然后使用正确的文件名来替换该变量。如果你想要使用当前日期的确切日期作为文件名,可以使用 %date% 变量,但需要注意该变量包含空格和斜杠等特殊字符,需要进行适当的转义。
相关问题
该导出语句将在windows的cmd窗口运行,导出远程数据库的文件,请检查语句是否正确,directory是否需要先用语句创建,以及使用该语句要准备的信息,语句为: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
这个导出语句看起来是正确的,但是在运行之前需要确保以下几点:
1. 需要先在Oracle数据库中创建一个名为 F:\testkg 的directory,否则会报错。
2. 导出操作需要有足够的权限,确保你有足够的权限来执行该操作。
3. 导出操作需要预先安装Oracle Data Pump工具。
4. 该命令将在Windows的cmd窗口中运行,因此需要确保您的操作系统是Windows。
5. 导出文件的名称是根据日期自动生成的,需要注意日期格式是否正确。
6. 导出操作需要提供远程数据库的连接信息,包括用户名、密码和数据库名,确保这些信息已经准备好。
7. exclude="TABLE:\"IN \"SYS_LOG\"\"" 这段代码是用于排除导出 SYS_LOG 表,如果您需要导出这张表,请将该段代码删除或注释掉。
另外,在运行该命令之前,建议您先测试一下,确保命令能够正确执行。
这条语句之前运行在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上应该可以正确执行。
阅读全文