`
wangyanlong0107
  • 浏览: 479216 次
  • 性别: 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和IVCREMENTAL)

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和IVCREMENTAL)

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

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

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 备份文件存放的路径

导入:

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备份与还原数据库

    oracle备份与还原数据库Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、热备份和冷备份。导出备件是一种逻辑备份,冷备份和热备份是物理备份。

    oracle的expimp使用方法学习

    ORACLE数据库有两类备份方法。第一类为物理备份,该方法实现数据库的完整恢复,但 数据库必须运行在归挡模式下(业务数据库在非归挡模式下运行),且需要极大的外部 存储设备,例如磁带库;第二类备份方式为逻辑备份...

    Oracle 数据库备份与恢复总结(导出与导入装库与卸库)

    exp和imp和用法。 $ exp user/pwd@dbname file=/oracle/test.dmp full=y

    Oracle数据库学习指南

    Oracle2: 1. 《Oracle8 优化技术》摘录 (第一章 安装) 2. 《Oracle8 优化技术》摘录 (第二章 内存-CPU) 3. 《Oracle8 优化技术》摘录 (第三章 输入-输出) 4. EXP、IMP 命令详解 ...52. 自动备份Oracle数据库

    oracle备份与恢复

    逻辑备份可以作为备份的补充方法,但是不要把逻辑备份当成唯一的数据库备份方案。逻辑备份则是对物理备份的方式的一种补充,由于逻辑备份具有平台无关性,逻辑备份被作为数据迁移及移动的主要手段。

    exp和imp用法和介绍

    exp和imp用法和介绍,Oracle Export/Import工具用于在数据库之间传递数据。 Export从数据库中导出数据到dump文件中 Import从dump文件中到入数据导数据库中 下面是一般使用他们的情况 (1)、两个数据库之间传送...

    windows下oracle11g数据泵自动备份脚本

    windows下oracle11g数据泵自动备份脚本含删除过期备份和使用方法 1、先建备份用的路径对象:(注:此处认为用来做备份的用户backupuser已经建好了,且已经有连接数据库的相应权限) sqlplus / as sysdba CREATE OR ...

    oracle11G数据库导入导出工具.zip

    Oracle11G数据库的的exp和imp工具,数据库在做备份时若出现导出导入文件错误,一般是缺少exp.exe 和imp.exe工具或者该工具出行问题所致。使用方法:解压后将文件放到X:\development\Oracle\product\11.2.0\dbhome_1...

    Oracle数据库实验操作

    Exp导出和imp导入 174 实验87:交互模式导出和导入数据 174 实验88:命令行模式导出和导入数据 175 实验89:参数文件模式导出和导入数据 175 实验90:导出和导入表的操作 176 实验91:导出和导入用户操作 178 实验92...

    数据库原理及应用A实验报告(实验四——数据库恢复与安全性)

    学会使用exp备份数据库、使用imp恢复数据库 了解flashback 的使用 学会使用PLSQL/developer工具完成导入导出 掌握ORACLE中有关用户创建的方法 熟练掌握PL-SQL的数据控制语言,能通过自主存取控制进行权限...

    oracle详解

    导入/导出是ORACLE幸存的最古老的两个命令行工具,其实我从来不认为Exp/Imp是一种好的备份方式,正确的说法是Exp/Imp只能是一个好的转储工具,特别是在小型数据库的转储,表空间的迁移,表的抽取,检测逻辑和物理...

    Oracle 主要配置文件介绍

    Oracle 应 用进行文件 I/O操作的目录为任意目录 因此 只要空间允许 可以将备份数 据存放到任意目录下 <br>1.2.4 监听配置文件 为了使得外部进程 如 CAMS后台程序 能够访问 Oracle 数据库 必须配 ...

    最全的oracle常用命令大全.txt

    下面按类别列出一些ORACLE用户常用数据字典的查询使用方法。 1、用户 查看当前用户的缺省表空间 SQL>select username,default_tablespace from user_users; 查看当前用户的角色 SQL>select * from user_...

    oracle安装及备份

    Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的...

    ORACLE 常用手册导入导出

    如果不采用Archive Log模式运行Oracle数据库,只有两种可用的备份方法:冷备份或export逻辑备份。根据关键业务服务器的特点,停下数据库进行冷备份是根本不可能的,因此如果不采用Archive Log,只能进行逻辑备份。 ...

    Oracle点滴积累

    expimp导出导入工具的使用.doc,Oracle 单记录函数.doc,Oracle 的内存管理.ppt,Oracle9I计划管理表空间.pdf,Oracle备份与恢复.doc,Oracle返回树关系列表Sql.doc,Oracle里时间的应用.doc,Oracle体系结构概述....

    Oracl技术资料(EBook)

    电子版的Oracl技术资料 1. 《Oracle8 优化技术》...43.自动备份Oracle数据库 44.总结SQL语句中的优化提示 45.使用Database Configuration Assistant安装第二个数据库 46.Oracle 数据库向 MS SQL Server 7.0 的迁移

    第二热电厂MIS系统数据库设计论文

    5.2.1.1 逻辑备份(exp/imp)方法 122 5.2.1.2 RMAN备份 124 第六章 项目总结报告 126 附录 127 A. 数据库服务器硬件配置清单 127 B. 系统中所有表的数据量估算清单 127 C. 系统中的SQL查询频率估算清单 127

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。  拉里•埃里森  就业前景 从就业与择业的...

Global site tag (gtag.js) - Google Analytics