oracle备份表语句_oracle逻辑备份Export使用技巧

更新时间:2018-10-08    来源:Oracle教程    手机版     字体:

【www.bbyears.com--Oracle教程】

备份一个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语句验证所做的逻辑恢复是否已经成功。
  
 i-uRǫ'[ޭ4ѺXyn)^,nߊWW7Bjkz?6hnn操作系统间转换导出文件,否则就使用缺省值。
(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参数。因此,该段的总分配空间应压缩到一个区。使用该参数要注意两点:


 

本文来源:http://www.bbyears.com/shujuku/44924.html