Oracle用户管理的备份与恢复



用户管理的备份与恢复也称OS物理备份, 是指通过数据库命令设置数据库为备份状态,然后用操作系统命令, 拷贝需要备份或恢复的文件。这种备份与恢复需要用户的参与手工或自动完成。
一、归档与非归档
()NONARCHIVELOG模式
1
脱机冷备与恢复
冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数
据库。冷备份是将关键性文件拷贝到另外位置的一种说法。
对于备份Oracle 信息而言,冷备份是最快和最安全的方法。
2 冷备份的优点:
1.是非常快速的备份方法(只需拷贝文件)
2.容易归档(简单拷贝即可)
3.容易恢复到某个时间点上(只需将文件再拷贝回去)
4.能与归档方法相结合,作数据库“ 最新状态” 的恢复。
5.低度维护,高度安全。
3 冷备份的不足:
1.单独使用时,只能提供到“ 某一时间点上” 的恢复。
2.在实施备份的全过程中,数据库必须要作备份而不能作其它工作。也就是说,在
冷备份过程中,数据库必须是关闭状态。
3.若磁盘空间有限,只能拷贝到磁带等其它外部存储设备上,速度会很慢。
4.不能按表或按用户恢复。
如果可能的话(主要看效率),应将信息备份到磁盘上,然后启动数据库(使用户可以
工作)并将所备份的信息拷贝到磁带上(拷贝的同时,数据库也可以工作)。冷备份中必须
拷贝的文件包括:
1.所有数据文件
2.所有控制文件
3.所有联机REDOLOG文件
4.参数化参数Init.ora文件(可选)。 

  1. ARCHIVELOG模式
    1
    脱机冷备与恢复
    NONARCHIVELOG模式
    2 联机热备
    联机热备是在数据库运行的情况下进行备份的方法。热备份要求数据库在Archivelog
    方式下操作,并需要大量的档案空间。
    3 热备份的优点:
    1.可在表空间或数据文件级备份,备份时间短。
    2.备份时数据库仍可使用,支持24*7 不间断运行。
    3.可达到秒级恢复(恢复到某一时间点上)。
    4.可对几乎所有数据库实体作恢复。
    5.恢复是快速的,在大多数情况下在数据库仍工作时恢复。
    4 热备份的不足是:
    1.不能出错,否则后果严重。
    2.若热备份不成功,所得结果不可用于时间点的恢复。
    3.因难于维护,所以要特别仔细小心,不允许“ 以失败而告终”。
    注意: 在热备过程中系统会生成更多的重做日志和回滚数据。所以必须在数据库较
    空闲时才进行备份。 

  1. 非归档模式
    ()、丢失控制文件
    1
    单个控制文件丢失
    这种情况解决方法很简单,只要把多路复用的控制文件拷贝到相应路径就行了。
    2 所有控制文件丢失
    1) 重建控制文件(略)
    2) 使用备份的控制文件进行恢复
    Lastlogin:SatAug 322:58:592013from192.168.21.1
    //登录oracle用户
    [root@oracle~]#su-oracle
    //修改环境变量的实例名
    [oracle@oracle~]$exportORACLE_SID=emrep
    //连接到数据库
    [oracle@oracle~]$sqlplus/as sysdba
    SQL*Plus:Release10.2.0.1.0-ProductiononSatAug323:01:582013
    Copyright(c)1982,2005,Oracle. Allrightsreserved.
    Connectedto:
    OracleDatabase10gEnterpriseEditionRelease10.2.0.1.0-Production
    WiththePartitioning,OLAPandDataMiningoptions
    //备份控制文件(二进制)
    SQL>alter database backup controlfile to
    '/u01/app/oracle/backup/emrep/ctl/2013-8-4/control01.ctl';
    Databasealtered.
    //删除正在使用的控制文件(制造故障)
    SQL>rm-rf /u01/app/oracle/oradata/emrep/*.ctl
    //重启数据库
    SQL>startup force;
    ORACLEinstancestarted.
    TotalSystemGlobalArea 444596224bytes
    FixedSize 1219904bytes
    VariableSize 138412736bytes
    DatabaseBuffers 301989888bytes
    RedoBuffers 2973696bytes
    //观察错误信息
    ORA-00205:errorinidentifyingcontrolfile,checkalertlogformoreinfo 

    //从备份复原控制文件
    SQL>cp/u01/app/oracle/backup/emrep/ctl/2013-8-4/control01.ctl
    /u01/app/oracle/oradata/emrep/.
    SQL>cp/u01/app/oracle/backup/emrep/ctl/2013-8-4/control01.ctl
    /u01/app/oracle/oradata/emrep/control02.ctl
    SQL>cp/u01/app/oracle/backup/emrep/ctl/2013-8-4/control01.ctl
    /u01/app/oracle/oradata/emrep/control03.ctl
    //将数据库开到mount模式
    SQL>alter database mount;
    Databasealtered.
    //打开数据库
    SQL>alter database open;
    alterdatabaseopen
    *
    ERRORatline1:
    ORA-01589:mustuseRESETLOGSorNORESETLOGSoptionfordatabaseopen
    //要求以RESETLOGS或者NORESETLOGS选项打开数据库
    SQL>alter database open resetlogs;
    alterdatabaseopenresetlogs
    *
    ERRORatline1:
    ORA-01194:file1needsmorerecoverytobeconsistent
    ORA-01110:datafile1:'/u01/app/oracle/oradata/emrep/system01.dbf'
    //需要进行介质恢复
    SQL>recover database using backup controlfile;
    ORA-00279:change720303generatedat08/03/201322:55:38neededforthread1
    ORA-00289:suggestion:
    /u01/app/oracle/product/10.2.0/db_1/dbs/arch1_11_822517966.dbf
    ORA-00280:change720303forthread1isinsequence#11
    //查询可知当前的日志文件组
    Specifylog:{<RET>=suggested|filename |AUTO|CANCEL}
    /u01/app/oracle/oradata/emrep/redo01.log
    Logapplied.
    Mediarecoverycomplete.
    //RESETLOGS的方式启动数据库
    SQL>alter database open resetlogs;
    Databasealtered.
    //及时进行全库备份 

  1. 修改数据库结构后丢失所有控制文件
    //备份控制文件
    SQL>alter database backup control file to
    '/u01/app/oracle/backup/emrep/ctl/2013-8-4/control01.ctl';
    Database altered.
    //创建新的表空间(数据文件)
    SQL>create tablespace t1 datafile '/u01/app/oracle/oradata/emrep/t1.dbf' size 10m;
    Table space created.
    //在新的表空间上创建表a
    SQL>create table a(id number) tablespace t1;
    Table created.
    //删除当前的控制文件
    SQL>rm-rf /u01/app/oracle/oradata/emrep/*.ctl
    //重启数据库
    SQL>startupforce;
    ORACLEinstancestarted.
    TotalSystemGlobalArea 444596224bytes
    FixedSize 1219904bytes
    VariableSize 138412736bytes
    DatabaseBuffers 301989888bytes
    RedoBuffers 2973696bytes
    //观察错误信息
    ORA-00205:errorinidentifyingcontrolfile,checkalertlogformoreinfo
    //还原控制文件
    SQL>cp/u01/app/oracle/backup/emrep/ctl/2013-8-4/control01.ctl
    /u01/app/oracle/oradata/emrep/.
    SQL>cp/u01/app/oracle/backup/emrep/ctl/2013-8-4/control01.ctl
    /u01/app/oracle/oradata/emrep/control02.ctl
    SQL>cp/u01/app/oracle/backup/emrep/ctl/2013-8-4/control01.ctl
    /u01/app/oracle/oradata/emrep/control03.ctl
    //将数据库置为mount
    SQL>alter database mount;
    Database altered.
    //要求以RESETLOGS或者NORESETLOGS选项打开数据库
    SQL>alter database open;
    alter database open
    *
    ERRORatline1:
    ORA-01589:mustuseRESETLOGSorNORESETLOGSoptionfordatabaseopen 

     

    //RESETLOGS选项打开数据库
    SQL>alter database open resetlogs;
    alterdatabaseopenresetlogs
    *
    ERRORatline1:
    ORA-01194:file1needsmorerecoverytobeconsistent
    ORA-01110:datafile1:'/u01/app/oracle/oradata/emrep/system01.dbf'
    //使用备份的控制文件进行恢复
    SQL>recover database using backup controlfile;
    ORA-00279:change720553generatedat08/03/201323:05:27neededforthread1
    ORA-00289:suggestion:
    /u01/app/oracle/product/10.2.0/db_1/dbs/arch1_1_822524687.dbf
    ORA-00280:change720553forthread1isinsequence#1
    //应用在线日志
    Specifylog:{<RET>=suggested|filename |AUTO|CANCEL}
    /u01/app/oracle/oradata/emrep/redo01.log
    ORA-00283:recoverysessioncanceledduetoerrors
    //数据文件未命名
    ORA-01244:unnameddatafile(s)addedtocontrolfilebymediarecovery
    ORA-01110:datafile5:'/u01/app/oracle/oradata/emrep/t1.dbf'
    ORA-01112:mediarecoverynotstarted
    //查询数据文件信息
    SQL>selectnamefromv$datafile;
    NAME
    --------------------------------------------------------------------------------
    /u01/app/oracle/oradata/emrep/system01.dbf
    /u01/app/oracle/oradata/emrep/undotbs01.dbf
    /u01/app/oracle/oradata/emrep/sysaux01.dbf
    /u01/app/oracle/oradata/emrep/users01.dbf
    /u01/app/oracle/product/10.2.0/db_1/dbs/UNNAMED00005
    //更名数据文件
    SQL>alter database create datafile
    '/u01/app/oracle/product/10.2.0/db_1/dbs/UNNAMED00005'as
    '/u01/app/oracle/oradata/emrep/t1.dbf';
    Databasealtered.
    //恢复数据库
    SQL>recover database using backup controlfile;
    ORA-00279:change721446generatedat08/03/201323:07:44neededforthread1
    ORA-00289:suggestion:
    /u01/app/oracle/product/10.2.0/db_1/dbs/arch1_1_822524687.dbf
    ORA-00280:change721446forthread1isinsequence#1 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值