oracle expdp导出和impdp导入使用方法
本篇介绍一下oracle expdp导出、impdp导入的使用方法 准备工作 导出-expdp 导入-impdp 导出-expdp参数说明 导入-impdp参数说明 准备工作 oracle中的expdp导出、impdp导入的使用之前,都得先完成以下三个步骤 第一步 以管理员身份,创建逻辑目录 create direc
本篇介绍一下oracle expdp导出、impdp导入的使用方法
准备工作
导出-expdp
导入-impdp
导出-expdp参数说明
导入-impdp参数说明
准备工作
oracle中的expdp导出、impdp导入的使用之前,都得先完成以下三个步骤
第一步 以管理员身份,创建逻辑目录
create directory my_dbdata as 'D:/my_dbdata';
第二步 查看逻辑目录是否创建成功
此时应该在再查看“D:/my_dbdata”这个磁盘物理路径是否存在。因为oracle创建时并不关心该磁盘目录是否存在,如果不存在,则在后续的操作中会报错
第三步 赋予导出用户的逻辑目录操作权限
比如我要导出一个用户名为“answer”的库,则需要用管理员来赋予“answer”用户对于逻辑目录的操作权限。
grant read,write on directory my_dbdata to answer;
操作系统为windows,则打开cmd窗口,若为linux或其他unix系统,则直接在命令行操作
特别注意:在expdp、impdp命令使用时,不要习惯性的在命令末尾加上分号“;”,会导致不经意间出现错误。
曾经我进行导入操作是,最后加了个分号,语句如下:
impdp eppapp0805/eppapp0805 DIRECTORY=epp_data DUMPFILE=eppapptest_88_20130805.dmp remap_schema=eppapptest:eppapp0805;
看见了没,最后那个参数是remap_schema=eppapptest:eppapp0805,表示该dmp包是从eppapptest用户导出来的,要把这个dmp包导入到用户eppapp0805去,结果,导入时oracle把“eppapp0805;”连分号一起当成用户名了,一看现有库中不存在这个用户,就创建新用户,然后就创建了一个带分号结尾的用户。而这个用户还不能登录,因为有特殊字符,非常的郁闷
导出-expdp
1)按用户导出
expdp answer/answer@orcl schemas=answer dumpfile=answer.dmp DIRECTORY=my_dbdata
2)按表名导出
expdp answer/answer@orcl TABLES=a_answer,a_question dumpfile=m_table.dmp DIRECTORY=my_dbdata
3)按查询条件导出
expdp answer/answer@orcl directory=my_dbdata dumpfile=exp_by_query.dmp tables=a_answer query='WHERE id < 20'
4)按表空间导出
expdp answer/answer DIRECTORY=my_dbdata DUMPFILE=tablespace.dmp TABLESPACES=user
5)整个数据库导出
expdp answer/answer DIRECTORY=my_dbdata DUMPFILE=full.dmp FULL=y
导入-impdp
1)导入到指定用户下
impdp answer/answer DIRECTORY=my_dbdata DUMPFILE=answer.dmp SCHEMAS=answer
2)如果导出的用户表空间跟导入的用户表空间不一致,则按下面的方法导入
impdp answer/answer DIRECTORY=my_dbdata DUMPFILE=answer.dmp REMAP_SCHEMA=user1(导出时的所属用户名):user2(导入时的所属用户名)
3)只导入dmp文件中的某几个表
impdp answer/answer DIRECTORY=my_dbdata DUMPFILE=answer.dmp TABLES=a_answer,a_question
4)导入表空间
impdp answer/answer DIRECTORY=my_dbdata DUMPFILE=tablespace.dmp TABLESPACES=user
5)导入整个数据库
impdb answer/answer DIRECTORY=my_dbdata DUMPFILE=full.dmp FULL=y;
6)追加数据
impdp answer/answer DIRECTORY=my_dbdata DUMPFILE=answer.dmp SCHEMAS=answer TABLE_EXISTS_ACTION=APPEND
导出-expdp参数说明
CONTENT |
用于指定要导出的内容,默认为ALL CONTENT=ALL:导出对象定义和所有数据 DATA_ONLY:只导出数据 METADATA_ONLY:只导出对象定义 |
DIRECTORY |
指定逻辑目录的名称,为之前创建的逻辑目录。 |
EXCLUDE |
用于指定执行操作时释放要排除的对象类型或相关对象 EXCLUDE=object_type[:name_clause] [,….] object_type用于指定要排除的对象类型,name_clause用于指定要排除的具体对象 例:EXCLUDE=TABLE:EMP EXCLUDE和INCLUDE不能同时使用 |
INCLUDE |
导出时包含指定的类型 例:INCLUDE=TABLE_DATA, INCLUDE=TABLE:"LIKE 'TAB%'" INCLUDE=TABLE:”NOT LIKE ‘TAB%’”… EXCLUDE和INCLUDE不能同时使用 |
FILESIZE |
指定导出文件的大小,默认为0,表示没有大小限制(单位为bytes) |
TABLESPACE |
指定一个表空间导出 |
QUERY |
QUERY=[schema.] schema为指定方案名,table_name为指定表名,query_clause用于指定条件限制子句 例:expdp answer/answer directory=my_dbdata dumpfiel=answer.dmp tables=a_answer query=’WHERE deptno=20’ QUERY选项不能与CONNECT=METADATA_ONLY,EXTIMATE_ONLY,TRANSPORT_TABLESPACES等选项同时使用. |
PARALLEL |
并行操作:指定执行导出操作的并行进程个数,默认值为1 您可以通过PARALLEL 例:expdp answer/answer tables=a_answer directory=my_dbdata dumpfile=expCASES_%U.dmp parallel=4 注意:dumpfile 在并行模式下,状态屏幕将显示四个工作进程。(在默认模式下,只有一个进程是可见的)所有的工作进程同步取出数据,并在状态屏幕上显示它们的进度。 分离访问数据文件和转储目录文件系统的输入/输出通道是很重要的。否则,与维护Data |
导入-impdp参数说明
TABBLE_EXISTS_ACTION |
TABBLE_EXISTS_ACTION={SKIP SKIP:导入时会跳过已存在的对象 APPEND:导入时会追加数据 TRUNCATE:导入时会截断表,然后追加新的数据 REPLACE:导入时会删除已存在的表,重建表再追加数据 |
REMAP_SCHEMA |
用于将源方案中的所有对象装载到目标方案中。 例:如果dmp文件导出时对应用户名为 user1, 导入时对应用户名为user2, 则因为用户名不一致而无法导入,需要这样用 REMAP_SCHEMA=user1:user2 |
REMAP_TABLESPACE |
将源表空间的所有对象导入到目标表空间 REMAP_TABLESPACE=source_tablespace:target:tablespace |
REMAP_DATAFILE |
将源数据文件转变为目标数据文件,在不同平台之间搬移表空间可能需要该选项 REMAP_DATAFIEL=source_datafie:target_datafile |

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

要查询 Oracle 表空间大小,请遵循以下步骤:确定表空间名称,方法是运行查询:SELECT tablespace_name FROM dba_tablespaces;查询表空间大小,方法是运行查询:SELECT sum(bytes) AS total_size, sum(bytes_free) AS available_space, sum(bytes) - sum(bytes_free) AS used_space FROM dba_data_files WHERE tablespace_

Oracle 视图加密允许您加密视图中的数据,从而增强敏感信息安全性。步骤包括:1) 创建主加密密钥 (MEk);2) 创建加密视图,指定要加密的视图和 MEk;3) 授权用户访问加密视图。加密视图工作原理:当用户查询加密视图时,Oracle 使用 MEk 解密数据,确保只有授权用户可以访问可读数据。

