#imp
imp是YashanDB的配套导入工具,提供以文件方式进行元数据导入的能力。
元数据文件由exp工具生成,包含表结构、索引、约束等所有的元信息和数据,可用于同构数据库之间的数据迁移或备份恢复。
本工具支持FULL(导入整个文件)、FROMUSER(导入指定用户)、TABLES(导入指定的表)等多种模式的导入。
可以被imp工具进行元数据导入的对象有:
- 用户
- SEQUENCE
- AC
- 同义词
- 视图
- 表
- 索引
- 主键
- 外键
- 审计策略/使能
- 权限
- PROFILE
- OUTLINE
- PACKAGE(BODY)/PROCEDURE/FUNCTION/TRIGGER/JOB/TYPE(BODY)/LIBRARY
同时,对象的约束、依赖关系(例如VIEW依赖的TABLE)、列属性等信息也将被导入。
Note:
导入语句长度:当导入语句超出2M(如视图创建语句),会出现警报,此对象无法导入,但不阻断导入流程。
# 权限要求
imp工具的执行命令里要求输入数据库用户/密码。
在导入元数据文件时,该用户为执行导入的操作用户,而非导入对象,对此操作用户的权限规则为:
- 导入本用户下的对象时,无权限要求。
- 导入其他用户下的对象时,必须拥有DBA角色。
示例
--将DBA角色授予sales用户
GRANT DBA TO sales;
--导入sale0用户
imp sales/sales file=export.dump fromuser=sales0
--导入sale0用户下的表
imp sales/sales file=export.dump tables=area fromuser=sales0