`

oracle 数据备份

 
阅读更多
使用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
分享到:
评论

相关推荐

    oracle 数据备份工具源代码

    Oracle 数据备份是数据库管理中的重要环节,确保数据的安全性和可恢复性。Oracle 提供了多种数据备份工具,其中最常用的是 RMAN (Recovery Manager) 和 SQL*Plus 命令。本资源“oracle 数据备份工具源代码”可能包含...

    oracle数据备份工具,主要对oracle数据库进行自动备份

    oracle数据备份工具,主要对oracle数据库进行自动备份

    Oracle数据备份与还原(全).docx

    Oracle 数据备份与还原 Oracle 数据库备份与还原是指将 Oracle 数据库中的数据备份到外部文件中,并在需要时将其还原回数据库中的过程。下面是 Oracle 数据备份与还原的相关知识点: 1. 基本概念 * 数据备份:指...

    ORACLE数据备份专家

    数据备份专家是一款专为ORACLE数据库管理人员设计的,能够自动完成 ORACLE 数据库逻辑备份操作的软件。它封装了 ORACLE 自带的 EXP 数据导出工具和 IMP 数据导入工具,在设定好定时时间及其它信息后,每天在设定的...

    能按计划ORACLE数据备份工具

    "能按计划ORACLE数据备份工具"就是为了满足这一需求而设计的,它允许用户设置定时任务,自动执行Oracle数据库的备份工作。 Oracle数据备份主要包括物理备份和逻辑备份两种方式: 1. 物理备份:这是最接近实际...

    Oracle数据备份&恢复

    本文将详细阐述Oracle数据备份与恢复的基本概念、方法以及Exp/Imp工具的使用。 首先,Oracle数据备份主要分为物理备份和逻辑备份。物理备份是复制数据库的实际物理文件,如数据文件、控制文件、重做日志文件等。而...

    简简单单进行oracle数据备份

    Oracle 数据备份是数据库管理中的关键任务,确保在数据丢失或系统故障时能够恢复到正常状态。根据提供的信息,我们可以了解到 Oracle 数据备份主要分为物理备份和逻辑备份两种方式。 1. 物理备份: 物理备份是直接...

    Oracle数据备份与容灾方案.pptx

    Oracle 数据备份与容灾方案 Oracle 数据备份与容灾方案是指在数据库系统中,为了避免数据丢失和业务中断,所采取的一系列措施和策略。这些措施包括数据备份、容灾、灾难恢复等,旨在保护数据库的安全和可靠性。 ...

    oracle数据备份工具

    一个orcle数据库备份工具 只要指定好用户名,密码和实例名称 还有备份文件放的路径 双击执行 就可以了 很方便简单

    oracle数据备份和恢复 v1.0

    "Oracle数据备份和恢复 v1.0" 提供了一套工具来简化这个过程。 该工具支持全数据库级别的备份和恢复,这意味着你可以一次性备份整个数据库,包括系统表、用户数据、索引等所有组件。这对于大型数据库来说,是一种...

    oracle数据备份第一版

    Oracle数据备份是数据库管理中的重要环节,确保了数据的安全性和可恢复性。在这个"oracle数据备份第一版"中,我们看到一个由Delphi编程语言编写的Oracle数据备份服务程序。Delphi是一种强大的对象 Pascal 编程工具,...

    ORACLE数据备份/恢复工具

    本“ORACLE数据备份/恢复工具”显然是利用VB5编写的,旨在提供一个用户友好的界面,简化Oracle数据库的备份和恢复过程。以下是一些相关的知识点: 1. **Oracle备份**:Oracle支持多种备份方式,如物理备份(如RMAN...

    Oracle数据备份,详细解读

    Oracle数据备份是数据库管理中至关重要的环节,确保数据的安全性和可恢复性。Oracle提供了多种备份策略,主要包括导出/导入工具和冷备份方法。 一、导出/导入(Export/Import) 导出/导入工具是Oracle数据库提供的一...

    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数据库的安全运行至关重要。

    第19章 Oracle数据备份与还原.ppt

    Oracle 数据备份与还原 Oracle 数据库的备份与还原是数据库管理员必须掌握的重要知识。本章将详细介绍 Oracle 数据备份与还原的概念、方法和步骤。 19.1 数据的备份与还原 数据备份是指将数据库文件复制到指定...

    基于PL_SQL包的Oracle数据备份引擎的设计与实现

    ### 基于PL_SQL包的Oracle数据备份引擎的设计与实现 #### 一、引言 随着信息技术的快速发展,网络数据备份技术对于保障数据安全变得至关重要。传统的备份方案多依赖于操作系统级别的工具和技术,但这种方式存在着...

    Oracle数据备份与恢复

    Oracle 数据备份与恢复是数据库管理中的关键环节,确保在数据损坏或系统故障时能恢复到安全状态。本文将深入探讨几种常见的 Oracle 数据备份与恢复策略。 1. exp/imp 备份方式 这种方式是通过 Oracle 的导出(exp...

    31.Oracle数据备份和恢复1

    Oracle 数据备份和恢复是数据库管理中的关键环节,确保在数据丢失或系统故障时能迅速恢复服务。本篇文章主要探讨了使用 Oracle 的 exp 和 imp 工具进行逻辑备份和恢复的基本概念和方法。 首先,了解备份与恢复的...

Global site tag (gtag.js) - Google Analytics