(摘自:http://www.cnblogs.com/mchina/archive/2012/09/12/2678093.html)

数据库的备份操作是在整个项目运行中最重要的工作之一。

一、数据的导出和导入

数据的导出和导入是针对于一个用户的备份操作,可以按照如下的方式完成:

1、  数据的导出

  • 在硬盘上建立一个文件夹:c:\backup;
  • 输入exp指令;
  • 输入用户名和密码;
  • 设置导出文件的名称:导出文件: EXPDAT.DMP;

2、  数据的导入

  • 先将表删除干净;
  • 进入到导出文件所在的文件夹之中:c:\backup;
  • 输入imp指令;
  • 输入用户名和密码;
  • 导入整个导出文件 (yes/no): no > yes

但是以上的操作只是做为一个演示,因为这种备份操作本身只适合数据量小的情况,如果数据量较大的话,这种操作是会损耗性能的,而且时间也会很长,要想解决大数据量的问题只能对数据分区操作。

二、数据表的冷备份

在数据操作之中,有可能有些用户不会进行事务的提交,那么在这种情况下很可能无法进行完整的备份操作,而所谓的冷备份指的就是在闭数据库实例的情况下进行数据库备份操作的实现。

如果要进行冷备份,则需要备份出数据库中的一些几个核心内容:

  • 控制文件,指的是控制整个Oracle数据库的实例服务的核心文件,直接通过”v$controlfile”找到;
  • 重做日志文件,可以进行数据的灾难恢复,直接通过”v$logfile”找到;
  • 数据文件,表空间文件,通过”v$datafile”和”v$tablespace”找到;
  • 核心操作的配置文件(pfile),通过”SHOW PARAMETER pfile”找到;

从实际的Oracle的部署来讲,所有的文件为了达到IO的平衡操作,要分别保存在不同的硬盘上。

确定了要备份的文件之后,下面按照如下的步骤查找:

1、  使用超级管理员登录

CONN sys/change_on_install AS SYSDBA;

2、  查找所有的控制文件目录

SELECT * FROM v$controlfile;

3、  备份重做日志文件

SELECT * FROM v$logfile;

4、  查找表空间文件

SELECT * FROM v$tablespace;
SELECT * FROM v$datafile;

5、  找到pfile文件

SHOW PARAMETER pfile;

6、  关闭数据库实例

SHUTDOWN IMMEDIATE;

7、  将所有查找到的数据备份到磁盘上;

8、  启动数据库实例

STARTUP;

完全攻略

一、导出/导入(Export/Import)

利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。

1、简单导出数据(Export)和导入数据(Import)

Oracle支持三种方式类型的输出:

(1)表方式(T方式),将指定表的数据导出。 
(2)用户方式(U方式),将指定用户的所有对象及数据导出。 
(3)全库方式(Full方式),瘵数据库中的所有对象导出。

数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库和将数据库数据导出到数据文件。

2、增量导出/导入

增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出文件名缺省为export.dmp,如果不希望自己的输出文件定名为export.dmp,必须在命令行中指出要用的文件名。

增量导出包括三种类型:

(1)“完全”增量导出(Complete)即备份三个数据库,比如:exp system/manager inctype=complete file=040731.dmp。 
(2)“增量型”增量导出备份上一次备份后改变的数据,比如:exp system/manager inctype=incremental file=040731.dmp。 
(3)“累积型”增量导出累计型导出方式是导出自上次“完全”导出之后数据库中变化了的信息。比如:exp system/manager inctype=cumulative file=040731.dmp。
数据库管理员可以排定一个备份日程表,用数据导出的三个不同方式合理高效的完成。

比如数据库的被封任务可以做如下安排:

星期一:完全备份(A) 星期二:增量导出(B) 星期三:增量导出(C)

星期四:增量导出(D) 星期五:累计导出(E) 星期六:增量导出(F)

星期日:增量导出(G)。

如果在星期日,数据库遭到意外破坏,数据库管理员可按一下步骤来回复数据库:

第一步:用命令CREATE DATABASE重新生成数据库结构;

第二步:创建一个足够大的附加回滚;

第三步:完全增量导入A:imp system/manager inctype=RESTORE FULL=y FILE=A

第四步:累计增量导入E:imp system/manager inctype=RESTORE FULL=Y FILE=E

第五步:最近增量导入F:imp system/manager inctype=RESTORE FULL=Y FILE=F

二、冷备份

冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份时将关键性文件拷贝到另外的位置的一种说法。对于备份Oracle信息而言,冷备份时最快和最安全的方法。冷备份的优点是:

1、是非常快速的备份方法(只需拷文件);
2、容易归档(简单拷贝即可);
3、容易恢复到某个时间点上(只需将文件再拷贝回去);
4、能与归档方法相结合,做数据库“最佳状态”的恢复;
5、低度维护,高度安全。

但冷备份也有如下不足:

1、单独使用时,只能提供到“某一时间点上”的恢复;
2、再实施备份的全过程中,数据库必须要作备份而不能作其他工作。也就是说,在冷备份过程中,数据库必须是关闭状态;
3、若磁盘空间有限,只能拷贝到磁带等其他外部存储设备上,速度会很慢;
4、不能按表或按用户恢复。

Oracle的导出和导入的更多相关文章

  1. oracle如何导出和导入数据库表

    oracle如何导出和导入数据库表 oracle如何将项目中的表导出后在导入自己的数据库中,这是一个完整的操作,对于数据库备份或在本地查看数据验证数据进场用到,一般情况下我都用dos黑窗口进行操作,简 ...

  2. oracle如何导出和导入数据库/表

    oracle如何导出和导入数据库/表 oracle如何将项目中的表导出后在导入自己的数据库中,这是一个完整的操作,对于数据库备份或在本地查看数据验证数据进场用到,一般情况下我都用dos黑窗口进行操作, ...

  3. 利用PL/SQL从Oracle数据库导出和导入数据

    转自:https://www.jb51.net/article/109768.htm 本文实例为大家分享了使用PL/SQL从Oracle数据库导出和导入数据的方法,供大家参考,具体内容如下 1.导出数 ...

  4. oracle、导出、导入

    一.数据库导入: No1.查询所有表中那些是空表. select table_name from user_tables where NUM_ROWS=0; No2.拼接字符串生成SQL执行语句. s ...

  5. oracle数据导出以及导入

    导出 1.服务器上mkdir创建一个真实目录/home/oracle/dump 2.sqlplus /nolog 3.conn /as sysdba; 4.SQL> create directo ...

  6. oracle数据库导出与导入

    一.查询导出库的字符集 3个 1.查询oracle server端的字符集 SQL>select userenv('language') from dual; USERENV('LANGUAGE ...

  7. oracle 数据库 导出与导入 expdb和impdb使用方法 (服务器本机)

    expdb 与exp 导出数据有区异,exp 无法导出空值表,用于客户端,expdb 只用于服务器端.备份出来的数据可再远程传输到另外一台linux 实现异地备份! 一  关于expdp和impdp ...

  8. Oracle 12导出、导入数据

    Precondition: complete the work described in Oracle 12 创建新的数据库实例.用户 1. export data under user " ...

  9. oracle的dmp数据文件的导出和导入以及创建用户

    关于dmp文件我们用的还是比较多的,dmp文件它是作为oracle导入和导出表使用的文件格式,今天就将dmp文件导出和导入进行学习. dmp文件导出 dmp文件导出用的比较多的一般是三种,他们分别是: ...

随机推荐

  1. (转)Android工程出现 java.lang.NoClassDefFoundError错误解决方法

    在Eclipse中,导入Android工程,工程没有报错,运行时,出现 java.lang.NoClassDefFoundError类没有找到的错误.从问题上可以看出是导入包出错的原因.遂百度加谷歌. ...

  2. Centos学习笔记2-网络部分

    一:修改IP地址:vi /etc/sysconfig/network-scripts/ifcfg-eth0 IPADDR=192.168.80.100 NETMASK=255.255.255.0 GA ...

  3. LightOJ - 1370 Bi-shoe and Phi-shoe (欧拉函数打表)

    题意:给N个数,求对每个数ai都满足最小的phi[x]>=ai的x之和. 分析:先预处理出每个数的欧拉函数值phi[x].对于每个数ai对应的最小x值,既可以二分逼近求出,也可以预处理打表求. ...

  4. linux例行性工作调度学习(一)

    Linux系统中有一种例行性工作(crontab)可以调度,是通过crontab和at来实现的. 这两种工作调度: 一种是例行性的,就是每隔一定的周期要来办的事项. 一种是突发性的,就是这次做完以后就 ...

  5. js 三元表达式 复杂写法

    a = 0 b = 0 a === 0 && (a = 1,b = 2) a === 1 ? (a = 3,alert(b)) : (b = 4) a === 1 || alert(a ...

  6. SVN使用—高级用法

    一.SVN分支 Branch 选项会给开发者创建出另外一条线路.当有人希望开发进程分开成两条不同的线路时,这个选项会非常有用. 情景: 比如项目 demo 下有两个小组,svn 下有一个 trunk ...

  7. Django如何把数据库里的html格式输出到前端

    只需在HTML页面中加入{% autoescape off %}即可! {% autoescape off %} 需要显示的数据 (% endautoescap %}

  8. 一种BIM缺失多态性介导的酪氨酸激酶抑制剂的耐药性

    论文名称:A common BIM deletion polymorphism mediates intrinsic resistance and inferior responses to tyro ...

  9. Secondary ,Supplementary alignment 和bwa mem的-M -Y参数

    1.supplementary alignment supplementary alignment是指一条read的一部分和参考区域1比对成功,另一部分和参考区域2比对成功,参考区域1和参考区域2没有 ...

  10. kali 2016:mount ntfs 分区只读 --Falling back to read-only mount because the NTFS partition is in an unsafe state.

    mount ntfs 分区 mount /dev/sdb1 /mnt/d 提示: The disk contains an unclean file system (0, 0).Metadata ke ...