ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 在alter tablespace_datafile begin backup_offline_oracle block之fileq和ckptq变化

在alter tablespace_datafile begin backup_offline_oracle block之fileq和ckptq变化

原创 Linux操作系统 作者:wisdomone1 时间:2013-04-19 17:40:01 0 删除 编辑

/*********确认下block fileq与tablespace or datafile offline或alter tablespace backup begin的关系***********/


/******************************insert into t_cr且commit一条记录*********************************************/
BH (0x000007FF40FF2CC8) file#: 5 rdba: 0x0140bc5d (5/48221) class: 1 ba: 0x000007FF40ED4000
  set: 3 pool 3 bsz: 8192 bsi: 0 sflg: 2 pwc: 990,28
  dbwrid: 0 obj: 72974 objn: 72974 tsn: 5 afn: 5 hint: f
  hash: [0x000007FF40FF3A88,0x000007FF606A7528] lru: [0x000007FF40FF2EE0,0x000007FF40FF2C80]
  obj-flags: object_ckpt_list
 
  -----------fileq即为文件检查点,用于alter tablespace or datafile begin backup and offline and online
  ckptq: [0x000007FF40FF2A68,0x000007FF40FF2F28] fileq: [0x000007FF40FF2A78,0x000007FF40FF2F38] objq: [0x000007FF40FF2F08,0x000007FF40FF2CA8]
  st: XCURRENT md: NULL tch: 3
  flags: buffer_dirty redo_since_read
  LRBA: [0xc2.8507.0] LSCN: [0x0.5b4935] HSCN: [0x0.5b4937] HSUB: [1]
  cr pin refcnt: 0 sh pin refcnt: 0
 
/**********表空间热备**************/
SQL> alter tablespace tbl_bck begin backup;
 
Tablespace altered

/**********表空间热备开始的block dump**********/

BH (0x000007FF40FF2CC8) file#: 5 rdba: 0x0140bc5d (5/48221) class: 1 ba: 0x000007FF40ED4000
  set: 3 pool 3 bsz: 8192 bsi: 0 sflg: 2 pwc: 985,28
  dbwrid: 0 obj: 72974 objn: 72974 tsn: 5 afn: 5 hint: f
  hash: [0x000007FF40FF3A88,0x000007FF606A7528] lru: [0x000007FF40FF2EE0,0x000007FF40FF2C80]
 
  --表空间热备模式,fileq文件检查点为空
  ckptq: [NULL] fileq: [NULL] objq: [0x000007FF40FF2F08,0x000007FF40FF2CA8]
  st: XCURRENT md: NULL tch: 3
  flags: block_written_once redo_since_read
 
  --表空间热备模式 lrba也为空
  LRBA: [0x0.0.0] LSCN: [0x0.0] HSCN: [0xffff.ffffffff] HSUB: [1]
  cr pin refcnt: 0 sh pin refcnt: 0
 

 

/***********表空间热备划式开始后进行了dml事务的block dump*************/
BH (0x000007FF40FEF758) file#: 5 rdba: 0x0140bc5d (5/48221) class: 1 ba: 0x000007FF40E7A000
  set: 3 pool 3 bsz: 8192 bsi: 0 sflg: 2 pwc: 985,28
  dbwrid: 0 obj: 72974 objn: 72974 tsn: 5 afn: 5 hint: f
  hash: [0x000007FF40FF2D78,0x000007FF606A7528] lru: [0x000007FF40FEF970,0x000007FF607C46F0]
  obj-flags: object_ckpt_list
 
  ----表空间热备模式下fileq队列又有值了
  ckptq: [0x000007FF607C7B48,0x000007FF47FCF9E8] fileq: [0x000007FF607C7BE8,0x000007FF607C7BE8] objq: [0x000007FF5C2A33A0,0x000007FF5C2A33A0]
  st: XCURRENT md: NULL tch: 1
  flags: buffer_dirty block_written_once redo_since_read
  LRBA: [0xc2.8ed3.0] LSCN: [0x0.5b4bf7] HSCN: [0x0.5b4bfa] HSUB: [1]
  cr pin refcnt: 0 sh pin refcnt: 0
 
 


