oracle逻辑备份Export使用技巧

备份一个ORACLE数据库有三种标准方式: EXPORT(导出)、脱机备份和联机备份。导出方式是数据库的逻辑备份,其他两种备份方式都是物理文件备份。
逻辑备份

ORACLE的EXPORT实用程序exp用来读取数据库(其中包括数据字典)和把输出写入一个叫作导出转储文件(export dump file)的二进制文件中。可以导出整个数据库、指定用户或指定表。在导出期间,可以选择是否导出与表相关的数据字典信息,如权限、索引和与其相关的约束条件。exp所写的文件包括完全重建全部被选对象所需的命令。

备份方法

(1)随便找一台windows机器装上oracle(如果你的oracle是装在windows上,就不必再另外再安装了,这步省下).如果只装oracle的客户端,好象不会自动装上exp这个工具,所以得装上数据库服务器。
(2)创建一个批处理文件供windows的任务计划调度执行(在控制面板-任务计划).
(3)在批处理文件.bat中指定要导出的user及exp的一些参数:
exp admin/admin@ora12   file=F:/Every_week_backup/server12/s12_evryweek.dmp    owner=LINMARKDEV816,LINMARKHK,LINMARKINSTALL,LINMARKUTA816,NBDEMO,SAKSDEV,SAKSOWNER1227,SAKSOWNER2.6NP,CSPUAT2 consistent=y log=F:/Every_week_backup/server12/s12_evryweek_exp.log
(4)上例中 owner=后面的就是你要导出的user,你可根据你的需要来输入。admin/amin@ora12是一个具dba权限的用户(你可用system/密码 来取代,以使它能导出多个user。ora12是我要导出的数据库服务器的实例名。这可能是另外一台机器上的服务器,你可先在客户端的$oraclehom/network/admin/tnsnames.ora中设置,使你的客户端能连上oracle,或直接通过oracle的网络配置工具Net Configuration Assistant来配连接) file=就是你的导出文件即dmp文件的存放路径.
(5)编辑好批处理文件后,你可在windows的任务计划中执行这个文件(可设置周期执行,例:如果你要每两天备份一次,时间是在零辰1点,这个你可打开任务计划去设置)。当然你得确保设置了任务计划的电脑在任务执行时不关机。这样,每次启动导出任务时,oracle会重新override那个dmp文件,所以你也得将前次的dmp文件拷出来,另外存放).
利用exp进行导出备份具有三种方式: Full方式、User方式和Table方式。

Export实用程序

逻辑备份的用法
  首先打开【开始】菜单,选择【运行】命令,弹出如图1所示的“运行”对话框,在“打开”文本框中输入cmd,单击【确定】按钮。
  
  图2 “运行”对话框
  此时会弹出一个DOS窗口,在此窗口下,可以使用EXP/IMP命令进行数据库的逻辑备份和恢复,有三种操作方式:
* 交互式 是在直接输入命令后,根据系统的提示一步一步进行,好像在和系统对话一样。在此不再举例说明。
* 命令行模式 是在命令的后面接一些参数和参数值。举例说明:

图3 命令行模式导出
    如果用户对IMP和EXP命令参数比较熟悉,命令行模式是比较方便的一种操作方式。在做逻辑备份时文件名最好使用绝对路径。如果只给出文件名,则备份文件将被保存在当前目录,这样会加大控制和管理的难度。
   * 参数模式   是在命令的后面接一个参数文件的名称,这个参数文件中存放了执行过程需要调用的部分参数。参数模式其实就是将命令后面所带的参数写在一个参数文件中,然后再使用命令,使后面带一个调用该文件的参数,这个参数为PARFILE=。我们可以通过普通的文本文件编辑器和创建这个文件,为了明显起见,将该参数文件命名为. PARFILE的后缀。以下就是一个参数文件的内容:
        USERID=SCOTT/TIGER@ARJDB
        FULL=N
        BUFFER=10000
        FILE=DEPT.DMP
        TABLES=DEPT
   执行过程如下:
   
   图4 以参数模式导出
   上述提到的几种模式和方法同样适用于IMP命令。
4. 应用实例
   下面结合实例具体说明导入和导出使用方法。为了避免由于操作失误造成数据丢失,首先以SCOTT用户登陆系统,创建两个用作逻辑备份的表,分别为emp_dump表和dept_dump表。

