[20190510]rman备份的疑问8.txt

[20190510]rman备份的疑问8.txt


--//上午测试rman备份多个文件,探究input memory buffer 的问题.

--//补充测试5个文件的情况.

--//http://blog.itpub.net/267265/viewspace-2148246/=>[20171204]关于rman备份疑问4.txt 


1.环境:

SCOTT@book> @ ver1

PORT_STRING                    VERSION        BANNER

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

x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production


$ cat dx.sql

drop tablespace t&1 including contents and datafiles;

CREATE TABLESPACE T&1 DATAFILE '/mnt/ramdisk/book/T&1..dbf' SIZE 6M AUTOEXTEND OFF LOGGING ONLINE EXTENT MANAGEMENT LOCAL AUTOALLOCATE BLOCKSIZE 8K SEGMENT SPACE MANAGEMENT AUTO FLASHBACK ON;

create table t&1 tablespace t&1 as select rownum id ,to_char(rownum,'FM000000')||lpad('&&2',26,'&&2') name from dual connect by level<=1e5;

--//T&1..dbf 2个点.事后才发现这个小问题.


$ paste -d " " <(seq -f "%02g" 5 ) <((echo A B C D E | tr ' ' '\n' )) | xargs -IQ echo @ dx Q | sqlplus -s -l scott/book


2.修改rman配置:


RMAN> CONFIGURE CHANNEL 1 DEVICE TYPE DISK RATE 128 K;

using target database control file instead of recovery catalog

old RMAN configuration parameters:

CONFIGURE CHANNEL 1 DEVICE TYPE DISK RATE 512 K;

new RMAN configuration parameters:

CONFIGURE CHANNEL 1 DEVICE TYPE DISK RATE 128 K;

new RMAN configuration parameters are successfully stored

--//延迟备份写盘速度,就可以看出一些细节.


--//RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET;

--//RMAN> CONFIGURE CONTROLFILE AUTOBACKUP OFF;


3.备份:

RMAN> backup  datafile 9,10,11,12,13 format '/home/oracle/backup/t12345_%t_%U' ;


Starting backup at 2019-05-10 17:16:28

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=58 device type=DISK

channel ORA_DISK_1: starting full datafile backup set

channel ORA_DISK_1: specifying datafile(s) in backup set

input datafile file number=00009 name=/mnt/ramdisk/book/T01dbf

input datafile file number=00010 name=/mnt/ramdisk/book/T02dbf

input datafile file number=00011 name=/mnt/ramdisk/book/T03dbf

input datafile file number=00012 name=/mnt/ramdisk/book/T04dbf

input datafile file number=00013 name=/mnt/ramdisk/book/T05dbf

channel ORA_DISK_1: starting piece 1 at 2019-05-10 17:16:28

channel ORA_DISK_1: finished piece 1 at 2019-05-10 17:20:33

piece handle=/home/oracle/backup/t12345_1007918188_2ju1773c_1_1 tag=TAG20190510T171628 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:04:05

channel ORA_DISK_1: throttle time: 0:04:00

Finished backup at 2019-05-10 17:20:33


--//执行如下:

SELECT set_count

        ,device_type

        ,TYPE

        ,filename

        ,buffer_size

        ,buffer_count

        ,open_time

        ,close_time

    FROM v$backup_async_io

   where set_count=83

ORDER BY set_count

        ,TYPE

        ,open_time

        ,close_time;


SET_COUNT DEVICE_TYPE TYPE      FILENAME                                           BUFFER_SIZE BUFFER_COUNT OPEN_TIME           CLOSE_TIME

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

       83 DISK        AGGREGATE                                                              0            0 2019-05-10 17:16:28 2019-05-10 17:20:28

       83 DISK        INPUT     /mnt/ramdisk/book/T01dbf                                524288            6 2019-05-10 17:16:28 2019-05-10 17:20:28

       83 DISK        INPUT     /mnt/ramdisk/book/T02dbf                                524288            6 2019-05-10 17:16:28 2019-05-10 17:20:28

       83 DISK        INPUT     /mnt/ramdisk/book/T03dbf                                524288            6 2019-05-10 17:16:32 2019-05-10 17:20:28

       83 DISK        INPUT     /mnt/ramdisk/book/T04dbf                                524288            6 2019-05-10 17:16:36 2019-05-10 17:20:28

       83 DISK        INPUT     /mnt/ramdisk/book/T05dbf                                524288            6 2019-05-10 17:16:40 2019-05-10 17:20:28

       83 DISK        OUTPUT    /home/oracle/backup/t12345_1007918188_2ju1773c_1_1     1048576            4 2019-05-10 17:16:28 2019-05-10 17:20:28

7 rows selected.

--//注意看OPEN_TIME的时间,间隔4秒.顺序启动读取T03,T04,T05.

--//单个输入缓存512K ,512*6=3M.

--//开始启动同时读取T01,T02

--//也就是写出512K时,开始读取T03.再写出512K,读取T04.再再写出512K时,读取T05.

--//而512K就是一个input buffer 的大小,也就是开始阶段写完1个input buffer到output buffer,读取新数据文件.


