(1) 为了解恢复数据文件中没有记录的数据,进行向前滚。该数据记录在在线日志,包括对回滚段的内容恢复。 (2) 回滚未提交的事务,按步1重新生成回滚段所指定的 *** 作。 (3) 释放在故障时正在处理事务所持有的资源。
ORACLE数据库有两类备份方法。第一类为物理备份,该方法实现数据库的完整恢复,但数据库必须运行在归挡模式下(业务数据库在非归挡模式下运行),且需要极大的外部存储设备,例如磁带库;第二类备份方式为逻辑备份,业务数据库采用此种方式,此方法不需要数据库运行在归挡模式下,不但备份简单,而且可以不需要外部存储设备。
数据库逻辑备份方法,ORACLE数据库的逻辑备份分为三种模式:完全备份、用户备份和表备份。
1、完全:
EXP SYSTEM/MANAGER BUFFER=64000 FILE=C:\FULLDMP FULL=Y
如果要执行完全导出,必须具有特殊的权限
2、用户模式:
EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONICDMP OWNER=SONIC
这样用户SONIC的所有对象被输出到文件中。
3、表模式:
EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONICDMP OWNER=SONIC TABLES=(SONIC)
这样用户SONIC的表SONIC就被导出
备份恢复:
具有三种模式(完全、用户、表)
1、完全:
IMP SYSTEM/MANAGER BUFFER=64000 FILE=C:\FULLDMP FULL=Y
2、用户模式:
IMP SONIC/SONIC BUFFER=64000 FILE=C:\SONICDMP FROMUSER=SONIC TOUSER=SONIC
这样用户SONIC的所有对象被导入到文件中。必须指定FROMUSER、TOUSER参数,这样才能导入数据。
3、表模式:
EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONICDMP OWNER=SONIC TABLES=(SONIC)
删除表后,可以采用如下 *** 作:
在 user_recyclebin中找到最近 *** 作过的表名称,然后用闪回(只能用于10G及以上版本)。
FLASH BACK TABLE TABLE_NAME TO BEFORE DROP;
如果是删了或修改里面的数据,可以先建立一个快表将删除修改之前状态的数据找回到这个表中:
CREATE TABLE QUICK_TABLE AS
SELECT FROM TABLE_NAME AS OF TIMESTAMP SYSTEM-1/24 (一小时前的),减去的时间可以自己定。如楼上F_253那位老兄的写法就不错,能自由定制时间
oracle版本oracle 11g
逻辑备份与恢复
备份前可以先查看环境变量情况
如果没有则对变量进行export,特别是字符集,结合实际环境所在的情况
使用命令exp 进行导出备份,注意备份文件所在磁盘的空间
恢复,恢复前注意环境变量
如果没有则对变量进行export,特别是字符集
使用命令imp对数据库进行恢复,该命令建议是在新安装的环境进行数据导入,而不是已经有数据的数据库进行导入,会导致数据错乱,ignore=y(由于是在新的环境,没有数据,所以这个可以加,而且必须加,不加恢复数据表好像有问题,访问不了。)
imp 'system/chenzm123@orcl' file=/bakdir/db-20220513dmp full=y log=/imp-2022-0513log ignore=y
oracle imp 导入可以使用 ignore=y 参数进行覆盖数据库,
如果不使用 ignore=y 参数在进行imp 导入时,就会 对已经存在的表就不会进行导入,
如果加上ignore=y 参数就会对已经存在的表中没有的记录进行更新,但对已经存在记录不会进行覆盖修改。
备份脚本,在oracle运行用户下添加计划任务,备份的时候注意挂载目录的权限,注意系统时间,如果系统时间不对,那么要注意重启计划任务service crond restart ,不然计划任务可能不会按时执行。
以上就是关于如何Oracle 数据库备份与恢复全部的内容,包括:如何Oracle 数据库备份与恢复、oracle数据库怎么备份恢复、oracle数据库数据删除后如何恢复等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)