Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

351

积分

0

好友

8

主题
1#
发表于 2012-5-7 10:27:56 | 查看: 4651| 回复: 3
我们都知道,BLOCK CHANGE TRACKING是为了加快增量备份的速度,看了文档后对BCT有下面的疑问:
1.如果我打开了BLOCK CHANGE TRACKING,但是此时没有0级备份,那么此时会在跟踪文件记录数据块的更新情况吗?按我的理解如果没有0级备份的情况下记录bct的信息是没有必要的。
2.如果t1时刻做了0级备份,t2时刻做了1级备份,t3时刻又做了0级备份,那此时bct的信息是否会被清除然后重新记录呢?因为感觉t3之前的bct信息已经没什么用了,不会被以后的增量备份所用到。
3.oracle会将bct文件的信息保留多久呢,如果没有保留策略的话,那么数据库的block很多的话那这个文件岂不是会变的很大?

[ 本帖最后由 gdpr-dba 于 2012-5-7 13:04 编辑 ]
2#
发表于 2012-5-7 15:13:36
ODM TEST:

Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> alter database enable block change tracking using file '/s01/bct01';

Database altered.



SQL> create tablespace bct_test datafile size 5M;

Tablespace created.




SQL> select file_id,RELATIVE_FNO from dba_data_files where tablespace_name='BCT_TEST';

   FILE_ID RELATIVE_FNO
---------- ------------
         6            6
                 




SQL> set linesize 200 pagesize 1400
SQL> select * from x$krcbit where fno=6;
ADDR                   INDX    INST_ID     CTFBNO     VERCNT VERTIME         CSNO        FNO        BNO        BCT
---------------- ---------- ---------- ---------- ---------- --------- ---------- ---------- ---------- ----------
00007F8547511C08         16          1       2624          1 07-MAY-12          1          6          0          4
00007F8547511C08         17          1       2624          1 07-MAY-12          1          6          4          4
00007F8547511C08         18          1       2624          1 07-MAY-12          1          6          8          4




SQL> create table tbct tablespace bct_test as select * from dba_objects where rownum<=1001;

Table created.

SQL> alter system checkpoint;

System altered.

SQL> select * from x$krcbit where fno=6;

ADDR                   INDX    INST_ID     CTFBNO     VERCNT VERTIME         CSNO        FNO        BNO        BCT
---------------- ---------- ---------- ---------- ---------- --------- ---------- ---------- ---------- ----------
00007F8547511C08         27          1       2624          1 07-MAY-12          1          6          0          4
00007F8547511C08         28          1       2624          1 07-MAY-12          1          6          4          4
00007F8547511C08         29          1       2624          1 07-MAY-12          1          6          8          4
00007F8547511C08         30          1       2624          1 07-MAY-12          1          6         12          4
00007F8547511C08         31          1       2624          1 07-MAY-12          1          6         16          4
00007F8547511C08         32          1       2624          1 07-MAY-12          1          6         20          4
00007F8547511C08         33          1       2624          1 07-MAY-12          1          6         24          4

7 rows selected.

SQL> delete tbct;

1001 rows deleted.

SQL> commit;

Commit complete.

SQL> alter system checkpoint;

System altered.

SQL>  select * from x$krcbit where fno=6;

ADDR                   INDX    INST_ID     CTFBNO     VERCNT VERTIME         CSNO        FNO        BNO        BCT
---------------- ---------- ---------- ---------- ---------- --------- ---------- ---------- ---------- ----------
00007F85470E03A0         37          1       2624          1 07-MAY-12          1          6          0          4
00007F85470E03A0         38          1       2624          1 07-MAY-12          1          6          4          4
00007F85470E03A0         39          1       2624          1 07-MAY-12          1          6          8          4
00007F85470E03A0         40          1       2624          1 07-MAY-12          1          6         12          4
00007F85470E03A0         41          1       2624          1 07-MAY-12          1          6         16          4
00007F85470E03A0         42          1       2624          1 07-MAY-12          1          6         20          4
00007F85470E03A0         43          1       2624          1 07-MAY-12          1          6         24          4

7 rows selected.



SQL> insert into tbct select * from dba_objects where rownum<2001;

2000 rows created.

SQL> commit;

Commit complete.

SQL> alter system checkpoint;

System altered.

SQL> select * from x$krcbit where fno=6;

