[20171128]rman Input or output Memory Buffers.txt

来源:http://www.cnblogs.com/lfree/archive/2017/11/28/7910238.html
-Advertisement-
Play Games

[20171128]rman Input or output Memory Buffers.txt--//做一個簡單測試rman 的Input or output Memory Buffers.1.環境:SCOTT@book> @ &r/ver1PORT_STRING VERSION BANNER ...


[20171128]rman Input or output Memory Buffers.txt

--//做一個簡單測試rman 的Input or output Memory Buffers.

1.環境:
SCOTT@book> @ &r/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

--// drop tablespace sugar including contents and datafiles;
CREATE TABLESPACE SUGAR DATAFILE
  '/mnt/ramdisk/book/sugar01.dbf' SIZE 11M AUTOEXTEND OFF
LOGGING
ONLINE
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT AUTO
FLASHBACK ON;

create table t1 tablespace sugar as select rownum id ,lpad('A',32,'A') name from dual connect by level<=2e5;

SCOTT@book> select sum(bytes) from dba_extents where owner=user and segment_name in ('T1');
SUM(BYTES)
----------
  10485760

--//rman配置:
RMAN> CONFIGURE CHANNEL 1 DEVICE TYPE DISK RATE 128k;
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;
old RMAN configuration parameters:
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET;
new RMAN configuration parameters:
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET;
new RMAN configuration parameters are successfully stored

--//建立測試腳本.
$ cat out.sh
#!/bin/bash
rman target / <<EOF &
backup as copy datafile 7 format '/home/oracle/backup/%b_1' ;
EOF
for i in {1..100}
do
    echo -n $(date +%H%M%S) ":" >> /tmp/aaa.txt
    strings /home/oracle/backup/sugar01.dbf_1 2>/dev/null | grep "AAAAA" |wc >> /tmp/aaa.txt 2>/dev/null
    sleep 1
done

2.做表空間sugar的映像備份:
$ . out.sh
....
Starting backup at 2017-11-28 15:09:25
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=144 device type=DISK
channel ORA_DISK_1: starting datafile copy
input datafile file number=00007 name=/mnt/ramdisk/book/sugar01.dbf
output file name=/home/oracle/backup/sugar01.dbf_1 tag=TAG20171128T150925 RECID=69 STAMP=961254653
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:01:35
channel ORA_DISK_1: throttle time: 0:01:28
Finished backup at 2017-11-28 15:11:00

Starting Control File and SPFILE Autobackup at 2017-11-28 15:11:00
piece handle=/u01/app/oracle/fast_recovery_area/BOOK/autobackup/2017_11_28/o1_mf_s_961254660_f1t304tk_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 2017-11-28 15:11:01
....

$ cut -d":" -f2 /tmp/aaa.txt  | uniq -c
      9       0       0       0
      6   20058   34093  725881
      6   41226   70058 1491458
      7   62394  106045 2256986
      6   83562  142017 3023196
      6  104730  178013 3794099
      6  125898  214038 4560480
      6  147066  250034 5326802
      6  168234  286030 6093124
      6  189402  322053 6859500
     36  200000  340080 7243181
--//可以發現前9秒沒有AAAA.

$ time strings /home/oracle/backup/sugar01.dbf_1 2>/dev/null | grep "AAAAA" |wc
 200000  340080 7243181
real    0m0.336s
user    0m0.410s
sys     0m0.032s

--//單獨執行strings消耗.0410s.這樣6次,strings大約消耗2.4秒.這樣大約8秒,AAAA的次數就發生變化.
--//而CONFIGURE CHANNEL 1 DEVICE TYPE DISK RATE 128k;這樣1M數據量就需要8秒.

--//另外還可以看出前後相減:
 20058 - 0 = 20058
 41226 - 20058 = 21168
 62394 - 41226 = 21168
 83562 - 62394 = 21168
104730 - 83562 = 21168
125898 -104730 = 21168
147066 -125898 = 21168
168234 -147066 = 21168
189402 -168234 = 21168

--//除了第1個數量是20058外,其它都是21168.