图5 创建逻辑备份表
     确认表创建成功后,启动DOS命令行窗口,利用导出命令导出刚才创建好的逻辑备份表,如图所示。在做逻辑备份时文件名最好使用绝对路径,这样可以减少控制和管理的难度。

图6 导出逻辑备份表
  为了验证之后的导入工作是否正确,我们用DML语句把公司中所有员工都升职为CEO,具体操作如下:
  
  图7 更新表中的数据
  可以用select语句验证所做的修改是否成功。如图所示。
  
  图8 更新后的表数据
  由显示结果可以看出,公司中的所有员工都已经升职为了CEO,数据更新成功。确认成功后删除掉创建的两个表。
  
  图9 删除逻辑备份表
  利用select语句确认两个表已经不存在后,在DOS窗口中输入导入命令,如图所示。
  
  图10 恢复逻辑备份表
  返回SCOTT用户,利用select语句验证所做的逻辑恢复是否已经成功。
  
  

exp的选项及含义如下:

(1) Userid
执行导出的帐户的用户名/口令,如果这是exp命令后的第一个参数,则关键字userid就不必指定。
(2) Buffer
用于获取数据行的缓冲区尺寸,缺省值随系统而定,通常设为一个高值(大于64000)。
(3) File
导出转储文件的名字。
(4) Filesize
一个导出转储文件的最大尺寸。如果file条目中列出了多个文件,将根据filesize设置值导出这些文件。
(5) Compress
一个Y/N标志,用于指定导出是否应把碎片段压缩成单个区。这个标志影响将存储到导出文件中的storage子句。
(6) Grants
一个Y/N标志,用于指定数据库对象的权限是否导出。
(7) Indexes
一个Y/N标志,用于指示表上的索引是否导出。
(8) Rows
一个Y/N标志,用于指示行是否导出。如果设置为N,在导出文件中将只创建数据库对象的DDL。
(9) Constraints
一个Y/N标志,用于指示表上的约束条件是否导出。
(10) Full
若设为Y,执行FULL数据库导出。
(11) owner
导出数据库帐户的清单,可以执行这些账户的USER导出。
(12)Tables
导出表的清单,可以执行这些表的TABLE导出。
(13) Recordlength
导出转储文件记录的长度,以字节为单位。除非是在不同的操作系统间转换导出文件,否则就使用缺省值。
(14) Inctype
要执行的导出类型(允许值为complete(缺省)、cumulative和incremental )。
(15) Direct
一个Y/N标志,用于指示是否执行DIRECT导出。DIRECT导出在导出期间绕过缓冲区,从而大大提高导出处理的效率。
(16) Record
用于INCREMENTAL导出,这个Y/N标志指示一个记录是否存储在记录导出的数据字典表中。
(17) Parfile
传递给EXPORT的一个参数文件名,这个文件可以包含exp所需的全部参数条目。
(18) Statistics
这个参数指示导出对象的ANALYZE命令是否应写到导出转储文件上。其有效值是COMPUTE、ESTIMATE ((缺省)和N。在较早的ORACLE版本中,这个参数叫作ANALYZE。
(19) consistent
一个Y/N标志,用于指示是否应保留全部导出对象的读一致版本。在EXPORT处理期间,当相关的表被用户修改时需要这个标志。
(20) Log
一个要写导出日志的文件名。
(21) Feedback
表导出时显示进度的行数。缺省值是0,所以在一个表全部导出前没有反馈显示。
(22) point_in_time_recover
一个Y/N标志,用于向ORACLE指示,是否正在导出用于表空间时间点恢复的元数据。
(23) recover_tablespaces
在表空间时间点恢复期间,其元数据应被导出的表空间。
(24) Query
导出时用于每个表的where子句。
(25) tablespaces
移动一个表空间时应导出其元数据的表空间。
ORACLE8i中exp参数的缺省值如表8.1-1所示。
使用exp help=Y可以显示exp命令的参数。
1. Compress参数
对于包含多个区的数据段,COMPRESS = Y选项可修改s t o r a g e子句的initial参数。因此,该段的总分配空间应压缩到一个区。使用该参数要注意两点:

 

时间: 2025-01-21 11:46:03

oracle逻辑备份Export使用技巧的相关文章

Oracle逻辑备份知识简介

1.逻辑备份和物理备份区别 1)物理备份:备份数据文件以及控制文件,备份整个库的物理结构,主要用于media recover 2)逻辑备份:备份database里的对象的数据结构和数据,作为物理备份的辅助,不能用于media recover : 先主要用于对单个表的备份或数据迁移,但恢复时只能恢复到备份点. 2.exp的使用 (1)emp参数说明 C:\Users\cuug>exp -help Export: Release 10.2.0.1.0 - Production on 星期五 3月 2

