本文内容
导入最显着的特点之一就是导入的模式,因为很大程度上,模式决定导入什么。把指定的模式应用到操作源,这个源或是转储文件集,或是另一个数据库(如果指定了
NETWORK_LINK 参数。)当导入操作源是转储文件集,指定一种模式是可选的。如果没有指定导入模式,那么会尝试加载模式中设置的整个转储文件。使用适当的参数,在命令行指定模式。导入模式如下所示:
- Full Import 模式
- Schema 模式
- Table 模式
- Tablespace 模式
- Transportable Tablespace 模式
- Oracle 11g Release 1 (11.1) Data Pump 导出模式
备注:当你导入一个用 full-mode 导出模式创建的转储文件时,导入操作会尝试从源数据库复制 SYS 账户的密码。有时,这会失败(例如,如果密码位于一个公共的密码文件)。如果失败,那么导入完成后,你必须在目标数据库设置 SYS 账户的密码。
备注:作业(由 Oracle 数据库作业调度创建)总是被导入到正在导入用户的模式。导入后,如果你查询 DBA_JOBS 视图,你会看到 LOG_USER 和 PRIV_USER 值设置到正在导入的用户上,而不管它们在导出平台上如何设置。为了解决这个问题,你必须作为作业的拥有者执行导出和导入。
Full Import 模式
使用
FULL 参数指定“完全导入”。在该模式下,“源(转储文件或另一个数据库)”的全部内容被加载到目标数据库。对于基于文件的导入,这是默认的。如果“源”是另一个数据库,那么你必须具有
IMP_FULL_DATABASE 角色。 对于没有权限的用户,不能导入“跨模式”的引用。例如,不能导入这样一个触发器,它定义在导入用户模式内的一个表,却位于另一个用户模式。如果使用
NETWORK_LINK 参数执行完全导入,那么在目标数据库和源数据库分别需要
IMP_FULL_DATABASE 和
EXP_FULL_DATABASE 角色。
示例1:本例演示导入转储文件
expfull.dmp 的全部内容。本例中,没有单独提供
DIRECTORY 参数,因此必须在
DUMPFILE 和
LOGFILE 参数里指定目录对象。目录对象可以不同,如下所示。impdp hr DUMPFILE=dpump_dir1:expfull.dmp FULL=y <!--CRLF-->LOGFILE=dpump_dir2:full_imp.log<!--CRLF-->
Schema 模式
使用
SCHEMAS 参数指定“模式导入”。在该模式,只加载指定模式拥有的对象。“源”可以是
full、
table、
tablespace 或
schema-mode 导出的转储文件集或另一个数据库。如果你具有 IMP_FULL_DATABASE 角色,那么可以指定一个模式列表,以及数据库中创建的模式(包括系统权限授予的),除了模式内包含的对象。对于没有权限的用户,除非其他模式被映射到当前模式,否则不能导入“跨模式”引用。例如,不能导入这样一个触发器,它定义在导入用户模式内的一个表,却位于另一个用户模式。
示例2:本例演示从转储文件
expdat.dmp 导入
hr 模式。
schemas.log 日志文件写入到
dpump_dir1。impdp hr SCHEMAS=hr DIRECTORY=dpump_dir1 LOGFILE=schemas.log<!--CRLF-->DUMPFILE=expdat.dmp<!--CRLF-->
Oracle 11g Release 1 (11.1) Data Pump 导出模式Oracle 11g R1(11.1)连接子句(join_clause)相关资讯 Oracle高级培训
- delete表的数据后恢复 (08/30/2012 08:59:58)
- 使用ASH信息,发现高CPUsession (08/14/2012 07:21:32)
- 如何阅读Oracle Errorstack Output (08/14/2012 07:15:47)
| - Oracle Apps Patching:adpatch( (08/16/2012 15:41:37)
- 话说V$SQL_MONITOR (08/14/2012 07:19:54)
- Oracle Apps DBA工具:ADADMIN使用 (08/14/2012 07:00:09)
|
本文评论 查看全部评论 (0)