知识大全 Oracle FAQ 之备份与恢复篇

Posted 文件

篇首语:寸阳分阴须爱惜,休负春色与时光。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Oracle FAQ 之备份与恢复篇相关的知识,希望对你有一定的参考价值。

Oracle FAQ 之备份与恢复篇  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  [Q]如何开启/关闭归档  [A]如果开启归档 请保证log_archive_start=true开启自动归档 否则只能手工归档 如果是关闭了归档 则设置该参数为false  注意 如果是OPS/RAC环境 需要先把parallel_server = true注释掉 然后执行如下步骤 最后用这个参数重新启动   开启归档  a 关闭数据库shutdown immediate  b startup mount  c alter database archivelog  d alter database opne   禁止归档  a 关闭数据库shutdown immediate  b startup mount  c alter database noarchivelog  d alter database open  归档信息可以通过如下语句查看  SQL> archive log list  Database log mode Archive Mode  Automatic archival Enabled  Archive destination E:\\oracle\\ora \\database\\archive  Oldest online log sequence   Next log sequence to archive   Current log sequence     [Q]怎样设置定时归档  [A] i以上版本 保证归档的最小间隔不超过n秒  设置Archive_lag_target = n   单位 秒 范围 ~     [Q]不同版本怎么导出/导入  [A]导出用低版本 导入用当前版本  如果版本跨越太大 需要用到中间版本过渡    [Q]不同的字符集之前怎么导数据  [A]a 前条件是保证导出/导入符合其他字符集标准 如客户环境与数据库字符集一致   b 修改dmp文件的 字节为目标数据库的字符集 注意要换成十六进制   参考函数(以下函数中的ID是十进制的)   nls_charset_name 根据字符集ID获得字符集名称  nls_charset_id 根据字符集名称获得字符集ID    [Q]怎么样备份控制文件  [A]再线备份为一个二进制的文件  alter database backup controlfile to $BACKUP_DEPT/controlfile [reuse];  备份为文本文件方式  alter database backup controlfile to trace [resetlogs|noresetlogs];     [Q]控制文件损坏如何恢复  [A] 如果是损坏单个控制文件  只需要关闭数据库 拷贝一个好的数据文件覆蓋掉坏的数据文件即可  或者是修改init ora文件的相关部分   如果是损失全部控制文件 则需要创建控制文件或从备份恢复  创建控制文件的脚本可以通过alter database backup controlfile to trace获取     [Q]怎么样热备份一个表空间  [A]Alter tablespace 名称 begin backup;  host cp 这个表空间的数据文件 目的地;  Alter tablespace 名称 end backup;  如果是备份多个表空间或整个数据库 只需要一个一个表空间的操作下来就可以了     [Q]怎么快速得到整个数据库的热备脚本  [A]可以写一段类似的脚本  SQL>set serveroutput on  begin  dbms_output enable( );  for bk_ts in (select distinct t ts# t name from v$tablespace t v$datafile d where t ts#=d ts#) loop  dbms_output put_line( ||bk_ts name);  dbms_output put_line( alter tablespace ||bk_ts name|| begin backup; );  for bk_file in (select file# name from v$datafile where ts#=bk_ts ts#) loop  dbms_output put_line( host cp ||bk_file name|| $BACKUP_DEPT/ );  end loop;  dbms_output put_line( alter tablespace ||bk_ts name|| end backup; );  end loop;  end;  /    [Q]丢失一个数据文件 但是没有备份 怎么样打开数据库  [A]如果没有备份只能是删除这个数据文件了 会导致相应的数据丢失   SQL>startup mount   ARCHIVELOG模式命令  SQL>Alter database datafile file name offline;   NOARCHIVELOG模式命令  SQL>Alter database datafile file name offline drop;  SQLl>Alter database open;  注意 该数据文件不能是系统数据文件    [Q]丢失一个数据文件 没有备份但是有该数据文件创建以来的归档怎么恢复  [A]保证如下条件  a 不能是系统数据文件  b 不能丢失控制文件  如果满足以上条件 则  SQL>startup mount  SQL>Alter database create datafile file name as file name size reuse;  SQL>recover datafile n; 文件号  或者  SQL>recover datafile file name ;  或者  SQL>recover database;  SQL>Alter database open;    [Q]联机日志损坏如何恢复  [A] 如果是非当前日志而且归档 可以使用  Alter database clear logfile group n来创建一个新的日志文件  如果该日志还没有归档 则需要用  Alter database clear unarchived logfile group n   如果是当前日志损坏 一般不能clear 则可能意味着丢失数据  如果有备份 可以采用备份进行不完全恢复  如果没有备份 可能只能用_allow_resetlogs_corruption=true来进行强制恢复了 但是 这样的方法是不建议的 最好在有Oracle support的指导下进行     [Q]怎么样创建RMAN恢复目录  [A]首先 创建一个数据库用户 一般都是RMAN 并给予recovery_catalog_owner角色权限  sqlplus sys  SQL> 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/rman  RMAN> create catalog tablespace tools;  RMAN> exit;  最后 你可以在恢复目录注册目标数据库了  rman catalog rman/rman target backdba/backdba  RMAN> register database;    [Q]怎么样在恢复的时候移动数据文件 恢复到别的地点  [A]给一个RMAN的例子  run   set until time Jul : : ;  allocate channel d type disk;  set newname for datafile /u /oracle/prod/sys prod dbf   to /u /oracle/prod/sys prod dbf ;  set newname for datafile /u /oracle/prod/usr prod dbf   to /u /oracle/prod/usr prod dbf ;  set newname for datafile /u /oracle/prod/tmp prod dbf   to /u /oracle/prod/tmp prod dbf ;  restore controlfile to /u /oracle/prod/ctl prod ora ;  replicate controlfile from /u /oracle/prod/ctl prod ora ;  restore database;  sql alter database mount ;  switch datafile all;  recover database;  sql alter database open resetlogs ;  release channel d ;      [Q]怎么从备份片(backuppiece)中恢复(restore)控制文件与数据文件  [A]可以使用如下方法 在RMAN中恢复备份片的控制文件  restore controlfile from backuppiecefile;  如果是 i的自动备份 可以采用如下的方法   restore controlfile from autobackup;   但是 如果控制文件全部丢失 需要指定DBID 如SET DBID=?  自动备份控制文件的默认格式是%F 这个格式的形式为   c IIIIIIIIII YYYYMMDD QQ 其中IIIIIIIIII就是DBID  至于恢复(restore)数据文件 oracle 开始有个包dbms_backup_restore   在 nomount 状态下就可以执行 可以读 甚至之前的备份片 读出来的文件用于恢复   可以在SQLPLUS中运行 如下  SQL>startup nomount   SQL> DECLARE    devtype varchar ( );    done boolean;    BEGIN    devtype := dbms_backup_restore deviceallocate( params=> );    dbms_backup_restore restoresetdatafile;    dbms_backup_restore restorecontrolfileto( E:\\Oracle\\oradata\\penny\\control ctl );    dbms_backup_restore restoreDataFileto( E:\\Oracle\\oradata\\penny\\system dbf );    dbms_backup_restore restoreDataFileto( E:\\Oracle\\oradata\\penny\\UNDOTBS DBF );    dbms_backup_restore restoreDataFileto( E:\\ORACLE\\ORADATA\\PENNY\\USERS DBF );    dbms_backup_restore restorebackuppiece( D:\\orabak\\BACKUP_ _ _ F IAJT PENNY done=>done);    END;    /   PL/SQL 过程已成功完成   SQL> alter database mount;     [Q]Rman的format格式中的%s类似的东西代表什么意义  [A]可以参考如下  %c 备份片的拷贝数   %d 数据库名称   %D 位于该月中的第几天 (DD)   %M 位于该年中的第几月 (MM)   %F 一个基于DBID唯一的名称 这个格式的形式为c IIIIIIIIII YYYYMMDD QQ 其中IIIIIIIIII为该数据库的DBID YYYYMMDD为日期 QQ是一个 的序列   %n 数据库名称 向右填补到最大八个字符   %u 一个八个字符的名称代表备份集与创建时间   %p 该备份集中的备份片号 从 开始到创建的文件数  %U 一个唯一的文件名 代表%u_%p_%c   %s 备份集的号   %t 备份集时间戳   %T 年月日格式(YYYYMMDD)   cha138/Article/program/Oracle/201311/17579

相关参考

知识大全 RMAN(备份与恢复管理器)

Oracle数据库备份与恢复之四:RMAN(备份与恢复管理器)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来

知识大全 Oracle备份与恢复案例二

Oracle备份与恢复案例二  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  检查数据库的数据(完

知识大全 Oracle备份与恢复案例一

Oracle备份与恢复案例一  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一理解什么是数据库恢

知识大全 Oracle数据库备份与恢复

Oracle数据库备份与恢复  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一导出/导入(Exp

知识大全 oracle数据库备份与恢复apieceofcake(4)

  oracle数据库日志备份(windows平台)  本片是接上次的数据库在线备份进行数据库全备份后需要备份归档的日志文件  建立数据库备份的脚本  在上面建立的目录下建立如下的两个脚本  建立执行

知识大全 实战Oracle数据库备份与恢复

实战Oracle数据库备份与恢复  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  用户可以留意一下

知识大全 Oracle数据库的备份与恢复

Oracle数据库的备份与恢复  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  河南省新乡市电信局

知识大全 ORACLE之常用FAQ V1.0

ORACLE之常用FAQV1.0  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  第一部分SQL&

知识大全 Oracle数据库备份与恢复精华资料集锦

Oracle数据库备份与恢复精华资料集锦  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!主要介绍了O

知识大全 Oracle数据库的备份与恢复的三种方法

Oracle数据库的备份与恢复的三种方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Orac