- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用以下命令将我的序列导出到 Oracle 中的转储文件:
expdp user/pwd DIRECTORY=user_exp DUMPFILE=morder.dmp include=sequence:HR.EMPLOYEES
其中 EMPLOYEES 是我的序列名称。但是,我收到此错误:
ORA-39001 invalid argument value
ORA-39071 Value for INCLUDE is badly formed
ORA-00920 invalid relational operator
有人可以指导一下吗?我做错了什么?
最佳答案
对象名称子句has to be enclosed in double-quotes, and has to have a relational operator :
The name_clause is optional. It allows fine-grained selection of specific objects within an object type. It is a SQL expression used as a filter on the object names of the type. It consists of a SQL operator and the values against which the object names of the specified type are to be compared. The name_clause applies only to object types whose instances have names (for example, it is applicable to TABLE, but not to GRANT). It must be separated from the object type with a colon and enclosed in double quotation marks, because single quotation marks are required to delimit the name strings.
但它也不能包含模式名称;它必须是一个对象名称。如果您以 HR 用户身份连接到 expdp
,那么这是默认设置,您可以执行以下操作:
expdp hr/pwd DIRECTORY=user_exp DUMPFILE=morder.dmp include=sequence:"= 'EMPLOYEES'"
如果您以不同的特权用户身份连接,则需要包含 schemas
子句,否则它将无法找到对象:
expdp system/pwd DIRECTORY=user_exp DUMPFILE=morder.dmp schemas=hr include=sequence:"= 'EMPLOYEES'"
根据您的操作系统,您可能需要转义各种内容:
Depending on your operating system, the use of quotation marks when you specify a value for this parameter may also require that you use escape characters. Oracle recommends that you place this parameter in a parameter file, which can reduce the number of escape characters that might otherwise be needed on the command line. See "Use of Quotation Marks On the Data Pump Command Line".
在 Linux/bash 上,include 子句结束为:
... include=sequence:\"= \'EMPLOYEES\'\"
双引号和单引号都转义了。从之前的问题来看,您可能在 Windows 上,我只需要转义双引号:
... include=sequence:\"= 'EMPLOYEES'\"
最后,EMPLOYEES
看起来像一个表名;你可能真的想要EMPLOYEES_SEQ
:
... include=sequence:\"= 'EMPLOYEES_SEQ'\"
关于oracle - 使用 "expdp"在 Oracle 中导出序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33741889/
如果使用expdp且表没有数据导出会有影响吗?例如,我们运行一个作业来执行expdp,并且要转储的表在作业运行的实例上没有记录,是否会出现异常?这应该通过另一次检查来处理吗? 最佳答案 我刚刚尝试了一
有人要求我创建一个表:'/u03/oracle/table/prac_tab.dbf'并将其导入“/u04/backup” 现在,当我执行以下代码时,我的问题就开始了: [oracle@haranda
使用expdp时,遇到”ORA-39002、ORA-39070......”连续报错。 1、 遇到的问题 ?
我正在尝试使用其角色和系统权限在 Oracle 中导出模式/用户。我不想导出任何数据或任何表格。我尝试使用以下命令导出用户。 expdp system/system@gisdblocal includ
我正在使用以下命令将我的序列导出到 Oracle 中的转储文件: expdp user/pwd DIRECTORY=user_exp DUMPFILE=morder.dmp include=sequ
我正在通过网络链接使用expdp实用程序。我只需要导出我拥有的一种架构。理想情况下,它应该允许我导出我拥有的模式。但我收到类似的错误 ORA-31631: 需要权限ORA-39149: 无法将特权用户
我在 Oracle DB 中以用户“SCOTT”的身份创建了许多相互关联的表。我想将这些表及其数据复制给新用户“PRODUCTION” 为了从“SCOTT”导出数据,我使用了: ./expdp sco
我一直在尝试使用 Oracle 18c 中的“expdp”实用程序导出 Oracle 数据转储。我在 ~/.bashrc 下设置了环境变量如下 export ORACLE_HOME=/home/ubu
我在 oracle 导出实用程序期间遇到 ORA-28000: account is locked 错误。发出以下命令: expdp user/password tables=MY_TABLE dir
目标数据库是否需要准备表空间和/或用户(架构)才能成功将架构从一个数据库 (11g R1) 迁移到另一个数据库 (11g R2)? 目前我只能使用11g R1数据库进行测试。我的测试是导出一个架构并将
我在 Windows 上的 C:\oracle 中安装了 Oracle 10g。如果我停止所有 Oracle 服务,仅通过复制整个目录(例如,到 C:\oracle_bak)来备份是否安全,还是使用
我正在尝试使用 expdp 对我的 Oracle 数据库的某些表执行导出 我的代码: expdp AAA/***@xxx schemas=AAA include=TABLE:\"= \'TBL001\
我的第一篇文章是温柔的。 我有下面的脚本,它是从 RedHat 5.3 盒子中取出来备份 Oracle 数据库的。该脚本在 Redhat 5.3 机器上运行良好。然后,我将其用作在 centos 6.
我对亚马逊网络服务很陌生,尤其是使用他们的 RDS 系统。我已经设置了一个 Oracle 数据库 (11.2),现在我想使用 expdp 从我们的服务器导入我们在本地制作的转储。显然,在 AWS 上使
我是一名优秀的程序员,十分优秀!