[20150308]热备份和数据库检查点.txt

[20150308]热备份和数据库检查点.txt

--今天看书,提到在热备份前,会做了一个数据文件检查点操作.
--实际上这个很好理解:

开始热备份时候,做了一个数据文件检查点操作,因为热备份时备份要产生的日志很大,数据库必须要知道那个时候开始,做这项工作。
保证了在热备份期间,只有在发出热备份命令之后的时间里修改的块可能会被写到数据文件上。

--自己做一个简单检查:

SCOTT@test> @ver1
PORT_STRING                    VERSION        BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx            11.2.0.3.0     Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

RMAN> report schema ;
Report of database schema for database with db_unique_name TEST
List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    780      SYSTEM               ***     /u01/app/oracle11g/oradata/test/system01.dbf
2    1000     SYSAUX               ***     /u01/app/oracle11g/oradata/test/sysaux01.dbf
3    848      UNDOTBS1             ***     /u01/app/oracle11g/oradata/test/undotbs01.dbf
4    864      USERS                ***     /u01/app/oracle11g/oradata/test/users01.dbf
5    100      EXAMPLE              ***     /u01/app/oracle11g/oradata/test/example01.dbf
6    64       RMAN                 ***     /u01/app/oracle11g/oradata/test/rman01.dbf
7    64       TOOLS                ***     /u01/app/oracle11g/oradata/test/tools01.dbf
8    64       TEST                 ***     /u01/app/oracle11g/oradata/test/test01.dbf
9    64       TESTMSSM             ***     /u01/app/oracle11g/oradata/test/testmssm01.dbf
10   4        UNDOTBS2             ***     /u01/app/oracle11g/oradata/test/undotbs02.dbf
11   102      TEST16K              ***     /u01/app/oracle11g/oradata/test/test16k01.dbf
12   1        TOOLSX               ***     /u01/app/oracle11g/oradata/test/tools01x.dbf
13   50       TBS_TS1              ***     /u01/app/oracle11g/oradata/test/tbs_ts1_01.dbf
14   127      TBS_TS2              ***     /u01/app/oracle11g/oradata/test/tbs_ts2_01.dbf
List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    339      TEMP                 32767       /u01/app/oracle11g/oradata/test/temp01.dbf

SCOTT@test> SELECT file#, CHECKPOINT_CHANGE#, CREATION_CHANGE#  , RESETLOGS_CHANGE#,status, CHECKPOINT_COUNT  FROM v$datafile_header;
       FILE# CHECKPOINT_CHANGE# CREATION_CHANGE# RESETLOGS_CHANGE# STATUS  CHECKPOINT_COUNT
------------ ------------------ ---------------- ----------------- ------- ----------------
           1        12005514399                7        3011113647 ONLINE         856622640
           2        12005514399             2140        3011113647 ONLINE         856622634
           3        12005514399       3241444492        3011113647 ONLINE         856622635
           4        12005514399            17993        3011113647 ONLINE         856622644
           5        12005514399           973735        3011113647 ONLINE         856622637
           6        12005514399          1412559        3011113647 ONLINE         856622603
           7        12005514399          4383251        3011113647 ONLINE         856622632
           8        12005514399         13169364        3011113647 ONLINE         856622634
           9        12005514399       3223747107        3011113647 ONLINE         856622632
          10        12005514399      12002485849        3011113647 ONLINE               151
          11        12005514399      11673111577        3011113647 ONLINE              1117
          12        12005514399      11994962958        3011113647 ONLINE               475
          13        12005514399      11992635787        3011113647 ONLINE               588
          14        12005514399      11992670578        3011113647 ONLINE               586
14 rows selected.

--对file#=4 表空间users做热备份。当前CHECKPOINT_CHANGE#=12005514399,CHECKPOINT_COUNT=856622644.

2.开始测试:
SCOTT@test> select rowid,dept.* from dept;
ROWID                    DEPTNO DNAME          LOC
------------------ ------------ -------------- -------------
AABBrlAAEAAAAWDAAB           10 ACCOUNTING     new york
AABBrlAAEAAAAWDAAC           20 RESEARCH       dallas1
AABBrlAAEAAAAWDAAD           30 SALES          chicago
AABBrlAAEAAAAWDAAE           40 OPERATIONS     boston

SCOTT@test> @lookup_rowid AABBrlAAEAAAAWDAAB
      OBJECT         FILE        BLOCK          ROW DBA                  TEXT
------------ ------------ ------------ ------------ -------------------- ----------------------------------------
      269029            4         1411            1 4,1411               alter system dump datafile 4 block 1411
                                                                        
SCOTT@test> update dept set loc=upper(loc) ;
4 rows updated.
--不提交。切换另外的会话,注意执行如下命令alter tablespace users begin backup ;会隐含发commit命令。

SCOTT@test> alter tablespace users begin backup ;
Tablespace altered.

