Oracle备份和恢复常见问题解答.doc_第1页
Oracle备份和恢复常见问题解答.doc_第2页
Oracle备份和恢复常见问题解答.doc_第3页
Oracle备份和恢复常见问题解答.doc_第4页
Oracle备份和恢复常见问题解答.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Oracle备份和恢复常见问题解答 在这里多备份给大家总结了一些Oracle备份和恢复常见问题,大家都认真看看吧。有需要的就收藏起来! Q如何开启/关闭归档A如果开启归档,请保证log_archive_start=true开启自动归档,否则只能手工归档,如果是关闭了归档,则设置该参数为false注意:如果是OPS/RAC环境,需要先把parallel_server = true注释掉,然后执行如下步骤,最后用这个参数重新启动1、开启归档a. 关闭数据库shutdown immediateb. startup mountc. alter database archivelogd. alter database opne2、禁止归档a. 关闭数据库shutdown immediateb. startup mountc. alter database noarchivelogd. alter database open归档信息可以通过如下语句查看SQL archive log listDatabase log mode Archive ModeAutomatic archival EnabledArchive destination E:oracleora92databasearchiveOldest online log sequence 131Next log sequence to archive 133Current log sequence 133Q怎样设置定时归档A9i以上版本,保证归档的最小间隔不超过n秒设置Archive_lag_target = n单位:秒 范围:07200Q不同版本怎么导出/导入A导出用低版本,导入用当前版本如果版本跨越太大,需要用到中间版本过渡Q不同的字符集之前怎么导数据Aa.前条件是保证导出/导入符合其他字符集标准,如客户环境与数据库字符集一致。b.修改dmp文件的2、3字节为目标数据库的字符集,注意要换成十六进制。参考函数(以下函数中的ID是十进制的):nls_charset_name 根据字符集ID获得字符集名称nls_charset_id 根据字符集名称获得字符集IDQ怎么样备份控制文件A再线备份为一个二进制的文件alter database backup controlfile to $BACKUP_DEPT/controlfile.000 reuse;备份为文本文件方式alter database backup controlfile to trace resetlogs|noresetlogs;Q控制文件损坏如何恢复A1、如果是损坏单个控制文件只需要关闭数据库,拷贝一个好的数据文件覆盖掉坏的数据文件即可或者是修改init.ora文件的相关部分2、如果是损失全部控制文件,则需要创建控制文件或从备份恢复创建控制文件的脚本可以通过alter database backup controlfile to trace获取。Q怎么样热备份一个表空间AAlter tablespace 名称 begin backup;host cp 这个表空间的数据文件 目的地;Alter tablespace 名称 end backup;如果是备份多个表空间或整个数据库,只需要一个一个表空间的操作下来就可以了。Q怎么快速得到整个数据库的热备脚本A可以写一段类似的脚本SQLset serveroutput onbegindbms_output.enable(10000);for bk_ts in (select distinct t.ts#, from v$tablespace t,v$datafile d where t.ts#=d.ts#) loopdbms_output.put_line(-|bk_);dbms_output.put_line(alter tablespace |bk_| begin backup;);for bk_file in (select file#,name from v$datafile where ts#=bk_ts.ts#) loopdbms_output.put_line(host cp |bk_| $BACKUP_DEPT/);end loop;dbms_output.put_line(alter tablespace |bk_| end backup;);end loop;end;/Q丢失一个数据文件,但是没有备份,怎么样打开数据库A如果没有备份只能是删除这个数据文件了,会导致相应的数据丢失。SQLstartup mount-ARCHIVELOG模式命令SQLAlter database datafile file name offline;-NOARCHIVELOG模式命令SQLAlter database datafile file name offline drop;SQLlAlter database open;注意:该数据文件不能是系统数据文件Q丢失一个数据文件,没有备份但是有该数据文件创建以来的归档怎么恢复A保证如下条件a. 不能是系统数据文件b. 不能丢失控制文件如果满足以上条件,则SQLstartup mountSQLAlter database create datafile file name as file name size . reuse;SQLrecover datafile n; -文件号或者SQLrecover datafile file name;或者SQLrecover database;SQLAlter database open;Q联机日志损坏如何恢复A1、如果是非当前日志而且归档,可以使用Alter database clear logfile group n来创建一个新的日志文件如果该日志还没有归档,则需要用Alter database clear unarchived logfile group n2、如果是当前日志损坏,一般不能clear,则可能意味着丢失数据如果有备份,可以采用备份进行不完全恢复如果没有备份,可能只能用_allow_resetlogs_corruption=true来进行强制恢复了,但是,这样的方法是不建议的,最好在有Oracle support的指导下进行。Q怎么样创建RMAN恢复目录A首先,创建一个数据库用户,一般都是RMAN,并给予recovery_catalog_owner角色权限sqlplus sysSQL create user rman identified by rman;SQL alter user rman default tablespace tools temporary tablespace temp;SQL alter user rman quota unlimited on tools;SQL grant connect, resource, recovery_catalog_owner to rman;SQL exit;然后,用这个用户登录,创建恢复目录rman catalog rman/rmanRMAN create catalog tablespace tools;RMAN exit;最后,你可以在恢复目录注册目标数据库了rman catalog rman/rman target backdba/backdbaRMAN register database;Q怎么样在恢复的时候移动数据文件,恢复到别的地点A给一个RMAN的例子run set until time Jul 01 1999 00:05:00;allocate channel d1 type disk;set newname for datafile /u04/oracle/prod/sys1prod.dbfto /u02/oracle/prod/sys1prod.dbf;set newname for datafile /u04/oracle/prod/usr1prod.dbfto /u02/oracle/prod/usr1prod.dbf;set newname for datafile /u04/oracle/prod/tmp1prod.dbfto /u02/oracle/prod/tmp1prod.dbf;restore controlfile to /u02/oracle/prod/ctl1prod.ora;replicate controlfile from /u02/oracle/prod/ctl1prod.ora;restore database;sql alter database mount;switch datafile all;recover database;sql alter database open resetlogs;release channel d1;Q怎么从备份片(backuppiece)中恢复(restore)控制文件与数据文件A可以使用如下方法,在RMAN中恢复备份片的控制文件restore controlfile from backuppiecefile;如果是9i的自动备份,可以采用如下的方法restore controlfile from autobackup;但是,如果控制文件全部丢失,需要指定DBID,如SET DBID=?自动备份控制文件的默认格式是%F,这个格式的形式为c-IIIIIIIIII-YYYYMMDD-QQ,其中IIIIIIIIII就是DBID至于恢复(restore)数据文件,oracle 816开始有个包dbms_backup_restore在 nomount 状态下就可以执行,可以读 815甚至之前的备份片,读出来的文件用于恢复可以在SQLPLUS中运行,如下SQLstartup nomountSQL DECLARE2 devtype varchar2(256);3 done boolean;4 BEGIN5 devtype := dbms_backup_restore.deviceallocate(, params=);6 dbms_backup_restore.restoresetdatafile;7 dbms_backup_restore.restorecontrolfileto(E:Oracleoradatapennycontrol01.ctl);8 dbms_backup_restore.restoreDataFileto(1,E:Oracleoradatapennysystem01.dbf);9 dbms_backup_restore.restoreDataFileto(2,E:OracleoradatapennyUNDOTBS01.DBF);10 dbms_backup_restore.restoreDataFileto(3,E:ORACLEORADATAPENNYUSERS01.DBF);11 dbms_backup_restore.restorebackuppiece(D:orabakBACKUP_1_4_04F4IAJT.PENNY,done=done);12 END;13 /PL/SQL 过程已成功完成。SQL alter database mount;QRman的format格式中的%s类似的东西代表什么意义A可以参考如下%c 备份片的拷贝数%d 数据库名称%D 位于该月中的第几天 (DD)%M 位于该年中的第几月 (MM)%F 一个基于DBID唯一的名称,这个格式的形式为c-IIIIIIIIII-YYYYMMDD-QQ,其中IIIIIIIIII为该数据库的DBID,YYYYMMDD为日期,QQ是一个1-256的序列%n 数据库名称,向右填补到最大八个字符%u 一个八个字符的名称代表备份集与创建时间%p 该备份集中的备份片号,从1开始到创建的文件数%U 一个唯一的文件名,代表%u_%p_%c%s 备份集的号%t 备份集时间戳%T 年月日格式(YYYYMMDD)Q执行exec dbms_logmnr_d.build(Logminer.ora,file directory),提示下标超界,怎么办A完整错误信息如下,SQL exec dbms_logmnr_d.build(Logminer.ora,file directory)BEGIN dbms_logmnr_d.build(Logminer.ora,file directory); END;*ERROR 位于第 1 行:ORA-06532: 下标超出限制ORA-06512: 在SYS.DBMS_LOGMNR_D, line 793ORA-06512: 在line 1解决办法为:1.编辑位于$ORACLE_HOME/rdbms/admin目录下的文件dbmslmd.sql改变行:TYPE col_desc_array IS VARRAY(513) OF col_description;为TYPE col_desc_array IS VARRAY(700) OF col_description;并保存文件2. 运行改变后的脚本SQLPLUS Connect internalSQLPLUS $ORACLE_HOME/rdbms/admin/dbmslmd.sql3.重新编译该包SQLPLUS alter package DBMS_LOGMNR_D compile body;Q执行execute dbms_logmnr.start_logmnr(Dic

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论