ADDR                   INDX    INST_ID     CTFBNO     VERCNT VERTIME         CSNO        FNO        BNO        BCT
---------------- ---------- ---------- ---------- ---------- --------- ---------- ---------- ---------- ----------
00007F7F3B144120         85          1       2624          1 07-MAY-12          1          6          0          4
00007F7F3B144120         86          1       2624          1 07-MAY-12          1          6          4          4
00007F7F3B144120         87          1       2624          1 07-MAY-12          1          6          8          4
00007F7F3B144120         88          1       2624          1 07-MAY-12          1          6         12          4
00007F7F3B144120         89          1       2624          1 07-MAY-12          1          6         16          4
00007F7F3B144120         90          1       2624          1 07-MAY-12          1          6         20          4
00007F7F3B144120         91          1       2624          1 07-MAY-12          1          6         24          4
00007F7F3B144120         92          1       2624          1 07-MAY-12          1          6         28          4
00007F7F3B144120         93          1       2624          1 07-MAY-12          1          6         32          4
00007F7F3B144120         94          1       2624          1 07-MAY-12          1          6         36          4
00007F7F3B144120         95          1       2624          1 07-MAY-12          1          6         40          4

11 rows selected.



RMAN> backup incremental level 0 datafile 6;

Starting backup at 07-MAY-12
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=143 devtype=DISK
channel ORA_DISK_1: starting incremental level 0 datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00006 name=/s01/oradata/G10R25/datafile/o1_mf_bct_test_7tgwoyyd_.dbf
channel ORA_DISK_1: starting piece 1 at 07-MAY-12
channel ORA_DISK_1: finished piece 1 at 07-MAY-12
piece handle=/s01/flash_recovery_area/G10R25/backupset/2012_05_07/o1_mf_nnnd0_TAG20120507T030810_7tgx6tlh_.bkp tag=TAG20120507T030810 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 07-MAY-12

Starting Control File and SPFILE Autobackup at 07-MAY-12
piece handle=/s01/flash_recovery_area/G10R25/autobackup/2012_05_07/o1_mf_s_782622491_7tgx6vpt_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 07-MAY-12

SQL> delete tbct;

2000 rows deleted.

SQL> commit;

Commit complete.

SQL> alter system checkpoint;

System altered.

SQL> select * from x$krcbit where fno=6;

ADDR                   INDX    INST_ID     CTFBNO     VERCNT VERTIME         CSNO        FNO        BNO        BCT
---------------- ---------- ---------- ---------- ---------- --------- ---------- ---------- ---------- ----------
00007FC5EF3CA098        100          1       3072          2 07-MAY-12          1          6          8          4
00007FC5EF3CA098        101          1       3072          2 07-MAY-12          1          6         12          4
00007FC5EF3CA098        102          1       3072          2 07-MAY-12          1          6         16          4
00007FC5EF3CA098        103          1       3072          2 07-MAY-12          1          6         20          4
00007FC5EF3CA098        104          1       3072          2 07-MAY-12          1          6         24          4
00007FC5EF3CA098        105          1       3072          2 07-MAY-12          1          6         28          4
00007FC5EF3CA098        106          1       3072          2 07-MAY-12          1          6         32          4
00007FC5EF3CA098        107          1       3072          2 07-MAY-12          1          6         36          4
00007FC5EF3CA098        108          1       3072          2 07-MAY-12          1          6         40          4
00007FC5EF3CA098        109          1       2624          1 07-MAY-12          1          6          0          4
00007FC5EF3CA098        110          1       2624          1 07-MAY-12          1          6          4          4
00007FC5EF3CA098        111          1       2624          1 07-MAY-12          1          6          8          4
00007FC5EF3CA098        112          1       2624          1 07-MAY-12          1          6         12          4
00007FC5EF3CA098        113          1       2624          1 07-MAY-12          1          6         16          4
00007FC5EF3CA098        114          1       2624          1 07-MAY-12          1          6         20          4
00007FC5EF3CA098        115          1       2624          1 07-MAY-12          1          6         24          4
00007FC5EF3CA098        116          1       2624          1 07-MAY-12          1          6         28          4
00007FC5EF3CA098        117          1       2624          1 07-MAY-12          1          6         32          4
00007FC5EF3CA098        118          1       2624          1 07-MAY-12          1          6         36          4
00007FC5EF3CA098        119          1       2624          1 07-MAY-12          1          6         40          4

20 rows selected.



可以看到 出现了  VERCNT=2 的 bitmap

X$KRCBIT Bitmap block
Table X$KRCBIT
CTFBNO – extent header block#
VERCNT, VERTIME, FNO – as before
BNO – first block# of the chunk
BCT – chunk size in db blocks
Chunk Change Tracking

回复 只看该作者 道具 举报

3#
发表于 2012-5-7 15:24:45
FOR question 1

as maclean answered:

在没有parent backup level 请情况下 bitmap block 不会被更新, 如以上测试


For Question 2

oracle ctwr进程 只保留最近7个版本的bitmap ,对于老于7个versions的bitmap 会被purge。

回复 只看该作者 道具 举报

4#
发表于 2012-5-8 13:52:17
这7个版本的bitmap ,能否涵盖从上次0级备份以来的块变化情况呢?

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-12-25 01:23 , Processed in 0.047581 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569