[20150128]关于flashback补充.txt

[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,现在正常了.

时间: 2024-08-23 00:19:38

[20150128]关于flashback补充.txt的相关文章

[20150130]关于flashback补充3.txt

[20150130]关于flashback补充3.txt --昨天写了http://blog.itpub.net/267265/viewspace-1418458/,听别人实际上只要只要recover database,就可以不需要open --restelogs打开. 看来自己老了,忘记了基本的东西,重复测试看看. SYS@test> shutdown immediate ; Database closed. Database dismounted. ORACLE instance shut

[20171115]恢复数据文件块头3补充.txt

[20171115]恢复数据文件块头3补充.txt --// 昨天做了恢复数据文件块头,通过备份文件直接取出文件块头,覆盖原来的数据块,然后修复. --//补充几点: --1.文件头损坏,无法使用rman的块恢复功能. --2.文件头损坏,dbv检查发现都是坏块.我感觉主要文件块头损坏,dbv无法定位其它剩下的块. 1.环境: SCOTT@book> @ &r/ver1 PORT_STRING                    VERSION        BANNER --------

[20150127]打开flashback注意.txt

[20150127]打开flashback注意.txt --数据库flashback是oracle 10g的新特性,能够flash某个时间点,不过我个人不建议在生产系统打开,我更多的选择在dg上打开, --这样如果用户错误操作删除了数据或者truncate某个表可以flash某个时间点,可以使用dg来恢复. --但是大家都知道flash的日志是放在恢复区,如果不小心删除了flash日志,会出现什么情况呢? 做一个测试来说明问题: 1.建立测试环境: SYS@test> @ &r/ver1 P

[20130125]DML操作出现交集的情况[补充].txt

[20130125]DML操作出现交集的情况[补充].txt 昨天同事问了一个问题,如果DML操作出现交叉的情况下,oracle是如何处理的?对前面再做一些补充. http://space.itpub.net/267265/viewspace-753269 我自己还是建立一个测试例子来说明: 1.建立测试环境:SQL> select * from v$version where rownumBANNER-----------------------------------------------

[20171107]dbms_shared_pool.pin补充.txt

[20171107]dbms_shared_pool.pin补充.txt --//上午的测试,做一些补充,主要还是一些理解问题. 1.环境: SCOTT@book> @ &r/ver1 PORT_STRING                    VERSION        BANNER ------------------------------ -------------- --------------------------------------------------------

[20170916]sqlplus set array最小2补充.txt

[20170916]sqlplus set array最小2补充.txt --//以前写的贴子,链接http://blog.itpub.net/267265/viewspace-1453652/ --//上面提到设置array=1或者array=2.执行sql语句输出的逻辑读是一样的,所以得到一个结论. --//set array最小是2. --//我也在http://blog.itpub.net/267265/viewspace-2138596/里面提到.fetch 与arraysize的关系

[20160407]bbed修改文件头2(补充).txt

[20160407]bbed修改文件头2(补充).txt --昨天被别人问一个问题,就是我的测试修改数据文件相应的CHECKPOINT_CHANGE#就ok了.偏移量是block=1的offset=484. --链接 http://blog.itpub.net/267265/viewspace-2075424/ --不过别人问的是这个时间是如何存储的.我以前也做过一些.链接: --http://blog.itpub.net/267265/viewspace-746222/ --我的感觉在11.2

[20161012]linux free的补充.txt

[20161012]linux free的补充.txt --前一阵子写的: http://blog.itpub.net/267265/viewspace-2124363/ 下面是关于buffers和cached的英文资料: Buffers are associated with a specific block device, and cover caching of filesystem metadata as well as tracking in-flight pages. The cac

[20140102]ORA-00600 [kkocxj pjpCtx] error is reported when running之补充.txt

[20140102]ORA-00600 [kkocxj  pjpCtx] error is reported when running之补充.txt 去年我写一篇blog,链接如下:http://blog.itpub.net/267265/viewspace-1065675/ 有人问sql profiles如何建立,以前我一直是手工编写命令执行,不是很方面,正好放假看了.Apress.Pro.Oracle.SQL.2nd.Edition.Nov.2013.pdf 我修改脚本其中的脚本move_s