oracle数据库exp/imp命令详解
oracle数据库exp/imp命令详解 exp/imp命令详解 exp/imp两个命令可以说是oracle中最常用的命令了. ORACLE数据库有两类备份方法。第一类为物理备份,该方法实现数据库的完整恢复,但 数据库必须运行在归挡模式下(业务数据库在非归挡模式下运行),且需要极大的外部 存储设备,例如磁带库;第二类备份方式为逻辑备份,业务数据库采用此种方式,此方 法不需要数据库运行在归挡模式下,不但备份简单,而且可以不需要外部存储设备。 数据库逻辑备份方法 ORACLE数据库的逻辑备份分为三种模式:表备份、用户备份和完全备份。 表模式 备份某个用户模式下指定的对象(表)。业务数据库通常采用这种备份方式。 若备份到本地文件,使用如下命令: 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
wk_ad_begin({pid : 21});wk_ad_after(21, function(){$('.ad-hidden').hide();}, function(){$('.ad-hidden').show();});
注:在磁盘空间允许的情况下,应先备份到本地服务器,然后再拷贝到磁带。出于速度 方面的考虑,尽量不要直接备份到磁带设备。 用户模式 备份某个用户模式下的所有对象。业务数据库通常采用这种备份方式。 若备份到本地文件,使用如下命令: 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 注:如果磁盘有空间,建议备份到磁盘,然后再拷贝到磁带。如果数据库数据量较小, 可采用这种办法备份。 完全模式 备份完整的数据库。业务数据库不采用这种备份方式。备份命令为: 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=increment al参数。 2. 用户必须有EXP_FULL_DATABASE的系统角色。 3. 话务量较小时方可采用数据库备份。 4. 如果磁盘有空间,建议备份到磁盘,然后再备份到磁带。 业务数据库备份方法及周期 用EXP进行备份前,先在SYS用户下运行CATEXP.SQL文件(如果以前已运行该文件,则不 要执行这个脚本)。 没有特殊说明,不允许在客户端执行备份命令。 备份命令参照表模式下的备份命令。 从磁盘文件备份到磁带 如果首先备份到本地磁盘文件,则需要转储到磁带设备上。 1. 若需查看主机上配置的磁带设备,使用如下命令: lsdev -Cc tape
显示的结果如下例所示: rmt0 Available 30-58-00-2,0 SCSI 4mm Tape Drive rmt1 Defined 30-58-00-0,0 SCSI 4mm Tape Drive 标明Available的设备是可用的磁带设备。 2. 若需查看磁带存储的内容,使用如下命令: tar -tvf /dev/rmt0 显示的结果如下例所示: -rw-r--r-- 300 400 8089600 Jan 11 14:33:57 2001 exp_icdmain_20010111.dmp 如果显示类似如下内容,则表示该磁带存储的备份数据是从数据库直接备份到磁带上, 而非从本地磁盘转储到磁带的备份文件,因此操作系统无法识别。 tar: 0511-193 An error occurred while reading from the media. There is an input or output error. 或 tar: 0511-169 A directory checksum error on media; -267331077 not equal to 2 5626. 3. 对于新磁带或无需保留现存数据的磁带,使用如下命令: tar -cvf /dev/rmt0 exp_icdmain_yyyymmdd.dmp 注:A. 该命令将无条件覆盖磁带上的现存数据。 B. 文件名不允许包含路径信息,如:/backup/exp_icdmain_yyyymmdd.dmp。 4. 对于需要保留现存数据的磁带,使用如下命令:
tar -rvf /dev/rmt0 exp_icdmain_yyyymmdd.dmp 注:该命令将文件exp_icdmain_yyyymmdd.dmp追加到磁带的末端,不会覆盖现存的数据 。 特别强调:如果备份时是从数据库直接备份到磁带上,则不可再向该磁带上追加复制任 何其他文件,否则该备份数据失效。 5. 若需将转储到磁带上的备份文件复制到本地硬盘,使用如下命令: A. 将磁带上的全部文件复制到本地硬盘的当前目录 tar -xvf /dev/rmt0 B. 将磁带上的指定文件复制到本地硬盘的当前目录 tar -xvf /dev/rmt0 exp_icdmain_yyyymmdd.dmp 备份时间安排 由于备份时对系统I/O有较大影响,所以,建议在晚上11点以后进行备份工作。 业务数据库Oracle版本的恢复 恢复方案需根据备份方案确定。由于业务数据库采用表备份和用户备份相结合的方案, 所以业务数据库的恢复需根据实际情况采用表恢复和用户恢复相结合的方案。 恢复方案 数据库的逻辑恢复分为表恢复、用户恢复、完全恢复三种模式。 表模式 此方式将根据按照表模式备份的数据进行恢复。 A. 恢复备份数据的全部内容 若从本地文件恢复,使用如下命令: imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n
此方式将根据按照表模式备份的数据进行恢复。 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 用户模式 此方式将根据按照用户模式备份的数据进行恢复。 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 完全模式 如果备份方式为完全模式,采用下列恢复方法: 若从本地文件恢复,使用如下命令: 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 参数说明 1. ignore参数
Oracle在恢复数据的过程中,当恢复某个表时,该表已经存在, 就要根据ignore参数的设置来决定如何操作。 若ignore=y,Oracle不执行CREATE TABLE语句,直接将数据 插入到表中,如果插入的记录违背了约束条件,比如主键约束, 则出错的记录不会插入,但合法的记录会添加到表中。 若ignore=n,Oracle不执行CREATE TABLE语句,同时也不会 将数据插入到表中,而是忽略该表的错误,继续恢复下一个表。 2. indexes参数 在恢复数据的过程中,若indexes=n,则表上的索引不会被恢复 ,但是主键对应的唯一索引将无条件恢复,这是为了保证数据 的完整性。 字符集转换 对于单字节字符集(例如US7ASCII),恢复时,数据库自动转 换为该会话的字符集(NLS_LANG参数);对于多字节字符集 (例如ZHS16CGB231280),恢复时,应尽量使字符集相同 (避免转换),如果要转换,目标数据库的字符集应是输出数 据库字符集的超集。 恢复方法 业务数据库采用表恢复方案。在用IMP进行恢复前,先在SYS 用户下运行CATEXP.SQL文件(如果以前已运行该文件,则 不要执行这个脚本),然后执行下列命令: IMP ICDMAIN/ICD FILE=文件名 LOG=LOG文件名 ROWS=Y
COMMIT=Y BUFFER=Y IGNORE=Y TABLES=表名 注:要恢复的表名参照备份的表名 。恢复是在原表基础上累加数据 。没有特殊说明,不允许在客户端执行恢复命令
oracle数据库exp/imp命令详解的更多相关文章
- oracle exp/imp命令详解
E:\>exp help=y 通过输入 EXP 命令和用户名/口令,您可以 在用户 / 口令之后的命令: 实例: EXP SCOTT/TIGER 或者,您也可以通过输入跟有各种参数的 EXP 命 ...
- Oracle中用exp/imp命令参数详解【转】
Oracle中用exp/imp命令参数详解 [用 exp 数 据 导 出]:1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中 exp sy ...
- oracle中imp命令详解 .
转自http://www.cnblogs.com/songdavid/articles/2435439.html oracle中imp命令详解 Oracle的导入实用程序(Import utility ...
- oracle数据库的完整性约束规则详解
CSDN日报20170303--<百亿互金平台救火故事> 程序员2月书讯 社区有奖问答--一起舞动酷炫的iOS动画 基于Spark的分布式深度学习和认知计算 oracle数据库的完 ...
- oracle数据库中 impdb/expdb 详解
创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建.create directory dpdata as 'd:\test\dump'; 二.查看管理理员目录(同时查看操 ...
- Oracle中用exp/imp命令快速导入导出数据
from: http://blog.csdn.net/wangchunyu11155/article/details/53635602 [用 exp 数 据 导 出]: 1 将数据库TEST完全导出, ...
- Oracle基础 exp/imp命令
一.导出方式: 使用exp/imp方式导出数据分为四种方式: 1.表方式导出:一个或多个指定的表,包括表的定义.表数据.表的所有者授权.表索引.表约束,以及创建在该表上的触发器.也可以只导出结构,不导 ...
- C# Oracle数据库操作类实例详解
本文所述为C#实现的Oracle数据库操作类,可执行超多常用的Oracle数据库操作,包含了基础数据库连接.关闭连接.输出记录集.执行Sql语句,返回带分页功能的dataset .取表里字段的类型和长 ...
- oracle数据库tns配置方法详解
TNS简要介绍与应用 Oracle中TNS的完整定义:transparence Network Substrate透明网络底层,监听服务是它重要的一部分,不是全部,不要把TNS当作只是监听器. TNS ...
随机推荐
- IE9的BUG?jQuery的BUG?
本文转载自http://big-student.iteye.com/blog/1898213 在IE9和IE10中,当对一个html的样式初始了一个很大的left或者top时,使用jQuery的off ...
- nginx_笔记分享_php-fpm详解
参考 http://syre.blogbus.com/logs/20092011.htmlhttp://www.mike.org.cn/articles/what-is-cgi-fastcgi-php ...
- Apache的配置
Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.conf文件中修改. 主站点的配置(基本配置) (1) 基本配置: ServerRoot "/mnt/s ...
- LNMP笔记:域名重定向、读写权限、显示WP主题、北京时间
边写边记,以后还会用到的. 将 xxx.com 重定向到 www.xxx.com 1.打开 /usr/local/nginx/conf/vhost/你网站的域名.com.conf 2.查看原有的 se ...
- MVC 使用AJAX POST上传图片的方式
我们来总结一下使用AJAX以POST方式上传图片的方法. 一.普遍的一种是以file的格式请求.在Request.Files中获取文件. public ActionResult UploadFile( ...
- 转:C语言申请内存时堆栈大小限制
一直都有一个疑问,一个进程可以使用多大的内存空间,swap交换空间以及物理内存的大小,ulimit的stack size对进程的内存使用有怎样的限制?今天特亲自动手实验了一次,总结如下: 开辟一片内存 ...
- 使用__autoload()来管理文件导入
其基本思想是把要使用到的其他资源文件统一使用__autoload()方法来管理,我们在使用的时候只需要引入包含__autoload()方法的文件即可.其对性能的影响是微乎其微的,但是带来的好处是巨大的 ...
- Gridview中修改某列的背景色
Gridview中状态列的值是1,某列的背景是是绿色状态字段是:archivesStatus protected void gvInfo_RowDataBound(object sender, Gri ...
- 通过 iTextSharp 实现PDF 审核盖章
最近需要做一个PDF自动审核盖章的工作,其实就是读取PDF,然后再最后一页加入一个审核章印图片上去.看起来很简单,不过在开发过程中,还是遇到了一些问题,在这里记录一下. 主要遇到的问题是页面的旋转 和 ...
- 黑马程序员_JavaIO流(二)
字符流的缓冲区 缓冲区的出现提高了对数据的读写效率. 对应类: BufferedWriter BufferedReader 缓冲区要结合流才可以使用. 在流的基础上对流的功能进行了增强. Buffer ...