[20150128]关于flashback补充.txt

简介: [20150128]关于flashback补充.txt --昨天别人问restore point的信息保存在那里,我想一定在控制文件里面,这个很容易验证. --而且一旦flashback 日志删除,无法定位restore point的名字.

[20150128]关于flashback补充.txt

--昨天别人问restore point的信息保存在那里,我想一定在控制文件里面,这个很容易验证.
--而且一旦flashback 日志删除,无法定位restore point的名字.继续昨天的测试:

1.建立测试环境:
SYS@test> @ &r/ver1
PORT_STRING                    VERSION        BANNER
------------------------------ -------------- ----------------------------------------------------------------
x86_64/Linux 2.4.xx            10.2.0.4.0     Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi

SYS@test> startup  mount
ORACLE instance started.
Total System Global Area    473956352 bytes
Fixed Size                    2084776 bytes
Variable Size               230686808 bytes
Database Buffers            230686720 bytes
Redo Buffers                 10498048 bytes
Database mounted.
SYS@test> alter database flashback on;
Database altered.

SYS@test> show parameter control
NAME                                 TYPE     VALUE
------------------------------------ -------- -------------------------------------------------------------------------------------------------
control_file_record_keep_time        integer  7
control_files                        string   /mnt/ramdisk/test/control01.ctl, /mnt/ramdisk/test/control02.ctl, /mnt/ramdisk/test/control03.ctl

$  strings /mnt/ramdisk/test/control01.ctl | grep -i itpubitpub

SYS@test> create restore point itpubitpub  GUARANTEE flashback database;
Restore point created.

SYS@test> select * from v$restore_point;
         SCN DATABASE_INCARNATION# GUA STORAGE_SIZE TIME                             NAME
------------ --------------------- --- ------------ -------------------------------- --------------------
11996002239                     8 YES      8192000 28-JAN-15 08.35.14.000000000 AM  ITPUBITPUB


2.检测:

SYS@test> column RSPNAME format a20
SYS@test> select * from x$kccrsp;
ADDR                     INDX      INST_ID RSPNAME                 RSPINCARN RSPSCN           RSPTIME              RSPLGSZ  RSPFLAGS RSPFSCN
---------------- ------------ ------------ -------------------- ------------ ---------------- -------------------- -------- -------- ----------------
00007F3E7FD0A480            0            1 ITPUBITPUB                      8 11996002239      01/28/2015 08:35:14  8192000         3 11996002240

$  strings -t d /mnt/ramdisk/test/control01.ctl | grep -i itpubitpub
5308439 3ITPUBITPUB
--至少说明控制文件保存了restore point的信息.

$  mv flashback flashback.org

SYS@test> select * from v$restore_point;
select * from v$restore_point
              *
ERROR at line 1:
ORA-38701: Flashback database log 1 seq 1 thread 1: "/u01/app/oracle/flash_recovery_area/TEST/flashback/o1_mf_bdjcljln_.flb"
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3


SYS@test> select * from x$kccrsp;
select * from x$kccrsp
*
ERROR at line 1:
ORA-38701: Flashback database log 1 seq 1 thread 1: "/u01/app/oracle/flash_recovery_area/TEST/flashback/o1_mf_bdjcljln_.flb"
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3

--如果删除flashback 日志,确实无法通过内部x$kccrsp视图定位.但是如果这样执行:

SYS@test>  select RSPNAME from x$kccrsp;
RSPNAME
--------------------
ITPUBITPUB

SYS@test> select name from v$restore_point;
NAME
--------------------
ITPUBITPUB

--取消STORAGE_SIZE字段,其它都可以显示.

SYS@test> select scn,DATABASE_INCARNATION#,GUARANTEE_FLASHBACK_DATABASE,time,NAME from v$restore_point ;
         SCN DATABASE_INCARNATION# GUA TIME                              NAME
------------ --------------------- --- --------------------------------- --------------------
11996002239                     8 YES 28-JAN-15 08.35.14.000000000 AM   ITPUBITPUB

--剩下的问题就好解决了.

SYS@test> alter database flashback off;
Database altered.

SYS@test> alter database open ;
alter database open
*
ERROR at line 1:
ORA-38701: Flashback database log 1 seq 1 thread 1: "/u01/app/oracle/flash_recovery_area/TEST/flashback/o1_mf_bdjcljln_.flb"
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3

--GUARANTEE RESTORE POINT 存在,flashback 日志不存在,无法打开.

SYS@test> drop restore point itpubitpub;
Restore point dropped.

SYS@test> alter database open ;
Database altered.

--OK,现在正常了.

目录
相关文章
|
SQL 机器学习/深度学习 Oracle
[20180630]truncate table的另类恢复2.txt
[20180630]truncate table的另类恢复2.txt --//上个星期做了truncate table的另类恢复,通过修改数据块的段号,再通过rowid定位收集数据,达到修复的目的.
1535 0
|
数据库管理
[20180627]truncate table的另类恢复.txt
[20180627]truncate table的另类恢复.txt --//前几天看链接http://www.xifenfei.com/2018/06/truncate-table-recovery.
1339 0
|
关系型数据库 Oracle Linux
[20180424]打开表空flashback on.txt
[20180424]打开表空flashback on.txt --//昨天测试完成,链接http://blog.itpub.net/267265/viewspace-2153207/,忘记设置flashback on;.
974 0
|
Oracle 关系型数据库 测试技术
[20180105]oracle临时表补充.txt
[20180105]oracle临时表补充.txt --//昨天对临时表做一些测试,今天做一些补充: 1.环境: SCOTT@book> @ &r/ver1 PORT_STRING         VERSION    BANNER -------...
780 0
|
Oracle 关系型数据库 数据库
[20171115]恢复数据文件块头4补充.txt
[20171115]恢复数据文件块头4补充.txt --// 昨天做了恢复数据文件块头,通过备份文件直接取出文件块头,覆盖原来的数据块,然后修复. --//补充几点: --1.
1029 0
|
Oracle 关系型数据库 Linux
[20171031]rman merge例子2.txt
[20171031]rman merge例子2.txt --//以前做的测试 [20170626]rman merge例子.txt --//链接 http://blog.
985 0
|
Oracle 关系型数据库 Linux
[20170626]rman merge例子.txt
[20170626]rman merge例子.txt 1.环境: SCOTT@book> @ &r/ver1 PORT_STRING                    VERSION        BANNER -----------------...
905 0
|
Oracle 关系型数据库 数据库
[20170417]另类提升scn2.txt
[20170417]另类提升scn2.txt --//上个星期的测试偶然发现,通过修改一些块的scn能够提升scn。我还是通过例子说明: --//如果数据库异常关闭,在某种特殊修复后,会出现数据文件块的scn大于数据文件头的scn号,这样在访问这些块时会报: ...
907 0
|
SQL Oracle 关系型数据库
[20160902][转载]跟踪rman操作.txt
[20160902]跟踪rman操作.txt --转载:跟踪rman https://laurent-leturgez.com/2016/08/29/tracing-oracle-binaries-and-tools/ --以前仅仅知道debug,没有知道这么细,做一个记录,原链接里面还有DGMGRL,EXPDP / IMPDP,SRVCTL,OPATCH,10046事件的跟踪。
745 0