11.EXP/IMP(导出与导入,装库与卸库)61.1基本命令61.获取帮助62.三种工作方式63.三种模式1.2高级选项1.分割成多个文件2.增量导出/导入3.以SYSDBA进行导出/导入4.表空间传输(速度快)1.3优化1.加快exp速度2.加快imp速度3.通过unix/LinuxPIPE管道加快exp/imp速度4.全库导入的一般步骤1.4常见问题1.字符集问题2.版本问题2.SQL*LOADER2.1基本知识1.命令格式2.控制文件3.数据文件4.坏文件5.日志文件及日志信息2.2高级选项1.ConventionalPathLoad与DirectPathLoad2.SPOOL导出文本数据方法2.3脚本1.将表中数据记录导出为字段值用分隔符'|'分开的dat文件2.将数据导入到相应表中3.OS备份/用户管理的备份与恢复(USERMANAGEDBACKUPANDRECOVERY)3.1相关设置3.1.1设置ARCHIVELOG与NONARCHIVELOG模式3.1.2LOGGING与NOLOGGING3.1.3归档路径3.2NONARCHIVELOG模式3.2.1脱机冷备与恢复3.2.2案例3.3ARCHIVELOG模式3.3.1脱机冷备与恢复3.3.2联机热备3.3.3联机热备的恢复3.3.3.1完全恢复23.3.3.2不完全恢复3.4分类案例3.4.1控件文件的备份与恢复3.4.2联机日志文件的备份与恢复3.4.3回滚数据文件的恢复3.4.5临时数据文件的恢复4.RMAN(备份与恢复管理器)4.1基本知识4.1.1RMAN的组件、概念4.1.2RMAN的使用:命令行接口与脚本1.使用不带恢复目录的RMAN2.使用带恢复目录的RMAN3.命令行接口4.使用脚本5.运行OS命令6.执行SQL语句4.2RMAN的配置4.2.1建立RecoveryCatalog恢复目录4.2.2查看RMAN的默认设置SHOW命令4.2.3配置RMAN的默认设置1.配置备份集文件的格式(format)2.配置默认IO设备类型(devicetype)3.配置自动分配的通道(Chanel)4.配置默认的保存策略(RetentionPolicy)5.配置多个备份的拷贝数目(backupcopies)6.设置并行备份(ARALLELISM)7.设置控制文件自动备份(autobackupon)8.设置备份优化选项(optimization)4.2.4RMAN会话的设置4.3COPY镜像拷贝与恢复4.3.1备份4.3.2恢复4.4BACKUP备份与恢复4.4.1BACKUP备份命令选项设置标记(TAG)限制备份集大小只备份新增部分备份控制文件同时备份SPFILE备份归档日志(9i)备份完后删除归档日志修改备份集的保存策略重写configureexclude/noexclude跳过脱机的、不可存取的或者只读的数据文件强制备份只读的数据文件3备份指定周期内没有备份的数据文件在备份操作期间检查逻辑讹误4.4.2RESTORE/RECOVER恢复命令选项数据库恢复表空间恢复只读表空间的恢复恢复SPFILE/控制文件归档重做日志的还原数据文件副本还原还原检查与恢复测试从指定的tag恢复:不完全恢复的还原:块级别的恢复4.4.3非归档模式下的BACKUP备份与恢复4.4.3.1全库备份4.4.3.2全库备份的恢复4.4.3.3表空间备份4.4.3.4表空间备份的恢复4.4.3.5备份控制文件4.4.4归档模式下的BACKUP备份与完全恢复4.4.4.1整库备份与恢复4.4.4.3表空间的备份与恢复4.4.4.3数据文件的备份与恢复4.4.4.4归档重做日志的备份与恢复4.4.4.5联机日志的备份4.4.4.6控制文件和服务器参数文件的备份与恢复4.4.4.7备份集的备份的备份与恢复4.4.5归档模式下的不完全恢复4.4.5.1基于SCN的恢复4.4.5.2基于时间的恢复4.4.5.3基于日志序列的恢复4.5.RMAN查看信息LIST与REPORT4.5.1恢复目录相关视图4.5.2RMAN动态性能视图4.5.3List4.5.4ReportRMAN的管理与维护4.6.1加入目录数据库4.6.2恢复目录的建立、升级与删除4.6.3同步或重置CROSSCHECK命令(交叉校验)4.6.4修改备份的可用状态、保存策略Change命令4.6.5查看与删除过时的备份信息4.6.6恢复目录记录的删除44.6.7备份RMAN数据库4.6.8备份检查验证备份的可恢复性4.6.9登记目标数据库:4.6.10注销数据库4.6.11重新启动备份4.6.12脚本及自动运行4.7高级主题4.7.1使用RMAN备份集恢复DB到其他机器(1常规方法)1.准备工作,配置目标DB环境2.目标DB在nomount状态下恢复pfile和controlfile3.启动目标DB到mount,在目标DB上Restore和Recover4.Resetlogs打开目标DB5.重建临时表空间,重建密码文件,立即备份数据库4.7.2使用RMAN备份集恢复DB到其他机器(2复制方法)1.准备工作,配置副本DB环境2.启动副本数据库到nomount下,目录数据库必须MOUNT(或OPEN)3.运行RMAN,分别连接主数据库与副本数据库实例4.运行复制命令5.重建临时表空间,立即备份数据库附:Duplicate复制命令的一些高级用法:4.7.3表空间时间点恢复(TSPITR)1.验证表空间的可传输性2.准备TSPITR的辅助实例(AUXILIARYINSTANCE)3.执行实际的TSPITR4.执行TSPITR后的操作4.7.4块媒体恢复BlockMediaRecovery(BMR)4.7.5使用恢复目录恢复前一个对应物4.7.6RMAN增量备份4.7.7RMAN备份的优化4.7.8DBMS_BACKUP_RESTORE包FLASHBACK5.19IFLASHBACK简介5.1.1原理5.1.2一些限制5.1.3获得SCN或时间点5.1.4启用或禁用flashback查询5.1.5示例:5.210GFLASHBACK的增强6.LOGMINER6.1LOGMINER的用途6.2安装LOGMINER6.3基本对象6.4使用LOGMINER进行分析6.4.1设定用于LogMiner分析的日志文件存放的位置56.4.2生成数据字典文件6.4.3建立日志分析表6.4.4添加用于分析的日志文件6.4.6查看日志分析的结果6.4.7结束LogMiner的分析6Oracle数据库备份与恢复总结关于Oracle数据库的备份与恢复,网上有不少文章。经过了不少项目,以及我在给公司做培训时也有一些总结,现在总结在一起贴出来。以下方法,有一些可能不能完全归纳为备份与恢复,但是作为开发DBA,有时也是很有用的。对于生产库,一般还是推荐使用ARCHIVELOG模式下的OS备份或RMAN方法,要求比较高的可能还必须用到RAC等并行处理的架构,这可是一个很大的主题了,在此不作讨论。这里列出来,只是自己的一个备忘录以备需要时查看,有好多不全面或者不当的地方,欢迎各位补充、批评指正!同时,本文借鉴了网上的一些相关文章,希望大侠们不要见怪,此处一并谢过。?exp/imp(导出与导入装库与卸库)?SQL*Loader?UserManagedBackupandRecovery(用户管理的备份与恢复)?RMAN?Flashback?LogMiner?备份与恢复的规划1.exp/imp(导出与导入,装库与卸库)1.1基本命令1.获取帮助$exphelp=y$imphelp=y2.三种工作方式(1)交互式方式$exp//然后按提示输入所需要的参数(2)命令行方式$expuser/pwd@dbnamefile=/oracle/test.dmpfull=y//命令行中输入所需的参数(3)参数文件方式$expparfile=username.par//在参数文件中输入所需的参数参数文件username.par内容userid=username/userpasswordbuffer=8192000compress=ngrants=yfile=/oracle/test.dmpfull=y3.三种模式(1)表方式,将指定表的数据导出/导入。导出:导出一张或几张表:$expuser/pwdfile=/dir/xxx.dmplog=xxx.logtables=table1,table2导出某张表的部分数据$expuser/pwdfile=/dir/xxx.dmplog=xxx.logtables=table1query=\”wherecol1=\’…\’7andcol2\…\”导入:导入一张或几张表$impuser/pwdfile=/dir/xxx.dmplog=xxx.logtables=table1,table2fromuser=dbusertouser=dbuser2commit=yignore=y(2)用户方式,将指定用户的所有对象及数据导出/导入。导出:$expuser/pwdfile=/dir/xxx.dmplog=xxx.logowner=(xx,yy)只导出数据对象,不导出数据(rows=n)$expuser/pwdfile=/dir/xxx.dmplog=xxx.logowner=userrows=n导入:$impuser/pwdfile=/dir/xxx.dmplog=xxx.logfromuser=dbusertouser=dbuser2commit=yignore=y(3)全库方式,将数据库中的所有对象导出/导入导出:$expuser/pwdfile=/dir/xxx.dmplog=xxx.logfull=ycommit=yignore=y导入:$impuser/pwdfile=/dir/xxx.dmplog=xxx.logfromuser=dbusertouser=dbuser21.2高级选项1.分割成多个文件以多个固定大小文件方式导出:这种做法通常用在表数据量较大,单个dump文件可能会超出文件系统的限制的情况$expuser/pwdfile=1.dmp,2.dmp,3.dmp,…filesize=1000mlog=xxx.logfull=y以多个固定大小文件方式导入$impuser/pwdfile=1.dmp,2.dmp,3.dmp,…filesize=1000mtables=xxxfromuser=dbusertouser=dbuser2commit=yignore=y2.增量导出/导入//oracle9i以后exp不再支持inctype必须为SYS或SYSTEM才可执行增量导出导入增量导出:包括三个类型:(1)“完全”增量导出(Complete)//备份整个数据库$expuser/pwdfile=/dir/xxx.dmplog=xxx.loginctype=complete(2)“增量型”增量导出导出上一次备份后改变的数据。$expuser/pwdfile=/dir/xxx.dmplog=xxx.loginctype=incremental(3)“累计型”增量导出(Cumulative)只导出自上次“完全”导出之后数据库中变化了的信息。$expuser/pwdfile=/dir/xxx.dmplog=xxx.loginctype=cumulative增量导入:$impusr/pwdFULL=yinctype=system/restore/inctype其中:SYSTEM:导入系统对象RESTORE:导入所有用户对象3.以SYSDBA进行导出/导入1.用于Oracle技术支持82.用于表空间传输例:$imp\'usr/pwd@instanceassysdba\'tablespaces=xxtransport_tablespace=yfile=xxx.dmpdatafiles=xxx.dbf$impfile=expdat.dmpuseri