Oracle的导出和导入
(摘自: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的导出和导入的更多相关文章
- oracle如何导出和导入数据库表
oracle如何导出和导入数据库表 oracle如何将项目中的表导出后在导入自己的数据库中,这是一个完整的操作,对于数据库备份或在本地查看数据验证数据进场用到,一般情况下我都用dos黑窗口进行操作,简 ...
- oracle如何导出和导入数据库/表
oracle如何导出和导入数据库/表 oracle如何将项目中的表导出后在导入自己的数据库中,这是一个完整的操作,对于数据库备份或在本地查看数据验证数据进场用到,一般情况下我都用dos黑窗口进行操作, ...
- 利用PL/SQL从Oracle数据库导出和导入数据
转自:https://www.jb51.net/article/109768.htm 本文实例为大家分享了使用PL/SQL从Oracle数据库导出和导入数据的方法,供大家参考,具体内容如下 1.导出数 ...
- oracle、导出、导入
一.数据库导入: No1.查询所有表中那些是空表. select table_name from user_tables where NUM_ROWS=0; No2.拼接字符串生成SQL执行语句. s ...
- oracle数据导出以及导入
导出 1.服务器上mkdir创建一个真实目录/home/oracle/dump 2.sqlplus /nolog 3.conn /as sysdba; 4.SQL> create directo ...
- oracle数据库导出与导入
一.查询导出库的字符集 3个 1.查询oracle server端的字符集 SQL>select userenv('language') from dual; USERENV('LANGUAGE ...
- oracle 数据库 导出与导入 expdb和impdb使用方法 (服务器本机)
expdb 与exp 导出数据有区异,exp 无法导出空值表,用于客户端,expdb 只用于服务器端.备份出来的数据可再远程传输到另外一台linux 实现异地备份! 一 关于expdp和impdp ...
- Oracle 12导出、导入数据
Precondition: complete the work described in Oracle 12 创建新的数据库实例.用户 1. export data under user " ...
- oracle的dmp数据文件的导出和导入以及创建用户
关于dmp文件我们用的还是比较多的,dmp文件它是作为oracle导入和导出表使用的文件格式,今天就将dmp文件导出和导入进行学习. dmp文件导出 dmp文件导出用的比较多的一般是三种,他们分别是: ...
随机推荐
- Leetcode注意
List<List<Integer>> res = new ArrayList<>();
- QT解析嵌套JSON表达式
QT5开发环境集成了解析JSON表达式的库.使用很方便. 友情提示一下,好像在QT4环境里.须要到官网下载相关的库文件才干使用解析功能.话不多说,上代码 1.在pro文件里增加 QT += scrip ...
- Maven学习笔记—私服(包含maven的setting.xml配置)
为什么要用远程仓库(私服) 如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下载构件,这样就加大了中央仓库 ...
- linux环境配置时钟同步ntpd服务
配置: 服务器1:192.168.169.139 服务器2:192.168.169.140 服务器3:192.168.169.141 目的:NTP能与互联网的时间保持同步,而且本身也是一台NTP服务器 ...
- C#转义字符(好记性不如烂笔头)
C#转义字符: ·一种特殊的字符常量:·以反斜线"\"开头,后跟一个或几个字符.·具有特定的含义,不同于字符原有的意义,故称“转义”字符.·主要用来表示那些用一般字符不便于表示的控 ...
- 20145219 《Java程序设计》实验一 Java开发环境的熟悉(Linux + Eclipse)实验报告
20145219 <Java程序设计>实验一 Java开发环境的熟悉(Windws + IDEA)实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用IDEA 编辑. ...
- C++中的内存区[译文]
C++ 中的内存区 Const Data: The const data area stores string literals and other data whose values are kno ...
- Git如何进行分支管理?
Git如何进行分支管理? 1.创建分支 创建分支很简单:git branch <分支名> 2.切换分支 git checkout <分支名> ...
- Linux 通过进程Pid与端口互查
ps -aux 状态详解 https://blog.csdn.net/whatday/article/details/54409387. linux下通过进程名查看其占用端口: https://www ...
- Windows安装Ubuntu桌面操作系统到移动硬盘中以及错误解决
用到的工具:U盘一个(usb3.0,你懂的),移动硬盘(我这个是笔记本里面取出来的机械硬盘装上的盒子) 第一步:下载Ubuntu系统iso镜像文件 下载Ubuntu系统iso镜像文件,由于我是新手,下 ...