`
newleague
  • 浏览: 1505269 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

Oracle数据库备份(exp/imp命令)

阅读更多
---------------------------------------------------------------------------------------
Oracle数据库备份
---------------------------------------------------------------------------------------

ORACLE数据库的逻辑备份分为三种模式:表备份、用户备份和完全备份。

1.表模式
备份某个用户模式下指定的对象(表)。业务数据库通常采用这种备份方式。
若备份到本地文件,使用如下命令:
    exp icdmain/icd rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0
file=exp_icdmain_csd_yyyymmdd.dmp
log=exp_icdmain_csd_yyyymmdd.log
tables=icdmain.commoninformation,icdmain.serviceinfo,icdmain.dealinfo

若直接备份到磁带设备,使用如下命令:
    exp icdmain/icd rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0
file=/dev/rmt0
log=exp_icdmain_csd_yyyymmdd.log
tables=icdmain.commoninformation,icdmain.serviceinfo,icdmain.dealinfo

注:在磁盘空间允许的情况下,应先备份到本地服务器,然后再拷贝到磁带。出于速度方面的考虑,尽量不要直接备份到磁带设备。

2.用户模式
备份某个用户模式下的所有对象。业务数据库通常采用这种备份方式。
若备份到本地文件,使用如下命令:
    exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0
file=exp_icdmain_yyyymmdd.dmp
log=exp_icdmain_yyyymmdd.log

若直接备份到磁带设备,使用如下命令:
    exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0
file=/dev/rmt0
log=exp_icdmain_yyyymmdd.log

注:如果磁盘有空间,建议备份到磁盘,然后再拷贝到磁带。如果数据库数据量较小,可采用这种办法备份。

3.完全模式
备份完整的数据库。业务数据库不采用这种备份方式。备份命令为:
    exp icdmain/icd rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0 full=y
file=exp_fulldb_yyyymmdd.dmp(磁带设备则为/dev/rmt0)
log=exp_fulldb_yyyymmdd.log

对于数据库备份,建议采用增量备份,即只备份上一次备份以来更改的数据。增量备份命令:
exp icdmain/icd rows=y indexes=n compress=n buffer=65536
    feedback=100000 volsize=0 full=y inctype=incremental
file=exp_fulldb_yyyymmdd.dmp(磁带设备则为/dev/rmt0)
log=exp_fulldb_yyyymmdd.log

注:关于增量备份必须满足下列条件:

1.只对完整数据库备份有效,且第一次需要full=y参数,以后需要inctype=incremental参数。
2. 用户必须有EXP_FULL_DATABASE的系统角色。
3. 话务量较小时方可采用数据库备份。
4. 如果磁盘有空间,建议备份到磁盘,然后再备份到磁带。

---------------------------------------------------------------------------------------
Oracle数据库恢复
---------------------------------------------------------------------------------------

数据库的逻辑恢复分为表恢复、用户恢复、完全恢复三种模式。

1.表模式
此方式将根据按照表模式备份的数据进行恢复。
A. 恢复备份数据的全部内容
若从本地文件恢复,使用如下命令:
    imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n
commit=y buffer=65536 feedback=100000 ignore=n volsize=0
file=exp_icdmain_cs
d_yyyymmdd.dmp
log=imp_icdmain_csd_yyyymmdd.log

若从磁带设备恢复,使用如下命令:
    imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n
commit=y buffer=65536 feedback=100000 ignore=n volsize=0 file=/dev/rmt0
log=imp_icdmain_csd_yyyymmdd.log

B. 恢复备份数据中的指定表
若从本地文件恢复,使用如下命令:
    imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n
commit=y buffer=65536 feedback=100000 ignore=n volsize=0
file=exp_icdmain_cs
d_yyyymmdd.dmp
log=imp_icdmain_csd_yyyymmdd.log
tables=commoninformation,serviceinfo

若从磁带设备恢复,使用如下命令:
    imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n
commit=y buffer=65536 feedback=100000 ignore=n volsize=0
file=/dev/rmt0
log=imp_icdmain_csd_yyyymmdd.log
tables=commoninformation,serviceinfo


2.用户模式
此方式将根据按照用户模式备份的数据进行恢复。
A. 恢复备份数据的全部内容
若从本地文件恢复,使用如下命令:
    imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n
commit=y buffer=65536 feedback=100000 ignore=n volsize=0
file=exp_icdmain_yy
yymmdd.dmp
log=imp_icdmain_yyyymmdd.log

若从磁带设备恢复,使用如下命令:
    imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n
commit=y buffer=65536 feedback=100000 ignore=n volsize=0 file=/dev/rmt0
log=imp_icdmain_yyyymmdd.log

B. 恢复备份数据中的指定表
若从本地文件恢复,使用如下命令:
    imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n
commit=y buffer=65536 feedback=100000 ignore=n volsize=0
file=exp_icdmain_yy
yymmdd.dmp
log=imp_icdmain_yyyymmdd.log
tables=commoninformation,serviceinfo

若从磁带设备恢复,使用如下命令:
    imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n
commit=y buffer=65536 feedback=100000 ignore=n volsize=0 file=/dev/rmt0
log=imp_icdmain_yyyymmdd.log
tables=commoninformation,serviceinfo


3.完全模式
如果备份方式为完全模式,采用下列恢复方法:
若从本地文件恢复,使用如下命令:
imp system/manager rows=y indexes=n commit=y buffer=65536
feedback=100000 ignore=y volsize=0 full=y
file=exp_icdmain_yyyymmdd.dmp
log=imp_icdmain_yyyymmdd.log

若从磁带设备恢复,使用如下命令:
imp system/manager rows=y indexes=n commit=y buffer=65536
feedback=100000 ignore=y volsize=0 full=y
file=/dev/rmt0
log=imp_icdmain_yyyymmdd.log

==================================================================
Oracle EXP/IMP 参数详解

---------------------------------------------------------------------------------------
EXP导出选项
---------------------------------------------------------------------------------------

USERID
运行导出命令的帐号的用户名/口令

BUFFEER
用来取数据行的缓冲区的大小

FILE
导出转储文件的名字

COMPRESS
导出是否应该压缩有碎片的段成一个范围,这将会影响STORAGE子句

GRANTS
导出时否要导出数据库对象上的授权

INDEXES
是否要导出表上的索引

ROWS
是否应导出行。如它为‘N’,那么在导出文件中仅生成数据库对象的DDL

CONSSTRAINTS
是否导出表旧的约定条件

FULL
如设为‘Y’,那么将执行一个整个数据库导出操作

OWNER
要导出的一系列数据库帐号,然后执行这些帐号的USER导出操作

TABLES
要导出的一系列表;执行这些表的TABLE导出操作

RECORDLENGTH
转储导出文件日志的长度(以字节为单位),通常都使用缺省,除非要在两个不同操作系统中传递导出文件

INCTYPE
正在执行的导出操作的类型(有效值有COMPLETE(缺省值),CUMULATIVE和INCREMENTAL)

RECORD
在增量导出类型中的一个标记,标明是否将日志存储到数据字典中日志导出的表中

PARFILE
要传递给导出的参数文件的名字。这个文件将包含所有参数的入口项

ANALYZE
标明是否将移对象的统计信息写入导出转储文件中

CONSISTENT
标明是否保留所有导出对象的读取一致复制

LOG
导出日志将要写入的文件的名字

MLS
标明是否要导出MLS 标号

MLS_LABEL
规定了MLS标号的格式

---------------------------------------------------------------------------------------
IMP导入选项
---------------------------------------------------------------------------------------

USERID
运行导入命令的帐号的用户名/口令

BUFFEER
用来取数据行的缓冲区的大小

FILE
导入转储文件的名字

SHOW
规定文件内容是否被显示,而不是被执行

EGNORE
标明在执行‘CREATE’命令时,是否忽略遇到的错误。如果正在导入的对象已经存在时,应使用这个参数

FULL
如设为‘Y’,那么将执行一个整个数据库导入操作

FROMUSER
在FULL=N的情况下,才有参数。它是一系列的数据库帐号,其对象应从导出转储文件中读取

TOUSER
一系列数据库帐号,导出转储文件扣的对象将要导入这些帐号

GRANTS
导入时否要导入数据库对象上的授权

INDEXES
是否要导入表上的索引

ROWS
是否应导入行。如它为‘N’,那么在导入文件中执行数据库对象的DDL

TABLES
要导入的一系列表

RECORDLENGTH
转储导入文件日志的长度(以字节为单位),通常都使用缺省,除非要在两个不同操作系统中传递导入文件

INCTYPE
正在执行的导入操作的类型(有效值有COMPLETE(缺省值),CUMULATIVE和INCREMENTAL)

PARFILE
要传递给导入的参数文件的名字。这个文件将包含所有参数的入口项

ANALYZE
标明是否将移对象的统计信息写入导入转储文件中

LOG
导入日志将要写入的文件的名字

MLS
标明是否要导入MLS 标号

INDEXFILE
不执行导入动作,只生成建索引的文本

==example==

将一个数据库的某用户的所有表导到另外数据库的一个用户下面的例子  
exp userid=system/manager owner=username1 file=expfile.dmp
imp userid=system/manager fromuser=username1 touser=username2 ignore=y file=expfile.dmp

=============================================================================
在导入导出前要先测试下对应的数据库是否是通的:tnsping test来测试,同样test是服务名
所有命令可在cmd下执行



用exp/imp远程操作数据库

对ORACLE数据库进行远程操作,假设数据库在192.168.1.110上,具体方法如下:
一、在客户端创建和服务端对应的服务名
方法1:
修改tnsnames.ora文件
加入远程服务器的命名:

Sql代码
TEST_ORCL =  
(DESCRIPTION =  
(ADDRESS_LIST =  
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.110)(PORT = 1521))  
)  
(CONNECT_DATA =  
(SERVICE_NAME = orcl)  
)  
)

方法2:
在oracle客户端,打开net manager。
创建一个服务命名TEST_ORCL,主机IP为:192.168.1.110,服务名orcl,端口1521


二、测试远程服务器是否畅通

进入到cmd后,执行命令:tnsping TEST_ORCL

三、远程操作数据库
导出:
/**

不用进入oracle的bin目录,直接在dos下执行也可以导出。

**/
Sql代码
1:exp username/password@TEST_ORCL file=bak_filepath
2:exp username/password@TEST_ORCL full=y file=bak_filepath
username 用户名,password 密码,TEST_ORCL 客服端服务名,bak_filepath 备份文件存放的路径

/**

上面的方式(exp mdp/pwd@96 full=y file=d:\dd.dmp),会将所有的用户下的表导出。

 

dos模式下,进入oracle的bin目录下执行exp或imp命令(mdp)

  exp scott/tiger tables(dept,emp) file=c:\emp.dmp log=exp.log compress=n direct=y full = y
**/


导入:

Sql代码
1:imp username/password@TEST_ORCL file=bak_filepath full=y
2:imp username/password@TEST_ORCL/database_name file=bak_filepath full=y
3:imp username/password@TEST_ORCL file=bak_filepath fromuser=fromadmin touser=toadmin

username 用户名,password 密码,TEST_ORCL 客服端服务名,bak_filepath 备份文件存放的路径
fromadmin 备份数据的用户名,toadmin 还原数据库的用户名。database_name 还原到那个数据库上

full=y 将数据库整体导出,包括表结构等。

 

分享到:
评论

相关推荐

    Oracle数据库逻辑增量备份之exp/imp

    本文将深入探讨Oracle数据库中使用exp/imp工具进行逻辑增量备份的方法及其恢复策略。 1一、实现需求 在Oracle数据库环境中,确保数据安全性和可用性是关键。逻辑增量备份的主要目标是在最小化系统停机时间和资源...

    oracle数据库exp_imp命令详解[参考].pdf

    Oracle 数据库 exp/imp 命令详解 Oracle 数据库 exp/imp 命令是 Oracle 中最常用的命令之一。...exp/imp 命令是 Oracle 数据库备份和恢复的重要工具,了解其使用方法和参数可以帮助我们更好地备份和恢复数据库。

    Oracle数据库备份命令ExpImp.pdf

    Oracle数据库备份命令ExpImp.pdf Oracle数据库备份命令ExpImp.pdf是一份详细介绍Oracle数据库备份命令的文档。该文档主要介绍了Oracle数据库的两种备份方法:物理备份和逻辑备份。 物理备份是指数据库的完整恢复,...

    exp/imp导出导入工具的使用

    Oracle 数据库的 EXP/IMP 工具是数据库管理员(DBA)进行数据迁移、备份和恢复的重要工具。本文将详细介绍这两个工具的使用方法。 一、导出工具 EXP 1. EXP 是一个操作系统级别的可执行文件,通常位于 ORACLE_HOME...

    阿里云ECS上备份oracle数据库到OSS存储(单机模式)

    本文将介绍Oracle数据库备份到OSS存储的方法,并详细介绍了Oracle数据库的三种标准备份方法:导出/导入(EXP/IMP)、热备份和冷备份。 一、 导出/导入(Export/Import) 导出备份是一种逻辑备份,适用于数据库...

    oracle命令 exp&imp命令详解

    在Oracle数据库管理中,数据的导入和导出是常见的操作,这通常涉及到exp和imp这两个命令。这两个命令允许用户将数据库对象(如表、索引、存储过程等)及其数据从一个数据库环境转移到另一个,或者进行数据备份和恢复...

    学习Oracle数据库备份命令ExpImp.pdf

    综上所述,Oracle数据库备份是确保企业数据安全性和业务连续性不可或缺的一环。管理员应当深入了解并掌握物理备份和逻辑备份的区别和使用场景,以及Exp和Imp命令的应用。同时,选择合适的备份周期和策略,确保在数据...

    exp/imp2导入导出

    通过对 Oracle 表空间创建命令的分析以及对 exp/imp2 导入导出工具的介绍,我们可以看到,在 Oracle 数据库管理中,合理配置表空间属性和灵活运用备份恢复工具对于保障数据的安全性和可靠性至关重要。希望本文能帮助...

    exp/imp命令详解(实例)

    Oracle数据库的备份是确保数据安全的关键操作,其中exp和imp命令是进行逻辑备份的主要工具。逻辑备份相较于物理备份,不需要数据库运行在归档模式下,也不需要大量的外部存储设备,如磁带库,因此在很多业务环境中更...

    oracleClient安装包exp和imp文件.zip

    1. **数据迁移**:当需要将数据从一个Oracle数据库迁移到另一个Oracle数据库时,可以使用EXP和IMP。 2. **数据库备份和恢复**:定期执行EXP导出,可以在数据库出现问题时快速恢复到某个已知的良好状态。 3. **开发和...

    Oracle数据库备份命令ExpImp[归类].pdf

    Oracle数据库是企业级广泛使用的数据库管理系统,它提供了多种备份策略以确保数据的安全性和可恢复性。本篇文章将详细阐述Oracle数据库的两种主要备份方法——物理备份和逻辑备份,以及它们各自的适用场景和操作方式...

    Oracle expimp,备份或导入时注意的事项

    Oracle exp/imp 是Oracle数据库系统提供的两个实用工具,用于数据的备份和恢复。exp(Export)用于导出数据库中的对象和数据,而imp(Import)则用于将这些导出的数据导入到另一个数据库中。在实际操作中,由于各种...

    ORACLE数据库自动备份3种方法

    对于Oracle数据库而言,实现自动化的数据库备份不仅可以提高效率,还能降低人为操作失误的风险。本文将详细介绍Oracle数据库自动备份的三种常见方法:Windows下的任务计划(At命令)、UNIX下的Crontab以及第三方工具...

    Oracle数据库备份与恢复.pdf

    ### Oracle数据库备份与恢复 #### 一、Oracle数据库概述 Oracle数据库是一款由甲骨文公司开发的关系型数据库管理系统,以其卓越的性能、可扩展性和安全性在全球范围内被广泛应用。Oracle数据库的特点包括: - **...

    Oracle数据导入导出imp/exp命令 10g以上expdp/impdp命令

    同时,imp/exp 命令也可以用于数据库备份和恢复。 以下是 imp/exp 命令的使用实例: 1. 将数据库完全导出: exp system/manager@TEST file=d:\daochu.dmp full=y 2. 将系统用户和 sys 用户的表导出: exp system/...

    Oracle数据库备份和恢复操作手册范本.doc

    Oracle数据库备份和恢复...本手册提供了Oracle数据库备份和恢复的详细指南,涵盖了环境变量设置、数据备份、数据恢复、EXP/IMP与EXPDP/IMPDP比较等方面的知识点,旨在帮助Oracle数据库管理员更好地管理和维护数据库。

    linux下远程定时备份oracle数据库

    例如,`linux下oracle imp`可能指的是Oracle的数据泵工具,imp用于导入数据,exp用于导出。 在远程备份Oracle数据库时,你需要获取Oracle数据库服务器的SSH访问权限,并配置相应的SSH密钥对,以便无密码登录。这样...

Global site tag (gtag.js) - Google Analytics