4.如果我验证备份时3个文件,T03读取是8秒以后就可以验证我的判断.


RMAN> backup  datafile 9,10,11 format '/home/oracle/backup/t1_%t_%U' ;

Starting backup at 2019-05-10 17:28:09

using channel ORA_DISK_1

channel ORA_DISK_1: starting full datafile backup set

channel ORA_DISK_1: specifying datafile(s) in backup set

input datafile file number=00009 name=/mnt/ramdisk/book/T01dbf

input datafile file number=00010 name=/mnt/ramdisk/book/T02dbf

input datafile file number=00011 name=/mnt/ramdisk/book/T03dbf

channel ORA_DISK_1: starting piece 1 at 2019-05-10 17:28:09

channel ORA_DISK_1: finished piece 1 at 2019-05-10 17:30:34

piece handle=/home/oracle/backup/t1_1007918889_2mu177p9_1_1 tag=TAG20190510T172809 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:02:25

channel ORA_DISK_1: throttle time: 0:02:24

Finished backup at 2019-05-10 17:30:34


SELECT set_count

        ,device_type

        ,TYPE

        ,filename

        ,buffer_size

        ,buffer_count

        ,open_time

        ,close_time

    FROM v$backup_async_io

   where set_count=86

ORDER BY set_count

        ,TYPE

        ,open_time

        ,close_time;


SET_COUNT DEVICE_TYPE TYPE      FILENAME                                       BUFFER_SIZE BUFFER_COUNT OPEN_TIME           CLOSE_TIME

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

       86 DISK        AGGREGATE                                                          0            0 2019-05-10 17:28:09 2019-05-10 17:30:33

       86 DISK        INPUT     /mnt/ramdisk/book/T01dbf                           1048576            5 2019-05-10 17:28:09 2019-05-10 17:30:33

       86 DISK        INPUT     /mnt/ramdisk/book/T02dbf                           1048576            5 2019-05-10 17:28:09 2019-05-10 17:30:33

       86 DISK        INPUT     /mnt/ramdisk/book/T03dbf                           1048576            5 2019-05-10 17:28:17 2019-05-10 17:30:33

       86 DISK        OUTPUT    /home/oracle/backup/t1_1007918889_2mu177p9_1_1     1048576            4 2019-05-10 17:28:09 2019-05-10 17:30:33


--//注意看OPEN_TIME的时间,间隔8秒.启动读取T03.

--//单个输入缓存1024K ,1024*5=3M.

--//开始启动同时读取T01,T02

--//也就是写出1M时,开始读取T03.

--//而1024K就是一个input buffer 的大小,也就是开始阶段写完1个input buffer到output buffer,读取新数据文件.


--//贴出4个文件的情况:

RMAN> backup  datafile 9,10,11,12 format '/home/oracle/backup/t1_%t_%U' ;

Starting backup at 2019-05-10 17:35:43

using channel ORA_DISK_1

channel ORA_DISK_1: starting full datafile backup set

channel ORA_DISK_1: specifying datafile(s) in backup set

input datafile file number=00009 name=/mnt/ramdisk/book/T01dbf

input datafile file number=00010 name=/mnt/ramdisk/book/T02dbf

input datafile file number=00011 name=/mnt/ramdisk/book/T03dbf

input datafile file number=00012 name=/mnt/ramdisk/book/T04dbf

channel ORA_DISK_1: starting piece 1 at 2019-05-10 17:35:43

channel ORA_DISK_1: finished piece 1 at 2019-05-10 17:38:58

piece handle=/home/oracle/backup/t1_1007919343_2nu1787f_1_1 tag=TAG20190510T173543 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:03:15

channel ORA_DISK_1: throttle time: 0:03:12

Finished backup at 2019-05-10 17:38:58


SET_COUNT DEVICE_TYPE TYPE      FILENAME                                           BUFFER_SIZE BUFFER_COUNT OPEN_TIME           CLOSE_TIME

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

       87 DISK        AGGREGATE                                                              0            0 2019-05-10 17:35:43 2019-05-10 17:38:55

       87 DISK        INPUT     /mnt/ramdisk/book/T01dbf                               1048576            4 2019-05-10 17:35:43 2019-05-10 17:38:55

       87 DISK        INPUT     /mnt/ramdisk/book/T02dbf                               1048576            4 2019-05-10 17:35:43 2019-05-10 17:38:55

       87 DISK        INPUT     /mnt/ramdisk/book/T03dbf                               1048576            4 2019-05-10 17:35:51 2019-05-10 17:38:55

       87 DISK        INPUT     /mnt/ramdisk/book/T04dbf                               1048576            4 2019-05-10 17:35:59 2019-05-10 17:38:55

       87 DISK        OUTPUT    /home/oracle/backup/t1_1007919343_2nu1787f_1_1         1048576            4 2019-05-10 17:35:43 2019-05-10 17:38:55

6 rows selected.

--//自己看,不再解析了.


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

转载于:http://blog.itpub.net/267265/viewspace-2643952/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值