SCOTT@test> SELECT file#, CHECKPOINT_CHANGE#, CREATION_CHANGE#  , RESETLOGS_CHANGE#,status, CHECKPOINT_COUNT  FROM v$datafile_header;
       FILE# CHECKPOINT_CHANGE# CREATION_CHANGE# RESETLOGS_CHANGE# STATUS  CHECKPOINT_COUNT
------------ ------------------ ---------------- ----------------- ------- ----------------
           1        12005514399                7        3011113647 ONLINE         856622640
           2        12005514399             2140        3011113647 ONLINE         856622634
           3        12005514399       3241444492        3011113647 ONLINE         856622635
           4        12005514724            17993        3011113647 ONLINE         856622645
           5        12005514399           973735        3011113647 ONLINE         856622637
           6        12005514399          1412559        3011113647 ONLINE         856622603
           7        12005514399          4383251        3011113647 ONLINE         856622632
           8        12005514399         13169364        3011113647 ONLINE         856622634
           9        12005514399       3223747107        3011113647 ONLINE         856622632
          10        12005514399      12002485849        3011113647 ONLINE               151
          11        12005514399      11673111577        3011113647 ONLINE              1117
          12        12005514399      11994962958        3011113647 ONLINE               475
          13        12005514399      11992635787        3011113647 ONLINE               588
          14        12005514399      11992670578        3011113647 ONLINE               586

14 rows selected.

--注意看file#=4,CHECKPOINT_CHANGE#现在是12005514724,CHECKPOINT_COUNT=856622645,CHECKPOINT_COUNT也增加1次。

--通过bbed 观察,我并没有执行alter systenm checkpoint,可以发现bbed观察对应数据块,可以发现修改信息已经写磁盘。
BBED> set dba  4,1411
        DBA             0x01000583 (16778627 4,1411)

BBED> p *kdbr[1]
rowdata[151]
------------
ub1 rowdata[151]                            @8146     0x2c

BBED> x /rncc
rowdata[151]                                @8146
------------
flag@8146: 0x2c (KDRHFL, KDRHFF, KDRHFH)
lock@8147: 0x03
cols@8148:    3

col    0[2] @8149: 10
col   1[10] @8152: ACCOUNTING
col    2[8] @8163: NEW YORK

SCOTT@test> set numw 12
SCOTT@test> select * from v$backup ;
       FILE# STATUS                  CHANGE# TIME
------------ ------------------ ------------ -------------------
           1 NOT ACTIVE                    0
           2 NOT ACTIVE                    0
           3 NOT ACTIVE                    0
           4 ACTIVE              12005514724 2015-03-09 08:43:00
           5 NOT ACTIVE                    0
           6 NOT ACTIVE           3011239824 2012-11-08 15:43:19
           7 NOT ACTIVE                    0
           8 NOT ACTIVE           3268230043 2014-03-20 10:13:21
           9 NOT ACTIVE                    0
          10 NOT ACTIVE                    0
          11 NOT ACTIVE                    0
          12 NOT ACTIVE                    0
          13 NOT ACTIVE                    0
          14 NOT ACTIVE                    0

14 rows selected.

--结束热备份:
SCOTT@test> alter tablespace users end backup ;
Tablespace altered.

SCOTT@test> SELECT file#, CHECKPOINT_CHANGE#, CREATION_CHANGE#  , RESETLOGS_CHANGE#,status, CHECKPOINT_COUNT  FROM v$datafile_header;
       FILE# CHECKPOINT_CHANGE# CREATION_CHANGE# RESETLOGS_CHANGE# STATUS  CHECKPOINT_COUNT
------------ ------------------ ---------------- ----------------- ------- ----------------
           1        12005514399                7        3011113647 ONLINE         856622640
           2        12005514399             2140        3011113647 ONLINE         856622634
           3        12005514399       3241444492        3011113647 ONLINE         856622635
           4        12005514724            17993        3011113647 ONLINE         856622646
           5        12005514399           973735        3011113647 ONLINE         856622637
           6        12005514399          1412559        3011113647 ONLINE         856622603
           7        12005514399          4383251        3011113647 ONLINE         856622632
           8        12005514399         13169364        3011113647 ONLINE         856622634
           9        12005514399       3223747107        3011113647 ONLINE         856622632
          10        12005514399      12002485849        3011113647 ONLINE               151
          11        12005514399      11673111577        3011113647 ONLINE              1117
          12        12005514399      11994962958        3011113647 ONLINE               475
          13        12005514399      11992635787        3011113647 ONLINE               588
          14        12005514399      11992670578        3011113647 ONLINE               586
14 rows selected.

--注意看file#=4,CHECKPOINT_CHANGE#现在是12005514724(没变),CHECKPOINT_COUNT=856622646,CHECKPOINT_COUNT又增加1次。

SCOTT@test> rollback ;
Rollback complete.

SCOTT@test> select rowid,dept.* from dept;
ROWID                    DEPTNO DNAME          LOC
------------------ ------------ -------------- -------------
AABBrlAAEAAAAWDAAB           10 ACCOUNTING     new york
AABBrlAAEAAAAWDAAC           20 RESEARCH       dallas1
AABBrlAAEAAAAWDAAD           30 SALES          chicago
AABBrlAAEAAAAWDAAE           40 OPERATIONS     boston

