文章摘要
这篇文章讨论了在使用 Oracle 的 `exp` 命令进行数据库备份时,`tables` 参数是否需要加括号的问题。用户在使用 `tables=(TABLE1,TABLE3,TABLE3)` 时,遇到了语法错误 `-bash: syntax error near unexpected token '('`。经过尝试,他发现去掉括号后,命令 `exp user/pass file=exp.dmp tables=TABLE1,TABLE3,TABLE3` 能够正常执行。 文章还提到,Oracle 的版本信息是 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production,PL/SQL 和 CORE 也是 11.2 版本。用户还提到,他在其他环境中测试后发现,带括号和不带括号的命令都能正常执行。 总结来说,这篇文章揭示了 Oracle `exp` 命令中 `tables` 参数是否需要加括号可能与环境或版本有关。虽然在某些情况下需要加括号,但在其他情况下可能不需要。用户通过实际测试得出结论,带括号和不带括号的命令在某些环境中都能正常执行,这可能因具体情况而异。
Oracle 的exp、imp、expdp、impdp
命令用于数据库逻辑备份与恢复;
exp
命令用于把数据从远程数据库server导出至本地,生成dmp文件。
笔者在实操中遇到:
$exp user/pass file=exp.dmp tables=(TABLE1,TABLE3,TABLE3)
返回以下错误信息:
-bash: syntax error near unexpected token `(‘
后将命令去掉括号,改为以下形式后,命令正常执行。
exp user/pass file=exp.dmp tables=TABLE1,TABLE3,TABLE3
命令运行的Oracle版本信息如下:
SQL> select * from v$version;
BANNER
——————————————————————————–
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
PL/SQL Release 11.2.0.4.0 – Production
CORE 11.2.0.4.0 Production
TNS for Linux: Version 11.2.0.4.0 – Production
NLSRTL Version 11.2.0.4.0 – Production
那么问题来了:Oracle exp 命令的 tables
参数值到底需不需要加括号呢?
我换了一个环境简单测试了一下,却发现带括号和不带括号,两种形式的命令都能正常执行
。
这也算是oracle exp命令的一个小坑吧,特此记录。
到此这篇关于oracle逻辑备份exp导出指定表名时需要加括号吗?的文章就介绍到这了,更多相关oracle逻辑备份exp内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:Oracle数据库逻辑备份的SH文件Oracle通过正则表达式分割字符串 REGEXP_SUBSTR的代码详解oracle中exp,imp的使用详解ORACLE EXP不能导出空表的原因分析及解决方法
© 版权声明
文章版权归作者所有,未经允许请勿转载。