Oracle逻辑备份的应用案例

案例1: 误删除user及所有的对象,恢复 1)创建用户,并分配权限 06:14:01 SQL> create user scott identified by tiger default tablespace users ; User created. 06:15:55 SQL> grant connect ,resource to scott; Grant succeeded. 06:16:06 SQL> 2)导入备份 [oracle@work dat]$ imp system/or

Oracle逻辑备份的SH文件

完全备份的SH文件:exp_comp.sh rq=` date +"%m%d" ` su - oracle -c "exp system/manager full=y inctype=complete file=/oracle/export/db_comp$rq.dmp" 累计备份的SH文件:exp_cumu.sh rq=` date +"%m%d" ` su - oracle -c "exp system/ manager full=

ORACLE数据库备份技术

1 引言 ORACLE 数据库是一种大型关系型的数据库,可以存贮达到存贮 TB 的数据,那么如何保证这些数据的安全尤其至关重要,我们从 1991 年开始使用 ORACLE 数据库,通过这些年的使用,我们制定了一整套的 ORACLE 数据库的备份制度.现在把我们的备份制度介绍给大家,供大家参考. 2 根据实际需要决定数据库的运行方式 ORACLE 数据库有两种运行方式:一是归档方式( ARCHIVELOG ),归档方式的目的是当数据库发生故障时最大限度恢复所有已提交的事物:二是不归档方式 (NOA

Oracle数据库逻辑备份的SH文件的教程

正在看的ORACLE教程是:Oracle数据库逻辑备份的SH文件. 完全备份的SH文件:exp_comp.sh rq=` date +"%m%d" ` su - oracle -c "exp system/manager full=y inctype=complete file=/oracle/export/db_comp$rq.dmp" 累计备份的SH文件:exp_cumu.sh rq=` date +"%m%d" ` su - oracle

【Oracle】逻辑备份失败ORA-39002,39070,29283,06512

查看备份邮件的时候,发现逻辑导出失败,日志如下: 20111126-122901 admin:oracle@RAC1: /home/oracle> cat /tmp/exp_dwd.sh.CRONTAB.LAST.log | more **************************************************************** ***You  login as oracle , Please ask somebody to  double check!***

Oracle数据库逻辑备份的SH文件_oracle

正在看的ORACLE教程是:Oracle数据库逻辑备份的SH文件.完全备份的SH文件:exp_comp.sh rq=` date +"%m%d" ` su - oracle -c "exp system/manager full=y inctype=complete file=/oracle/export/db_comp$rq.dmp" 累计备份的SH文件:exp_cumu.sh rq=` date +"%m%d" ` su - oracle -

Oracle数据库备份技巧

  利用下面的列出的技巧来确保你不会在每周一次的数据库备份过程中忘记关键步骤. 每周一次备份主数据库.如果你创建.修改或者停止一个数据库,添加新的SQL Server消息,添加或者停止连接服务器,或者添加记录设备,那就进行手工备份. 每天备份一次msdb数据库.它一般非常小,但很重要,因为它包含了所有的SQL Server工作.操作和计划任务. 只有当你修改它时,才有必要备份模型数据库. 用SQL Server Agent来安排你的备份工作的时间表. 如果在你的生产(production)环境中

ORACLE数据库的逻辑备份

ORACLE数据库有两类备份方法.第一类为物理备份,该方法实现数据库的完整恢复,但数据库必须运行在归挡模式下(业务数据库在非归挡模式下运行),且需要极大的外部存储设备,例如磁带库:第二类备份方式为逻辑备份,业务数据库采用此种方式,此方法不需要数据库运行在归挡模式下,不但备份简单,而且可以不需要外部存储设备. 数据库逻辑备份方法 ORACLE数据库的逻辑备份分为三种模式:表备份.用户备份和完全备份. 表模式 备份某个用户模式下指定的对象(表).业务数据库通常采用这种备份方式. 若备份到本地文件,使