SCOTT@book> column PARTITION_NAME noprint
SCOTT@book> select * from dba_extents where segment_name='T1';
OWNER  SEGMENT_NAME SEGMENT_TYPE TABLESPACE_NAME  EXTENT_ID    FILE_ID   BLOCK_ID      BYTES     BLOCKS RELATIVE_FNO
------ ------------ ------------ --------------- ---------- ---------- ---------- ---------- ---------- ------------
SCOTT  T1           TABLE        SUGAR                    0          7        128      65536          8            7
SCOTT  T1           TABLE        SUGAR                    1          7        136      65536          8            7
SCOTT  T1           TABLE        SUGAR                    2          7        144      65536          8            7
SCOTT  T1           TABLE        SUGAR                    3          7        152      65536          8            7
SCOTT  T1           TABLE        SUGAR                    4          7        160      65536          8            7
SCOTT  T1           TABLE        SUGAR                    5          7        168      65536          8            7
SCOTT  T1           TABLE        SUGAR                    6          7        176      65536          8            7
SCOTT  T1           TABLE        SUGAR                    7          7        184      65536          8            7
SCOTT  T1           TABLE        SUGAR                    8          7        192      65536          8            7
SCOTT  T1           TABLE        SUGAR                    9          7        200      65536          8            7
SCOTT  T1           TABLE        SUGAR                   10          7        208      65536          8            7
SCOTT  T1           TABLE        SUGAR                   11          7        216      65536          8            7
SCOTT  T1           TABLE        SUGAR                   12          7        224      65536          8            7
SCOTT  T1           TABLE        SUGAR                   13          7        232      65536          8            7
SCOTT  T1           TABLE        SUGAR                   14          7        240      65536          8            7
SCOTT  T1           TABLE        SUGAR                   15          7        248      65536          8            7
SCOTT  T1           TABLE        SUGAR                   16          7        256    1048576        128            7
SCOTT  T1           TABLE        SUGAR                   17          7        384    1048576        128            7
SCOTT  T1           TABLE        SUGAR                   18          7        512    1048576        128            7
SCOTT  T1           TABLE        SUGAR                   19          7        640    1048576        128            7
SCOTT  T1           TABLE        SUGAR                   20          7        768    1048576        128            7
SCOTT  T1           TABLE        SUGAR                   21          7        896    1048576        128            7
SCOTT  T1           TABLE        SUGAR                   22          7       1024    1048576        128            7
SCOTT  T1           TABLE        SUGAR                   23          7       1152    1048576        128            7
SCOTT  T1           TABLE        SUGAR                   24          7       1280    1048576        128            7
25 rows selected.

SCOTT@book> select count(*) from t1 where DBMS_ROWID.ROWID_BLOCK_NUMBER (rowid) between 128 and 256-1;
  COUNT(*)
----------
     20058

SCOTT@book> select count(*) from t1 where DBMS_ROWID.ROWID_BLOCK_NUMBER (rowid) between 256 and 384-1;
  COUNT(*)
----------
     21168

SCOTT@book> select count(*) from t1 where DBMS_ROWID.ROWID_BLOCK_NUMBER (rowid) between 384 and 512-1;
  COUNT(*)
----------
     21168

SCOTT@book> select count(*) from t1 where DBMS_ROWID.ROWID_BLOCK_NUMBER (rowid) between 512 and 640-1;
  COUNT(*)
----------
     21168

SCOTT@book> select count(*) from t1 where DBMS_ROWID.ROWID_BLOCK_NUMBER (rowid) between 640 and 768-1;
  COUNT(*)
----------
     21168

SCOTT@book> select count(*) from t1 where DBMS_ROWID.ROWID_BLOCK_NUMBER (rowid) between 768 and 896-1;
  COUNT(*)
----------
     21168

SCOTT@book> select count(*) from t1 where DBMS_ROWID.ROWID_BLOCK_NUMBER (rowid) between 896 and 1024-1;
  COUNT(*)
----------
     21168

SCOTT@book> select count(*) from t1 where DBMS_ROWID.ROWID_BLOCK_NUMBER (rowid) between 1024 and 1152-1;
  COUNT(*)
----------
     21168

SCOTT@book> select count(*) from t1 where DBMS_ROWID.ROWID_BLOCK_NUMBER (rowid) between 1152 and 1280-1;
  COUNT(*)
----------
     21168

SCOTT@book> select count(*) from t1 where DBMS_ROWID.ROWID_BLOCK_NUMBER (rowid) >= 1280 ;
  COUNT(*)
----------
     10598

--//8*21168+20058=189402
--//189402+10598=200000
--//說明oracle 的輸出緩存是1M.

--//你可能認為不是順序讀取.
--//修改一定的記錄看看.

update t1 set name=lpad('B',32,'B') where DBMS_ROWID.ROWID_BLOCK_NUMBER (rowid) between 128 and 256-1   and rownum<=1;
update t1 set name=lpad('B',32,'B') where DBMS_ROWID.ROWID_BLOCK_NUMBER (rowid) between 256 and 384-1   and rownum<=2;
update t1 set name=lpad('B',32,'B') where DBMS_ROWID.ROWID_BLOCK_NUMBER (rowid) between 384 and 512-1   and rownum<=3;
update t1 set name=lpad('B',32,'B') where DBMS_ROWID.ROWID_BLOCK_NUMBER (rowid) between 512 and 640-1   and rownum<=4;
update t1 set name=lpad('B',32,'B') where DBMS_ROWID.ROWID_BLOCK_NUMBER (rowid) between 640 and 768-1   and rownum<=5;
update t1 set name=lpad('B',32,'B') where DBMS_ROWID.ROWID_BLOCK_NUMBER (rowid) between 768 and 896-1   and rownum<=6;
update t1 set name=lpad('B',32,'B') where DBMS_ROWID.ROWID_BLOCK_NUMBER (rowid) between 896 and 1024-1  and rownum<=7;
update t1 set name=lpad('B',32,'B') where DBMS_ROWID.ROWID_BLOCK_NUMBER (rowid) between 1024 and 1152-1 and rownum<=8;
update t1 set name=lpad('B',32,'B') where DBMS_ROWID.ROWID_BLOCK_NUMBER (rowid) between 1152 and 1280-1 and rownum<=9;
commit;
alter system checkpoint;
alter system checkpoint;
alter system checkpoint;