--可以发现在做热备份前,数据库会对涉及到的做了一个数据文件检查点操作.

时间: 2024-07-30 10:59:57

[20150308]热备份和数据库检查点.txt的相关文章

[20150911]关于增量检查点.txt

[20150911]关于增量检查点.txt --昨天被人问及我们的测试库,增量检查点的问题,我告诉对方,我设置了参数log_checkpoints_to_alert=true,当写增量检查点时会 --同时写入alert*.log日志文件,被问及时间间隔问题,实际上增量检查点的写入与许多因素相关,比如如果数据库修改很多,数据缓存 --大小,redo file的大小以及数量都存在关系. --但是我的测试库基本我自己用,没事看看增量检查点的间隔是多少,会与什么参数有关. $ grep -B1 "^In

vb.net 数据库 从txt文件中提取数据显示在数据库上

问题描述 vb.net 数据库 从txt文件中提取数据显示在数据库上 哪位大神帮我写个简单代码,从txt文件中提取数据,然后显示在数据库中,并且修改之后又可以保存在txt中,可以一起商量写.会有相当酬劳.联系我qq1184218831 解决方案 File.ReadAllLines(你的文本文件) 这样就可以读取到数组中 然后用Split分割列. 解决方案二: 文本中的数据不规则,是通过先查找,做成数组,在显示到数据里,如果你会做,我能加你qq,咨询你吗? 解决方案三: 用正则表达式去过滤.

[20170623]利用传输表空间恢复数据库2.txt

[20170623]利用传输表空间恢复数据库2.txt --//继续上午的测试,测试truncate,是否可行,理论讲应该没有问题.我主要的目的测试是否要切换日志. --//参考链接 : http://blog.itpub.net/267265/viewspace-2141166/ 1.环境: SCOTT@book> @ &r/ver1 PORT_STRING                    VERSION        BANNER -------------------------

[20170111]设置无需口令登录数据库2.txt

[20170111]设置无需口令登录数据库2.txt --//上午测试无需口令登录数据库,这样连接数据库使用sqlplus /@book ,这样实际上通过网络连接数据库,哪怕是在本机也是这样. --//思考一下是否绕过. --//前面测试链接:http://blog.itpub.net/267265/viewspace-2132220/ 1.环境: SCOTT@book> @ &r/ver1 PORT_STRING                    VERSION        BANN

[20141202]改变文件大小与检查点.txt

[20141202]改变文件大小与检查点.txt Resize datafile会触发一个文件级检查点,真的是这样吗?自己做一个测试: SCOTT@test> @ver1 PORT_STRING                    VERSION        BANNER ------------------------------ -------------- -----------------------------------------------------------------

[20150910]关于对象级检查点.txt

[20150910]关于对象级检查点.txt --oracle从8i以后基本使用增量检查点取代原来的检查点模式,但是如果一个对象表被drop,truncate时也要将这些脏块写文件. --这个叫Object level Checkpoint,如何验证这个过程,实际上很简单仅仅需要检查v$bh或者x$bh视图,或者转储脏块看看里面 --的内容是否存在变化,来验证这个过程,还是通过例子来说明: --我个人喜欢使用bbed观察,效果与块转储一直. 1.建立测试环境: SCOTT@test> @ver1

[20130125]利用v$active_session_history视图解决数据库问题.txt

[20130125]利用v$active_session_history视图解决数据库问题.txt 在数据库出现性能问题的时候使用awr,ash,addm都是不错的选择,实际上直接查询v$active_session_history也能很快定位解决问题.实际上如果查看v$active_session_history视图,结合一些视图可以获取许多信息.举几个例子来说明: 1.确定那个对象有高的等待:SELECT   a.current_obj#, o.object_name, o.object_t

Oracle数据库检查点未完成的原因

最近在alter日志中发现 Checkpoint not complete 信息 产生此问题的原因具体分析: 首先说一下checkpoint 是什么? chkpoint是一个数据库的内部机制,它存在有两个目的: 1. 保证数据的一致性 系统发生检查点将出发DBWR进程将缓冲区中的脏数据块写入到数据文件,同时更新数据文件中的SCN号,记录联机重做日志文件中LRBA(low redo block address)的位置到控制文件中,当在写入过程中,突然实例崩溃,脏数据块没有完全写入到数据文件中.当实

联机热备份失败后,如何打开数据库?

备份|热备份|数据|数据库 联机热备份失败后,如何打开数据库?系统环境: 1.操作系统:Windows 20002.数据库: Oracle 8i R2 (8.1.6) for NT 企业版3.安装路径:C:\ORACLE错误现象: 进行联机热备份时,服务器发生故障,如掉电,重新启动服务器,启动数据库时,无法打开数据库,Oracle要求进行介质恢复,因为表空间还处在热备份状态.模拟现象及解决方法: 先将数据库设置为归档模式C:\>svrmgrlsvrmgrl>connect internalsv