关于导入命令行模式
了解如何在命令行模式下使用 Oracle 数据泵导入参数,包括区分大小写、引号、转义字符以及有关如何使用示例的信息。
在使用 Oracle 数据泵导入参数之前,请阅读以下部分:
指定导入参数
在数据泵命令行上使用引号
许多说明都包含如何使用该参数的示例。有关设置运行示例所需的环境的背景信息,请参阅:
使用导入参数示例
指定导入参数
对于可以指定多个值的参数,这些值可以用逗号或空格分隔。例如,可以指定 或 。TABLES=employees,jobsTABLES=employees jobs
对于输入的每个参数,必须输入等号 (=) 和值。Data Pump没有其他方法可以知道以前的参数规范已经完成,并且新的参数规范正在开始。例如,在以下命令行中,即使它是一个有效的参数,它也将被解释为该参数的另一个转储文件名:NOLOGFILEDUMPFILE
impdp DIRECTORY=dpumpdir DUMPFILE=test.dmp NOLOGFILE TABLES=employees
这将导致创建两个转储文件,并且 .test.dmpnologfile.dmp
要避免这种情况,请指定 或 。NOLOGFILE=YESNOLOGFILE=NO
指定参数值时区分大小写
对于作为参数值输入的表空间名称、模式名称、表名称等,Oracle Data Pump 缺省情况下会将以小写或混合大小写形式输入的值更改为大写。例如,如果输入 ,则将其更改为 。若要保持大小写,必须将值括在引号内。例如,将表名全部保留为小写。输入的名称必须与数据库中存储的名称完全匹配。TABLE=hr.employeesTABLE=HR.EMPLOYEESTABLE=“hr.employees”
在数据泵命令行上使用引号
某些操作系统将引号视为特殊字符,因此不会将它们传递给应用程序,除非它们前面有转义字符,如反斜杠 (\)。这在命令行和参数文件中都是如此。某些操作系统可能需要在命令行上围绕包含特殊字符的整个参数值添加一组额外的单引号或双引号。
提供以下示例来说明这些概念。请注意,它们可能不适用于您的特定操作系统,并且本文档无法预测每个用户独有的操作环境。
假设您在参数文件中指定参数,如下所示:TABLES
TABLES = “MixedCaseTableName”
如果要在命令行上指定,则某些操作系统将要求用单引号将其括起来,如下所示:
TABLES = ‘“MixedCaseTableName”’
为了避免在命令行上提供额外的引号,Oracle 建议使用参数文件。另请注意,如果使用参数文件,并且指定的参数值没有引号作为字符串中的第一个字符(例如,),则在某些系统上可能不需要使用转义字符。TABLES=scott.“EmP”
使用导入参数示例
如果尝试运行为每个参数提供的示例,请注意以下事项:
输入用户名和参数(如示例中所示)后,将启动导入,并提示您输入密码。在建立数据库连接之前,必须提供密码。
大多数示例都使用种子数据库的示例架构,该数据库在安装 Oracle 数据库时默认安装。特别是,经常使用人力资源 () 架构。hr
指定要导入的转储文件的示例假定转储文件存在。只要有可能,这些示例就会使用在运行导出示例时生成的转储文件。
这些示例假定目录对象 和 已存在,并且已向用户授予这些目录对象的权限 和 特权。dpump_dir1dpump_dir2READWRITEhr
某些示例需要 和 角色。这些示例假定用户已被授予这些角色。DATAPUMP_EXP_FULL_DATABASEDATAPUMP_IMP_FULL_DATABASEhr
如有必要,请向 DBA 寻求帮助,以创建这些目录对象并分配必要的特权和角色。
除非特别说明,否则这些参数也可以在参数文件中指定。