$ cat out1.sh
#!/bin/bash
rman target / <<EOF &
backup as copy datafile 7 format '/home/oracle/backup/%b_1' ;
EOF
for i in {1..100}
do
    echo -n $(date +%H%M%S-%N) ":" >> /tmp/aaa.txt
    strings /home/oracle/backup/sugar01.dbf_1 2>/dev/null | grep "BBBBB" |wc >> /tmp/aaa.txt 2>/dev/null
    sleep 1
done

$ . out1.sh
....
Starting backup at 2017-11-28 15:22:35
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=132 device type=DISK
channel ORA_DISK_1: starting datafile copy
input datafile file number=00007 name=/mnt/ramdisk/book/sugar01.dbf
output file name=/home/oracle/backup/sugar01.dbf_1 tag=TAG20171128T152235 RECID=70 STAMP=961255443
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:01:35
channel ORA_DISK_1: throttle time: 0:01:28
Finished backup at 2017-11-28 15:24:10

Starting Control File and SPFILE Autobackup at 2017-11-28 15:24:10
piece handle=/u01/app/oracle/fast_recovery_area/BOOK/autobackup/2017_11_28/o1_mf_s_961255450_f1t3rtys_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 2017-11-28 15:24:11
...

$ cut -d":" -f2 /tmp/aaa.txt  | uniq -c
      9       0       0       0
      6       1       1      34
      6       3       5     105
      7       6       8     209
      6      10      16     352
      6      15      26     541
      7      21      38     762
      6      28      47    1009
      6      36      63    1304
     30      45      81    1636

--//前後相減正好是1,2,3,4,5,6,7,8,9.不正說明是順序讀取的嗎?
--//沒有測試input memory buffer.有點長,另外寫一篇.


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一個Hybrid APP,如何做離線緩存策略?也可以簡單來說,你的APP只是一個殼,裡面真正載入的內容是H5,如果優化載入內容的速度? ...
  • APP搜索頁基本上是少不了的,熱門搜索、搜索記錄等;這裡推薦一個大牛ko1o寫的:PYSearch,他還有一個不錯的圖片瀏覽開源:PYPhotoBrowser;這個也不錯,感興趣的可以瞭解下;下麵說下PYSearch的主要功能及(原Gitdemo)效果; 熱門搜索風格 PYHotSearchStyl ...
  • 新建一個OC語言的項目,然後添加一個基於NSObject的Swift文件SwiftFileModel類 .swift 這時會提示你是否添加橋接文件,點擊創建後體統會自動創建一個橋接文件,但是如果點擊取消後,就需要自己建橋接文件; 手動創建橋接文件 新建h文件,名字隨便起,但最好專業些,我這裡不專業 ...
  • 一、Mysql邏輯架構 引用自《高性能Mysql》 二、併發控制讀寫鎖:讀鎖是共用的,寫鎖是排他的,會阻塞其他的寫鎖和讀鎖。鎖粒度:表鎖、行級鎖三、事務事務(ACID特性):原子性、一致性、隔離性、持久性隔離級別 Read uncommitted未提交讀 事務中的修改,即使沒有提交,其他事務也是可見... ...
  • 一、配置MySQL資料庫 1、解壓綠色版mysql,並改名為mysql5.7,如下圖 對比一下下圖5.6以前的版本,少data目錄(存放數據)和my-default.ini文件(配置信息) 二、安裝服務 1、運行cmd(管理員版本,否則沒有許可權),如下圖 2、對於新版mysql5.7沒有了data目 ...
  • 各位小伙伴,上次講了《深入淺出Redis》和《Redis安裝和實際應用》本篇文章將為大家解密redis的持久化和主從複製機制。 Redis持久化 Redis 提供了多種不同級別的持久化方式: RDB 持久化可以在指定的時間間隔內生成數據集的時間點快照(point-in-time snapshot)。 ...
  • 參考鏈接:http://www.yiibai.com/mysql/ 一、 SQLECT 語法 SELECT column_1, column_2, ... FROM table_1 [INNER | LEFT |RIGHT] JOIN table_2 ON conditions WHERE cond ...
  • 解決power designer 不能自動生成註釋的解決辦法只需要3步: 一、快捷鍵 Alt+Shift+X 打開腳本編輯器; 二、將下麵天藍色的字體腳本添加到腳本編輯器裡面; Option ExplicitValidationMode = TrueInteractiveMode = im_Batc ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...