在 Oracle 中查看实例名的方法有三种:命令行中使用 "sqlplus" 和 "select instance_name from v$instance;" 命令。在 SQL*Plus 中使用 "show instance_name;" 命令。通过操作系统的任务管理器、Oracle Enterprise Manager 或检查环境变量 (Linux 上的 ORACLE_SID)。

Oracle 安装失败的卸载方法:关闭 Oracle 服务,删除 Oracle 程序文件和注册表项,卸载 Oracle 环境变量,重新启动计算机。若卸载失败,可使用 Oracle 通用卸载工具手动卸载。

在 Oracle 中获取时间有以下方法:CURRENT_TIMESTAMP:返回当前系统时间,精确到秒。SYSTIMESTAMP:比 CURRENT_TIMESTAMP 更准确,精确到纳秒。SYSDATE:返回当前系统日期,不含时间部分。TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS'): 将当前系统日期和时间转换为特定格式。EXTRACT:从时间值中提取特定部分,如年份、月份或小时。

数据导入方法:1. 使用 SQLLoader 实用程序:准备数据文件、创建控制文件、运行 SQLLoader;2. 使用 IMP/EXP 工具:导出数据、导入数据。提示:1. 大数据集推荐 SQL*Loader;2. 目标表应存在,列定义匹配;3. 导入后需验证数据完整性。

Oracle 中,FOR LOOP 循环可动态创建游标, 步骤为:1. 定义游标类型;2. 创建循环;3. 动态创建游标;4. 执行游标;5. 关闭游标。示例:可循环创建游标,显示前 10 名员工姓名和工资。

在 Oracle 中创建用户需遵循以下步骤:使用 CREATE USER 语句创建新用户。使用 GRANT 语句授予必要权限。可选:使用 RESOURCE 语句设置配额。配置其他选项,如默认角色和临时表空间。
