- 浏览: 58780 次
- 性别:
- 来自: 上海
文章分类
最新评论
使用EXPDP和IMPDP时应该注意的事项:
EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。
EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。
IMP只适用于EXP导出的文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出的文件,而不适用于EXP导出文件。
expdp或impdp命令时,可暂不指出用户名/密码@实例名 as 身份,然后根据提示再输入,如:
expdp schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;
一、创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建。
create directory dpdata1 as 'd:\test\dump';
二、查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错)
select * from dba_directories;
三、给scott用户赋予在指定目录的操作权限,最好以system等管理员赋予。
grant read,write on directory dpdata1 to scott;
把A的权限给B
先进入到A中 connect A/A的密码;grant all privileges to B with admin option;这样就授权了 你试试吧 我试过了的 通过了
四、导出数据
1)按用户导
expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;
2)并行进程parallel
expdp scott/tiger@orcl directory=dpdata1 dumpfile=scott3.dmp parallel=40 job_name=scott3
3)按表名导
expdp scott/tiger@orcl TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dpdata1;
4)按查询条件导
expdp scott/tiger@orcl directory=dpdata1 dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';
5)按表空间导
expdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=temp,example;
6)导整个数据库
expdp system/manager DIRECTORY=dpdata1 DUMPFILE=full.dmp FULL=y;
五、还原数据
1)导到指定用户下
impdp scott/tiger DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=scott;
2)改变表的owner
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;
3)导入表空间
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=example;
4)导入数据库
impdp system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;
5)追加数据
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEM
===================================================================
expdp SSS_BUS/SSS_BUS@SSS_BUS dumpfile=SSS_BUS_20140428.dmp schemas=SSS_BUS
impdp SSS_BUS_06/SSS_BUS_06@SSS_BUS dumpfile=SSS_BUS_20140428.DMP
remap_schema :在数据库中,每个表的定义前都会带有该数据库的用户名,如果导出的数据库和导入的数据库是一个名称的,则此参数可忽略
如果前后名称不一致,则用冒号(":")分隔开,前面是旧数据库名,后面是新数据库名
用有管理权限的用户进行登录
sqlplus SSS_BUS/SSS_BUS@SSS as SYSDBA
彻底删除该用户的信息。
drop user SSS_BUS cascade;
创建一个新的用户
create user SSS_BUS identified by SSS_BUS default tablespace USERS temporary tablespace TEMP;
把基本的权限赋给这个用户
grant connect to SSS_BUS;
grant resource to SSS_BUS;
grant SYSDBA to SSS_BUS;
grant read,write on directory DATA_PUMP_DIR to SSS_BUS;
grant exp_full_database to SSS_BUS;
===============================================================
注意点
expdp SYSTEM/ORCL schemas=SSS_BUS DIRECTORY=dpdata2 dumpfile=expdp.dmp;
impdp SYSTEM/ORCL DIRECTORY=dpdata2 dumpfile=expdp.dmp REMAP_SCHEMA=SSS_BUS:SSS_BUS_01
导入的时候疑问用户名称不同要加上 REMAP_SCHEMA 前面上原来导出用户名后面的是要导入的用户名称
要放在文件的前面要不然会报错
impdp SSS_BUS/SSS_BUS@SSS_DEV8 dumpfile=SSS_BUS_20140605.DMP remap_schema=SSS_BUS:SSS_BUS_03
[@SSS_DEV8]追加是客户端和服务端不在同一个电脑上使用
---------------------------------
http://blog.chinaunix.net/uid-7530389-id-2050081.html 问题点
--------------------------------------------
DOS下数据库的导入导出:
只要在oracle的net manager中把oracle的服务连接配置好,在本地・服务器侧都可以执行导出・导入。
但是不管在本地,还是在服务器端执行命令,导入导出的文件都要放到服务器侧的目录里。
net manager中的配制方法请参照【設定】
データエクスポート
expdp dbUserId/dbPassword@ServiceName dumpfile=backupFileName.dmp schemas=dbName
例 expdp SSS_BUS/SSS_BUS@SSS_BUS dumpfile=SSS_BUS_20140428.dmp schemas=SSS_BUS
expdp SSS_BUS/SSS_BUS@SSS_DEV8 dumpfile=SSS_IM_2014_7_24.dmp schemas=SSS_IM
データインポート
impdp dbUserId/dbPassword@serviceName dumpfile=backupFileName.dmp remap_schema=oldDbName:newDbName
remap_schema :在数据库中,每个表的定义前都会带有该数据库的用户名,如果导出的数据库和导入的数据库是一个名称的,则此参数可忽略
如果前后名称不一致,则用冒号(":")分隔开,前面是旧数据库名,后面是新数据库名
例 impdp SSS_BUS/SSS_BUS@SSS_DEV8 dumpfile=SSS_BUS_20140605.DMP remap_schema=SSS_BUS:SSS_BUS_03
impdp IMART8_SSS_DEV/IMART8_SSS_DEV@SSS_DEV8 dumpfile=IMART8_SSS_DEV.DMP REMAP_SCHEMA=IMART8_SSS_DEV:IMART8_SSS_DEV_INTERN
ユーザ作成
在数据导入时,如果数据库中已经存在了同名的表,则在数据库导入时会发生错误。这时最好把该用户清空,或者把此用户删掉,重新创建数据库用户
在cmd下进行以下操作。
① 用有管理权限的用户进行登录
sqlplus SSS_BUS/SSS_BUS@SSS as SYSDBA
② 彻底删除该用户的信息。
drop user SSS_BUS cascade;
③ 创建一个新的用户
create user IMART8_SSS_DEV_INTERN identified by IMART8_SSS_DEV_INTERN default tablespace USERS temporary tablespace TEMP;
④ 把基本的权限赋给这个用户
grant connect to IMART8_SSS_DEV_INTERN;
grant resource to IMART8_SSS_DEV_INTERN;
grant SYSDBA to SSS_BUS; 这个权限太大了,其实不给也可以,看情况。
grant read,write on directory DATA_PUMP_DIR to IMART8_SSS_DEV_INTERN;
grant exp_full_database to IMART8_SSS_DEV_INTERN;
逻辑目录
在进行上面的导入导出操作时,如果不指定操作目录,默认指向目录【DATA_PUMP_DIR 】
当然自己也可以创建目录,指向自己创建的目录。
一、创建逻辑目录,该命令不会在操作系统创建真正的目录(请先创建真正的目录),最好以system等管理员创建逻辑目录。
登陆数据库
conn system/manger@orcl as sysdba conn system/manger@orcl as sysdba
创建目录
create directory dump_dir as 'd:\test\dump';
二、查看创建好的目录(同时查看操作系统中该目录是否存在,因为oracle并不关心该目录是否存在,假如不存在,则出错)
select * from dba_directories;
三、给用户(即上面的dbUserId)赋予读写该目录的权限。(导出时需要向这个目录写文件,导入时需要从这个目录读文件)
grant read,write on directory dump_dir to scott;
四、上面的导入导出操作默认指向【DATA_PUMP_DIR】,也可以指向上面自己刚定义的目录,只要在导入导出时加上下面的语句就可以了。
expdp dbUserId/dbPassword@serviceName directory = dump_dir dumpfile=backupFileName.dmp schemas=dbName
impdp dbUserId/dbPassword@serviceName directory = dump_dir dumpfile=backupFileName.dmp remap_schema=oldDbName:newDbName
当然也可以不指定目录,
expdp dbUserId/dbPassword@serviceName dumpfile=c:\oracle\backupFileName.dmp schemas=dbName
EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。
EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。
IMP只适用于EXP导出的文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出的文件,而不适用于EXP导出文件。
expdp或impdp命令时,可暂不指出用户名/密码@实例名 as 身份,然后根据提示再输入,如:
expdp schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;
一、创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建。
create directory dpdata1 as 'd:\test\dump';
二、查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错)
select * from dba_directories;
三、给scott用户赋予在指定目录的操作权限,最好以system等管理员赋予。
grant read,write on directory dpdata1 to scott;
把A的权限给B
先进入到A中 connect A/A的密码;grant all privileges to B with admin option;这样就授权了 你试试吧 我试过了的 通过了
四、导出数据
1)按用户导
expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;
2)并行进程parallel
expdp scott/tiger@orcl directory=dpdata1 dumpfile=scott3.dmp parallel=40 job_name=scott3
3)按表名导
expdp scott/tiger@orcl TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dpdata1;
4)按查询条件导
expdp scott/tiger@orcl directory=dpdata1 dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';
5)按表空间导
expdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=temp,example;
6)导整个数据库
expdp system/manager DIRECTORY=dpdata1 DUMPFILE=full.dmp FULL=y;
五、还原数据
1)导到指定用户下
impdp scott/tiger DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=scott;
2)改变表的owner
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;
3)导入表空间
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=example;
4)导入数据库
impdp system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;
5)追加数据
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEM
===================================================================
expdp SSS_BUS/SSS_BUS@SSS_BUS dumpfile=SSS_BUS_20140428.dmp schemas=SSS_BUS
impdp SSS_BUS_06/SSS_BUS_06@SSS_BUS dumpfile=SSS_BUS_20140428.DMP
remap_schema :在数据库中,每个表的定义前都会带有该数据库的用户名,如果导出的数据库和导入的数据库是一个名称的,则此参数可忽略
如果前后名称不一致,则用冒号(":")分隔开,前面是旧数据库名,后面是新数据库名
用有管理权限的用户进行登录
sqlplus SSS_BUS/SSS_BUS@SSS as SYSDBA
彻底删除该用户的信息。
drop user SSS_BUS cascade;
创建一个新的用户
create user SSS_BUS identified by SSS_BUS default tablespace USERS temporary tablespace TEMP;
把基本的权限赋给这个用户
grant connect to SSS_BUS;
grant resource to SSS_BUS;
grant SYSDBA to SSS_BUS;
grant read,write on directory DATA_PUMP_DIR to SSS_BUS;
grant exp_full_database to SSS_BUS;
===============================================================
注意点
expdp SYSTEM/ORCL schemas=SSS_BUS DIRECTORY=dpdata2 dumpfile=expdp.dmp;
impdp SYSTEM/ORCL DIRECTORY=dpdata2 dumpfile=expdp.dmp REMAP_SCHEMA=SSS_BUS:SSS_BUS_01
导入的时候疑问用户名称不同要加上 REMAP_SCHEMA 前面上原来导出用户名后面的是要导入的用户名称
要放在文件的前面要不然会报错
impdp SSS_BUS/SSS_BUS@SSS_DEV8 dumpfile=SSS_BUS_20140605.DMP remap_schema=SSS_BUS:SSS_BUS_03
[@SSS_DEV8]追加是客户端和服务端不在同一个电脑上使用
---------------------------------
http://blog.chinaunix.net/uid-7530389-id-2050081.html 问题点
--------------------------------------------
DOS下数据库的导入导出:
只要在oracle的net manager中把oracle的服务连接配置好,在本地・服务器侧都可以执行导出・导入。
但是不管在本地,还是在服务器端执行命令,导入导出的文件都要放到服务器侧的目录里。
net manager中的配制方法请参照【設定】
データエクスポート
expdp dbUserId/dbPassword@ServiceName dumpfile=backupFileName.dmp schemas=dbName
例 expdp SSS_BUS/SSS_BUS@SSS_BUS dumpfile=SSS_BUS_20140428.dmp schemas=SSS_BUS
expdp SSS_BUS/SSS_BUS@SSS_DEV8 dumpfile=SSS_IM_2014_7_24.dmp schemas=SSS_IM
データインポート
impdp dbUserId/dbPassword@serviceName dumpfile=backupFileName.dmp remap_schema=oldDbName:newDbName
remap_schema :在数据库中,每个表的定义前都会带有该数据库的用户名,如果导出的数据库和导入的数据库是一个名称的,则此参数可忽略
如果前后名称不一致,则用冒号(":")分隔开,前面是旧数据库名,后面是新数据库名
例 impdp SSS_BUS/SSS_BUS@SSS_DEV8 dumpfile=SSS_BUS_20140605.DMP remap_schema=SSS_BUS:SSS_BUS_03
impdp IMART8_SSS_DEV/IMART8_SSS_DEV@SSS_DEV8 dumpfile=IMART8_SSS_DEV.DMP REMAP_SCHEMA=IMART8_SSS_DEV:IMART8_SSS_DEV_INTERN
ユーザ作成
在数据导入时,如果数据库中已经存在了同名的表,则在数据库导入时会发生错误。这时最好把该用户清空,或者把此用户删掉,重新创建数据库用户
在cmd下进行以下操作。
① 用有管理权限的用户进行登录
sqlplus SSS_BUS/SSS_BUS@SSS as SYSDBA
② 彻底删除该用户的信息。
drop user SSS_BUS cascade;
③ 创建一个新的用户
create user IMART8_SSS_DEV_INTERN identified by IMART8_SSS_DEV_INTERN default tablespace USERS temporary tablespace TEMP;
④ 把基本的权限赋给这个用户
grant connect to IMART8_SSS_DEV_INTERN;
grant resource to IMART8_SSS_DEV_INTERN;
grant SYSDBA to SSS_BUS; 这个权限太大了,其实不给也可以,看情况。
grant read,write on directory DATA_PUMP_DIR to IMART8_SSS_DEV_INTERN;
grant exp_full_database to IMART8_SSS_DEV_INTERN;
逻辑目录
在进行上面的导入导出操作时,如果不指定操作目录,默认指向目录【DATA_PUMP_DIR 】
当然自己也可以创建目录,指向自己创建的目录。
一、创建逻辑目录,该命令不会在操作系统创建真正的目录(请先创建真正的目录),最好以system等管理员创建逻辑目录。
登陆数据库
conn system/manger@orcl as sysdba conn system/manger@orcl as sysdba
创建目录
create directory dump_dir as 'd:\test\dump';
二、查看创建好的目录(同时查看操作系统中该目录是否存在,因为oracle并不关心该目录是否存在,假如不存在,则出错)
select * from dba_directories;
三、给用户(即上面的dbUserId)赋予读写该目录的权限。(导出时需要向这个目录写文件,导入时需要从这个目录读文件)
grant read,write on directory dump_dir to scott;
四、上面的导入导出操作默认指向【DATA_PUMP_DIR】,也可以指向上面自己刚定义的目录,只要在导入导出时加上下面的语句就可以了。
expdp dbUserId/dbPassword@serviceName directory = dump_dir dumpfile=backupFileName.dmp schemas=dbName
impdp dbUserId/dbPassword@serviceName directory = dump_dir dumpfile=backupFileName.dmp remap_schema=oldDbName:newDbName
当然也可以不指定目录,
expdp dbUserId/dbPassword@serviceName dumpfile=c:\oracle\backupFileName.dmp schemas=dbName
发表评论
-
DDL DML
2015-03-26 22:38 625http://blog.csdn.net/w183705952 ... -
oracle 连接 中的 ON 和WHERE
2014-11-25 17:24 704前提准备 CREATE TABLE A_TEST ( ... -
oracle UNION 和 UNION ALL
2014-11-25 17:04 576前提贮备 CREATE TABLE A_TEST ( ... -
oracle 连接
2014-11-25 16:29 472前提准备: 表的创建: CREATE TABL ... -
抽取oracle 所有表
2014-10-19 22:51 679package db; import java.io ... -
oracle中的数据库、用户、方案、表空间、表对象之间的关系
2014-06-06 09:32 703文章来源:http://blog.csdn.net/blogn ... -
oracle 聚合函数 keep
2013-12-24 17:33 4710聚合函数MIN, MAX, SUM, AVG, COUNT, ... -
Oracle merge into 命令
2013-12-20 09:33 729原文:http://jayklin.iteye.com/blo ... -
oracle 分析函数over
2013-12-19 16:22 712copy:http://www.cnblogs.com/wuy ...
相关推荐
Oracle 数据备份是数据库管理中的重要环节,确保数据的安全性和可恢复性。Oracle 提供了多种数据备份工具,其中最常用的是 RMAN (Recovery Manager) 和 SQL*Plus 命令。本资源“oracle 数据备份工具源代码”可能包含...
oracle数据备份工具,主要对oracle数据库进行自动备份
Oracle 数据备份与还原 Oracle 数据库备份与还原是指将 Oracle 数据库中的数据备份到外部文件中,并在需要时将其还原回数据库中的过程。下面是 Oracle 数据备份与还原的相关知识点: 1. 基本概念 * 数据备份:指...
数据备份专家是一款专为ORACLE数据库管理人员设计的,能够自动完成 ORACLE 数据库逻辑备份操作的软件。它封装了 ORACLE 自带的 EXP 数据导出工具和 IMP 数据导入工具,在设定好定时时间及其它信息后,每天在设定的...
"能按计划ORACLE数据备份工具"就是为了满足这一需求而设计的,它允许用户设置定时任务,自动执行Oracle数据库的备份工作。 Oracle数据备份主要包括物理备份和逻辑备份两种方式: 1. 物理备份:这是最接近实际...
本文将详细阐述Oracle数据备份与恢复的基本概念、方法以及Exp/Imp工具的使用。 首先,Oracle数据备份主要分为物理备份和逻辑备份。物理备份是复制数据库的实际物理文件,如数据文件、控制文件、重做日志文件等。而...
Oracle 数据备份是数据库管理中的关键任务,确保在数据丢失或系统故障时能够恢复到正常状态。根据提供的信息,我们可以了解到 Oracle 数据备份主要分为物理备份和逻辑备份两种方式。 1. 物理备份: 物理备份是直接...
Oracle 数据备份与容灾方案 Oracle 数据备份与容灾方案是指在数据库系统中,为了避免数据丢失和业务中断,所采取的一系列措施和策略。这些措施包括数据备份、容灾、灾难恢复等,旨在保护数据库的安全和可靠性。 ...
一个orcle数据库备份工具 只要指定好用户名,密码和实例名称 还有备份文件放的路径 双击执行 就可以了 很方便简单
"Oracle数据备份和恢复 v1.0" 提供了一套工具来简化这个过程。 该工具支持全数据库级别的备份和恢复,这意味着你可以一次性备份整个数据库,包括系统表、用户数据、索引等所有组件。这对于大型数据库来说,是一种...
Oracle数据备份是数据库管理中的重要环节,确保了数据的安全性和可恢复性。在这个"oracle数据备份第一版"中,我们看到一个由Delphi编程语言编写的Oracle数据备份服务程序。Delphi是一种强大的对象 Pascal 编程工具,...
本“ORACLE数据备份/恢复工具”显然是利用VB5编写的,旨在提供一个用户友好的界面,简化Oracle数据库的备份和恢复过程。以下是一些相关的知识点: 1. **Oracle备份**:Oracle支持多种备份方式,如物理备份(如RMAN...
Oracle数据备份是数据库管理中至关重要的环节,确保数据的安全性和可恢复性。Oracle提供了多种备份策略,主要包括导出/导入工具和冷备份方法。 一、导出/导入(Export/Import) 导出/导入工具是Oracle数据库提供的一...
Oracle 数据库 对数据库的表进行修改有如下几点 1. 列的添加,修改和删除 添加列 Alter table•••add Alter table table_name add (new_colum_name datatype [default value] [not null]) 修改列类型 Alter table...
Oracle数据库是企业级...总的来说,Oracle数据备份恢复是一个涉及多方面知识的复杂过程,包括备份策略选择、备份工具的使用、恢复技术的应用等。理解并熟练掌握这些知识点,对于保障Oracle数据库的安全运行至关重要。
Oracle 数据备份与还原 Oracle 数据库的备份与还原是数据库管理员必须掌握的重要知识。本章将详细介绍 Oracle 数据备份与还原的概念、方法和步骤。 19.1 数据的备份与还原 数据备份是指将数据库文件复制到指定...
### 基于PL_SQL包的Oracle数据备份引擎的设计与实现 #### 一、引言 随着信息技术的快速发展,网络数据备份技术对于保障数据安全变得至关重要。传统的备份方案多依赖于操作系统级别的工具和技术,但这种方式存在着...
Oracle 数据备份与恢复是数据库管理中的关键环节,确保在数据损坏或系统故障时能恢复到安全状态。本文将深入探讨几种常见的 Oracle 数据备份与恢复策略。 1. exp/imp 备份方式 这种方式是通过 Oracle 的导出(exp...
Oracle 数据备份和恢复是数据库管理中的关键环节,确保在数据丢失或系统故障时能迅速恢复服务。本篇文章主要探讨了使用 Oracle 的 exp 和 imp 工具进行逻辑备份和恢复的基本概念和方法。 首先,了解备份与恢复的...