/*********结束表空间热备模式的block dump********/
BH (0x000007FF40FEF758) file#: 5 rdba: 0x0140bc5d (5/48221) class: 1 ba: 0x000007FF40E7A000
  set: 3 pool 3 bsz: 8192 bsi: 0 sflg: 2 pwc: 985,28
  dbwrid: 0 obj: 72974 objn: 72974 tsn: 5 afn: 5 hint: f
  hash: [0x000007FF40FF2D78,0x000007FF606A7528] lru: [0x000007FF40FEF970,0x000007FF41F9EC40]
  obj-flags: object_ckpt_list
  ckptq: [0x000007FF47FD1B28,0x000007FF47FCF9E8] fileq: [0x000007FF607C7BE8,0x000007FF607C7BE8] objq: [0x000007FF5C2A33A0,0x000007FF5C2A33A0]
  st: XCURRENT md: NULL tch: 1
  flags: buffer_dirty block_written_once redo_since_read
  LRBA: [0xc2.8ed3.0] LSCN: [0x0.5b4bf7] HSCN: [0x0.5b4bfa] HSUB: [1]
  cr pin refcnt: 0 sh pin refcnt: 0 
 
小结:1,alter tablespace begin|end backup开始fileq为空,下来和非热备模式一样fileq
      2,这个也说明alter tablespace begin backup会发生检查点把检查点及文件队列的脏数据写入到数据文件中
      3,所以ckptq及fileq才会一开始为空


/************表空间离线开始************/     
SQL> alter tablespace TBL_BCK offline;
 
Tablespace altered


BH (0x000007FF40FEF758) file#: 5 rdba: 0x0140bc5d (5/48221) class: 1 ba: 0x000007FF40E7A000
  set: 3 pool 3 bsz: 8192 bsi: 0 sflg: 2 pwc: 985,28
  dbwrid: 0 obj: 72974 objn: 72974 tsn: 5 afn: 5 hint: f
  hash: [0x000007FF40FF2D78,0x000007FF606A7528] lru: [0x000007FF40FEF970,0x000007FF41F9EC40]
  ckptq: [NULL] fileq: [NULL] objq: [0x000007FF40FF2B78,0x000007FF5C2A3390]
  st: XCURRENT md: NULL tch: 1
  flags: block_written_once redo_since_read
  LRBA: [0x0.0.0] LSCN: [0x0.0] HSCN: [0xffff.ffffffff] HSUB: [1]
  cr pin refcnt: 0 sh pin refcnt: 0


/**************表空间离线结束**********************/
BH (0x000007FF40FEF758) file#: 5 rdba: 0x0140bc5d (5/48221) class: 1 ba: 0x000007FF40E7A000
  set: 3 pool 3 bsz: 8192 bsi: 0 sflg: 2 pwc: 984,12
  dbwrid: 0 obj: 72974 objn: 72974 tsn: 5 afn: 5 hint: f
  hash: [0x000007FF40FF2D78,0x000007FF606A7528] lru: [0x000007FF40FF2DB0,0x000007FF41FA86A0]
  lru-flags: moved_to_tail on_auxiliary_list
  ckptq: [NULL] fileq: [NULL] objq: [NULL]
  st: FREE md: NULL tch: 0 lfb: 6
  flags:
  cr pin refcnt: 0 sh pin refcnt: 0
     
     
小结:1,表空间离线和表空间热备一样,离线发生马上把ckptq及fileq写入到数据文件


/*************数据文件离线**********************/     
SQL> alter database datafile 5 offline;
 
Database altered

BH (0x000007FF42F8A4C8) file#: 5 rdba: 0x0140bc5d (5/48221) class: 1 ba: 0x000007FF423D4000
  set: 3 pool 3 bsz: 8192 bsi: 0 sflg: 2 pwc: 984,12
  dbwrid: 0 obj: 72974 objn: 72974 tsn: 5 afn: 5 hint: f
  hash: [0x000007FF41FBFB48,0x000007FF606A7528] lru: [0x000007FF41FABC10,0x000007FF607C46F0]
  ckptq: [NULL] fileq: [NULL] objq: [0x000007FF42FB0A98,0x000007FF41F956C8]
  use: [NULL] wait: [NULL]
  st: XCURRENT md: NULL tch: 2 txn: 0x7ff5ed05358
  flags: private
  LRBA: [0x0.0.0] LSCN: [0x0.0] HSCN: [0xffff.ffffffff] HSUB: [65535]
  cr pin refcnt: 0 sh pin refcnt: 0       
 

小结:数据文件离线同上,发生ckptq及fileq
       

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9240380/viewspace-758898/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
提供针对oracle初学者及进阶的数据库培训,欢迎大家咨询: 微信: wisdomone 微信公众号: lovedb 工作经历: 中国普天 北京科蓝 北京云和恩墨 北京神州新桥

注册时间:2008-04-04

  • 博文量
    2189
  • 访问量
    12685489