oracle 10g 块跟踪,Oracle 块跟踪(Block Change Tracking)

关于块跟踪:

块跟踪会记录数据文件里每个块的更新信息,这些跟新信息保存在跟踪文件里,当启动块跟踪后,RMAN使用跟踪文件里的信息,只读取改变的块的信息,而不用对整个数据库进行扫描,从而提高了RMAN备份的性能。

块跟踪默认是禁用的,如果启用了增量备份,建议开启块跟踪,启用块跟踪后,不需要其他的维护的操作。第一个0级的增量备份扫描整个数据库。随后的增量备份使用块跟踪文件的信息,只扫描自上次备份以来被标记为change

的块。

在备份期间,跟踪文件会维护已经标记为change 的块的bitmap 信息。Oracle

会自动管理块跟踪文件的大小,只保留最近最近8次块的变化信息。超过8次,那么最前面的块的bitmap

信息会被覆盖。

注释:

要考虑块跟踪文件的8次限制与备份策略的关系。如果在0级备份之后又进行了7次不同的增量备份,那么这时的块跟踪文件就包含了8个bitmaps信息。如果再进行1级的增量备份,那么此时的增量就不是最优的,还是会扫描整个数据库。因为之前0级的bitmap信息被当前的bitmap

信息覆盖掉了,这样就没有了参考的依据。所以RMAN的备份策略要考虑到这个8次bitmap 的影响。

块跟踪文件:

块跟踪文件是针对整个数据库的,默认情况下,块跟踪文件会作为Oracle 管理文件在 DB_CREATE_FILE_DEST

指定的目录下创建。也可以放到其他的目录。Oracle 不建议使用裸设备来存放块跟踪文件。如果是RAC

环境,块跟踪文件必须放在共享设备上。

RMAN

不支持对块跟踪文件的备份与恢复。当数据库检测到块跟踪文件无效时,就会重设块跟踪文件。如果还原了数据库,那么数据库也会重设块跟踪文件,并从新进行跟踪。

块跟踪文件大小:

块跟踪文件的大小和数据库的大小以及重做日志启用的线程数量有关,跟踪文件的大小会根据数据库大小的变化而变化,和跟新频率没有关系。

以下因素会导致跟踪文件超过估计值:

为了避免跟踪文件占用太多的空间,初始值是10M,然后每次增加10M,如果数据库接近300G,那么跟踪文件不能小于10M,如果接近600G,不能小于20M。

每个数据文件在跟踪文件里最少需要分配320k的空间,所以如果有大量的小数据文件,块跟踪文件也会相对较大。

开启和关闭块跟踪:

--数据库在open 或者mount

状态都可以启用块跟踪。

参数:db_create_file_dest

SQL> show parameter db_create_file_dest

NAME TYPE VALUE

---------------------- ----------- ---------

db_create_file_dest string +DATA

如果该参数没有设置,数据库在open状态,可以直接设置或者修改。

SQL> alter system set

db_create_file_dest='/u01/app/oracle';

System altered.

SQL> show parameter

db_create_file_dest

NAME TYPE VALUE

---------------------- ----------- -----------------

db_create_file_dest string /u01/app/oracle

视图:v$block_change_tracking

查看块跟踪的状态,跟踪文件的大小及位置

查看当前块跟踪的状态

SQL> select status from v$block_change_tracking;

STATUS

----------

DISABLED --->关闭状态

也可通过后台进程CTWR(修改跟踪进程)判断,CTWR进程负责维护新的修改跟踪文件

ps -elf | grep ctwr | grep -v grep

开启块跟踪

SQL> alter database enable block change tracking;

Database altered.

SQL> select * from

v$block_change_tracking;

STATUS FILENAME BYTES

---------- ------------------------------ ----------

ENABLED /u01/app/oracle/ORCL/changetra 11599872

cking/o1_mf_8zqj5157_.chg

跟踪文件是自动在db_create_file_dest设置的目录下生成的,大小约11M

通过后台进程CTWR判断

ps -elf | grep ctwr | grep -v grep

0 S oracle 10379 1 0 75 0 - 186111

? 22:30

? 00:00:00

ora_ctwr_orcl

关闭块跟踪

SQL> alter database disable block change tracking;

Database altered.

关闭块跟踪会删除跟踪文件

SQL> select status from

v$block_change_tracking;

STATUS

----------

DISABLED

如果db_create_file_dest目录没有设置,也可以在开启块跟踪时直接指定路径

SQL> alter database enable block change tracking using file

'/u01/app/oracle/track.log';

Database altered.

SQL> select * from

v$block_change_tracking;

STATUS FILENAME BYTES

---------- -------------------------- ---------

ENABLED /u01/app/oracle/track.log 11599872

更改跟踪文件的位置:

--可以使用alter database rename 语句来修改跟踪文件的位置,该命令会更新控制文件里的信息,命令必须在mount

状态下执行,如果数据库不能shutdown,那么可以先disable块跟踪,然后再指定新的位置,但是这样会丢失以前跟踪文件里的数据。

关闭数据库

SQL> shutdown immediate

移动文件

mv /u01/app/oracle/track.log /u01/app/track.log

启动到mount

sqlplus / as sysdba

SQL> startup mount

修改文件位置

SQL> alter database rename file '/u01/app/oracle/track.log' to

'/u01/app/track.chg';

OPEN数据库

SQL> alter database open;

查看

SQL> select * from v$block_change_tracking;

STATUS FILENAME BYTES

---------- -------------------------- ---------

ENABLED /u01/app/track.chg 11599872

注释:

在使用RMAN 增量备份的情况下,启动块跟踪,在做增量备份时会缩短RMAN

备份的时间,因为不用扫描整个数据库。但是块跟踪也会带来其他的一些开销。所以要根据实际情况决定是否启用块跟踪。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Block Change Tracking(BCT)是 Oracle 数据库中一种技术,用于跟踪在备份之间更改的数据,以加速增量备份和恢复。如果你想从 BCT 中获取变数据,可以按照以下步骤进行: 1. 首先,你需要确认 BCT 已经启用。你可以使用以下命令来检查: ``` SELECT status FROM v$block_change_tracking; ``` 如果返回的状态为 ENABLED,则表示 BCT 已经启用。如果状态为 DISABLED,则需要通过以下命令启用 BCT: ``` ALTER DATABASE ENABLE BLOCK CHANGE TRACKING; ``` 2. 接下来,你需要创建一个包含变数据的文件。你可以使用以下命令来创建该文件: ``` ALTER DATABASE CREATE BLOCK CHANGE TRACKING FILE '/path/to/bct/file'; ``` 其中 '/path/to/bct/file' 是你想要创建的 BCT 文件的路径。请确保该路径对于数据库服务器上的 Oracle 进程是可读写的。 3. 等待一段时间后,BCT 文件将包含所有在最后一次备份之后更改的数据。你可以使用以下命令来获取变数据: ``` SELECT file#, block# FROM v$backup_block_change_tracking WHERE status = 'YES'; ``` 该命令将返回一个包含文件号和号的结果集,表示包含变数据的数据文件和该文件中的变数据号。 请注意,BCT 文件只包含最后一次备份之后更改的数据,因此如果你想获取之前的变数据,需要使用相应的增量备份文件。同时,BCT 文件也需要定期清理或重新创建,以确保其有效性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值