千家信息网

闪回数据库的使用

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,oracle闪回技术-----使用闪回日志来恢复用户的逻辑错误,这种修复只针对用户逻辑错误的恢复,而不涉及整个数据库的恢复
千家信息网最后更新 2025年01月20日闪回数据库的使用
oracle闪回技术-----使用闪回日志来恢复用户的逻辑错误,这种修复只针对用户逻辑错误的恢复,而不涉及整个数据库的恢复                                        恢复更具有针对性而且恢复时间大大减少。        对于闪回数据库而言,闪回日志不会被归档                启用闪回数据库-----数据库处于归档模式                        使用DB_RECOVERY_FILE_DEST参数指定的目录作为存储目录,该参数的值即为快速恢复区                        db_flashback_retention_target,该参数的值是一个一分钟为单位的数字。                        通过数据字典v$flashback_database_log来评估需要的快闪恢复区空间                                select estimated_flashback_size,retention_target,flashback_size                                from v$flashback_database_log                        mount - alter database flashback on                        查看启用状态                                select flashback_on from v$database;                        关闭闪回数据库                                alter database falshback off;                                禁用某个表空间的闪回特性                                        alter tablespace users flashback off;                                通过数据字典V$TABLESPACE来查询该表空间是否已经不被闪回保护                                        col flashback_on for a15                                        select name,flashback_on                                        from v$tablespace;                                      如果要重新对表空间启用闪回数据库--需要将数据库启动到Mount状态                                        startup mount                                        alter tablespace users flashback on;                        startup mount                         alter database flashback off;                闪回数据库方法                        可以使用RMAN方法也可以使用SQL指令的方法实现。                                使用RMAN闪回数据库如下3中方法                                  1.将数据库闪回到过去的某个时间点,通过to_date函数指定具体的时间                                                flashback database to time=to_date('xxxx-xx-xx xx:xx:xx','yyyy-mm-dd hh34:mi:ss')                                  2.将数据库闪回到过去的某个SCN,不太实际                                              flashback database to scn =xxxxx                                  3.将数据库闪回到特定的日志序列号之前的状态,不包括序列号345                                              flashback database to sequence=345 thread=1;                                使用sql指令闪回数据库                                   1.将数据库闪回到时间戳指定的状态                                                 flashback database to timestamp (sysdate-1/24)                                   2.闪回数据库到某个过去的SCN                                                 flashback database to scn 678854                        执行闪回数据库时,需要将数据库切换到MOUNT状态,在闪回数据库结束之后,需要用resetlogs开库,即需要重新设置重做日志                        ,使得重做日志序列号重新计数                        使用闪回数据库                                创建用户,并授予相关权限                                登录到新建用户下,创建测试用表,插入记录                                删除用户                                在闪回日志中查看相关记录,使用到的视图v$flashback_database_log                                        select * from v$flashback_database_log;                                使用resetlogs打开数据库,闪回日志仍然有效。                        监控闪回数据库                                使用v$flashback_database_log查询可以闪回到的最小SCN号以及可以闪回到的时间点。                                        select oldest_flashback_scn,oldest_flashback_time                                        from v$flashback_database_log;                                数据字典视图v$flashback_database_stat,用于监视闪回日志写入闪回数据的各种开销,                                                                比如记录当前闪回记录起止时间,闪回记录的数据量以及重做日志记录的数据量等信息                                        select * from v$flashback_database_stat;                                监控快闪恢复区的空间变化,在必要时候增加快闪恢复区的空间                                        select name,space_limit,space_used,space_reclaimable,number_of_files                                        from v$recovery_file_dest                                        name                               快速恢复区的目录                                        space_limit                空间最大使用上限                                        space_used                      已使用了的空间                                        space_reclaimable       可以回收的空间                                                                使用闪回数据库的限制                                1.数据文件被删除或缩短                                2.在闪回时间范围内复原或重建了一个控制文件                                3.在resetlogs操作之前                                4.表空间被删除


0