MicrosoftInternetExplorer402

亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

武漢竟升Q復制實施文檔

系統 1646 0

<!-- [if gte mso 9]><xml><w:WordDocument><w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel><w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery><w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery><w:DocumentKind>DocumentNotSpecified</w:DocumentKind><w:DrawingGridVerticalSpacing>7.8</w:DrawingGridVerticalSpacing><w:View>Normal</w:View><w:Compatibility></w:Compatibility><w:Zoom>0</w:Zoom></w:WordDocument></xml><![endif]-->

1. 系統環境準備

1.1 用戶和組

創建如下用戶,用戶的屬組如下所示:

A機:源數據庫 10.68.22.231

uid=301(db2inst1)gid=301(db2ig rp1)groups=1(staff),501(mqm)

uid=303(db2fusr1)gid=30 3 (db2fgrp1)groups=1(staff),501(mqm)

uid=501(mqm)gid=501(mqm)groups=1(staff)

uid=305(dasusr1)gid=305(dasgrp1)groups=1(staff),501(mqm)

B機:目標數據庫 10.68.22.23 2

uid=302(db2inst2)gid=30 2 (db2igrp 2 )groups=1(staff),50 2 (mqm)

uid=304(db2fusr2)gid=30 4 (db2fgrp 2 )groups=1(staff),50 2 (mqm)

uid=50 2 (mqm)gid=50 2 (mqm)groups=1(staff)

uid=306(dasusr2)gid=306(dasgrp2)groups=1(staff),502(mqm)

1.2 文件系統

在A機創建如下文件系統:

文件系統名

大小

裸設備名

描述

/caplog

10G

/dev/caploglv

/var/mqm/QMCAP

3G

/dev/qmcaplv

/var/mqm/QMCAP/log

7G

/dev/qmcaploglv

在B機創建如下文件系統:

文件系統名

大小

裸設備名

描述

/applog

10G

/dev/apploglv

/var/mqm/QMAPP

3G

/dev/qmapplv

/var/mqm/QMAPP/log

7G

/dev/qmapploglv

2. 軟件安裝

2.1 DB2UDB安裝

DB2UDB版本情況:

$db2level

DB21085IInstance"db2inst1"uses"64"bitsandDB2coderelease"SQL09013"withlevelidentifier"01040107".

Informationaltokensare"DB2v9. 5 .0. 7 ","s070719","U811590",andFixPack" 7 ".Productisinstalledat"/db2/V9. 5 ".

2.2 WebSphereMQ安裝

$dspmqver

Name:WebSphereMQ

Version:6.0. 0 . 0

CMVClevel:p600-101-060504

BuildType:IKAP-(Production)

2.3 注冊Q復制服務器license

在A機注冊Q復制服務器license

$su db2inst1

$db2licm-awsrs.lic

在B機注冊Q復制服務器license

$su db2inst1

$db2licm-awsrs.lic

3. DB2UDB配置

3.1 介紹數據環境

在A機和B機上創建數據庫,數據庫名都為 BPFDB,apply

3.2 配置編目信息

在A機的db2inst1用戶進行如下編目:

$su db2inst1

$db2catalogtcpipnode CCZFDB1 remote 10.68.22.231 server 50010

$db2catalogtcpipnode CCZFDB 2remote 10.68.22.232 server 500 2 0

$db2catalogdb APPLY atnode CCZFDB 2

$db2terminate

在B機的db2inst2用戶進行如下編目:

$su db2inst2

$db2catalogtcpipnode CCZFDB1 remote 10.68.22.231 server 50010

$db2catalogtcpipnode CCZFDB 2remote 10.68.22.232 server 500 2 0

$db2catalogdb BPFDB atnode CCZFDB1

$db2terminate

4. WebSphereMQ配置

4.1 創建MQ對象

4.1.1. A機MQ配置

$su-mqm

$envMQSPREFIX= /var/mqm/QMCAP

$crtmqm-ld /var/mqm/QMCAP/log -lc-lf15000-lp30-ls10QMCAP

$strmqmQMCAP

$runmqscQMCAP<crt_cap_obj.tst>crt_cap_obj.log

創建QMCAP隊列和通道的腳本crt_cap_obj.tst內容:

DEFINEQLOCAL('DEADQ')MAXMSGL(4194403)MAXDEPTH(5000)

ALTERQMGRDEADQ('DEADQ')

DEFINEQLOCAL('ASN.QMCAP.RESTARTQ')DEFPSIST(YES)PUT(ENABLED)GET(ENABLED)MAXMSGL(4194403)MAXDEPTH(5000)

DEFINEQLOCAL('ASN.QMCAP.ADMINQ')DEFPSIST(YES)PUT(ENABLED)GET(ENABLED)MAXMSGL(4194403)MAXDEPTH(5000)

DEFINEQLOCAL('ASN.QMAPP_TO_QMCAP.DATAQ')DEFPSIST(YES)SHAREMSGDLVSQ(PRIORITY)MAXMSGL(4194403)MAXDEPTH(5000)

DEFINEQREMOTE('ASN.QMAPP.ADMINQ')RNAME('ASN.QMAPP.ADMINQ')RQMNAME('QMAPP')XMITQ('QMAPP')DEFPSIST(YES)

DEFINEQLOCAL('QMAPP')USAGE(XMITQ)DEFPSIST(YES)TRIGGERTRIGTYPE(FIRST)TRIGDATA(QMCAP_TO_QMAPP)INITQ(SYSTEM.CHANNEL.INITQ)MAXMSGL(4194403)MAXDEPTH(5000)

DEFINEQREMOTE('ASN.QMCAP_TO_QMAPP.DATAQ')RNAME('ASN.QMCAP_TO_QMAPP.DATAQ')RQMNAME('QMAPP')XMITQ('QMAPP')DEFPSIST(YES)

DEFINECHL('QMCAP_TO_QMAPP')CHLTYPE(SDR)TRPTYPE(TCP)CONNAME(' 10.68.22.23 2 (1415)')XMITQ('QMAPP')DISCINT(0)HBINT(300)

DEFINECHL('QMAPP_TO_QMCAP')CHLTYPE(RCVR)TRPTYPE(TCP)HBINT(300)

DEFINEQMODEL('IBMQREP.SPILL.MODELQ')DEFSOPT(SHARED)MAXDEPTH(500000)MSGDLVSQ(FIFO)DEFTYPE(PERMDYN)MAXMSGL( 5 00000)

ALTERQMGRMAXUMSGS(10000)MAXMSGL(4194403)

definelistener(listener1)trptype(TCP)control(MANUAL)IPADDR(' 10.68.22.23 1 ')PORT(1414)

startlistener(listener1)

STARTCHL('QMCAP_TO_QMAPP')

4.1.2. B機MQ配置

創建MQ隊列管理器(QMAPP):

$su-mqm

$envMQSPREFIX= /var/mqm/QMAPP

$crtmqm-ld /var/mqm/QMAPP/log -lc - lf15000-lp30-ls10QMAPP

$strmqmQMAPP

$runmqscQMAPP<crt_app_obj.tst>crt_app_obj.log

創建QMAPP隊列和通道的腳本crt_app_obj.tst內容:

DEFINEQLOCAL('DEADQ')MAXMSGL(4194403)MAXDEPTH(5000)

ALTERQMGRDEADQ('DEADQ')

DEFINEQLOCAL('ASN.QMAPP.RESTARTQ')DEFPSIST(YES)PUT(ENABLED)GET(ENABLED)MAXMSGL(4194403)MAXDEPTH(5000)

DEFINEQLOCAL('ASN.QMAPP.ADMINQ')DEFPSIST(YES)PUT(ENABLED)GET(ENABLED)MAXMSGL(4194403)MAXDEPTH(5000)

DEFINEQLOCAL('ASN.QMCAP_TO_QMAPP.DATAQ')DEFPSIST(YES)SHAREMSGDLVSQ(PRIORITY)MAXMSGL(4194403)MAXDEPTH(5000)

DEFINEQREMOTE('ASN.QMCAP.ADMINQ')RNAME('ASN.QMCAP.ADMINQ')RQMNAME('QMCAP')XMITQ('QMCAP')DEFPSIST(YES)

DEFINEQLOCAL('QMCAP')USAGE(XMITQ)DEFPSIST(YES)TRIGGERTRIGTYPE(FIRST)TRIGDATA(QMAPP_TO_Q1)INITQ(SYSTEM.CHANNEL.INITQ)MAXMSGL(4194403)MAXDEPTH(5000)

DEFINEQREMOTE('ASN.QMAPP_TO_QMCAP.DATAQ')RNAME('ASN.QMAPP_TO_QMCAP.DATAQ')RQMNAME('QMCAP')XMITQ('QMCAP')DEFPSIST(YES)

DEFINECHL('QMAPP_TO_QMCAP')CHLTYPE(SDR)TRPTYPE(TCP)CONNAME(' 10.68.22.231 (1414)')XMITQ('QMCAP')DISCINT(0)HBINT(300)

DEFINECHL('QMCAP_TO_QMAPP')CHLTYPE(RCVR)TRPTYPE(TCP)HBINT(300)

DEFINEQMODEL('IBMQREP.SPILL.MODELQ')DEFSOPT(SHARED)MAXDEPTH(500000)MSGDLVSQ(FIFO)DEFTYPE(PERMDYN)MAXMSGL( 5 00000)

ALTERQMGRMAXUMSGS(10000)MAXMSGL(4194403)

definelistener(listener1)trptype(TCP)control(MANUAL)IPADDR(' 10.68.22.23 2 ')PORT(1415)

startlistener(listener1)

STARTCHL('QMAPP_TO_QMCAP')

4.2 刷新用戶安全信息

在A機刷新實例用戶的MQ安全信息:

$su-mqm

$runmqscQMCAP

refreshsecurity

end

在B機刷新實例用戶的MQ安全信息:

$su-mqm

$runmqscQMAPP

refreshsecurity

end

5. 實施DB2Q復制

以下內容建議使用 windows 客戶端編目后的 db2rc 復制中心實施。

DB2RC 的所在客戶端驚醒 DB2 編目:

db2=>catalogtcpipnodeCCZFDB1remote10.68.22.231server50010

DB20000ICATALOGTCPIPNODE 命令成功完成。

DB21056W 直到刷新目錄高速緩存之后,目錄更改才生效。

db2=>catalogtcpipnodeCCZFDB2remote10.68.22.232server50020

DB20000ICATALOGTCPIPNODE 命令成功完成。

DB21056W 直到刷新目錄高速緩存之后,目錄更改才生效。

db2=>catalogdbAPPLYatnodeCCZFDB2

DB20000ICATALOGDATABASE 命令成功完成。

DB21056W 直到刷新目錄高速緩存之后,目錄更改才生效。

db2=>db2catalogdbBPFDBatnodeCCZFDB1

SQL0104N " 語句開始 " 后面找到異常標記 "db2" 。預期標記可能包括: "SELECT"

SQLSTATE=42601

db2=>catalogdbBPFDBatnodeCCZFDB1

DB20000ICATALOGDATABASE 命令成功完成。

DB21056W 直到刷新目錄高速緩存之后,目錄更改才生效。

db2=>terminate

DB20000ITERMINATE 命令成功完成。

C:/IBM/SQLLIB/BIN>

5.1 創建Qcapture和Qapply控制表

使用initii.txt腳本產生capture控制表腳本qcapctrl.sql和apply控制表腳本qappctrl.sql。

在源數據庫中執行capture控制表腳本qcapctrl.sql,在目標數據庫中執行apply控制表腳本qappctrl.sql。

操作步驟如下:

$su db2inst1

$cd/caplog

$asnclp - finitii.txt

$db2connectto BPFDB userdb2inst1using 123456

$db2 tvfqcapctrl.sql

$db2connectto APPLY userdb2inst2using 123456

$db2 tvfqappctrl.sql

Initii.txt腳本內容:

#setenvironment

ASNCLPSESSIONSETTOQREPLICATION;

SETLOG"qcontrol.err";

SETSERVERCAPTURETODB BPFDB IDdb2inst1PASSWORD" 123456 ";

SETQMANAGER"QMCAP"FORCAPTURESCHEMA;

SETCAPTURESCHEMASOURCEASN;

SETSERVERTARGETTODB APPLY IDdb2inst2PASSWORD" 123456 ";

SETQMANAGER"QMAPP"FORAPPLYSCHEMA;

SETAPPLYSCHEMAASN;

SETOUTPUTCAPTURESCRIPT"qcapctrl.sql"TARGETSCRIPT"qappctrl.sql";

SETRUNSCRIPTLATER;

#2CreatingQCapturecontroltables.

CREATECONTROLTABLESFORCAPTURESERVERUSING

RESTARTQ"ASN.QMCAP.RESTARTQ"ADMINQ"ASN.QMCAP.ADMINQ"

MEMORYLIMIT64MONITORINTERVAL600000 INUWTBSPACE TBSCAP ;

#3CreatingQApplycontroltables.

#Thiscommandspecifiesapasswordfile,asnpwd.aut.TheQApplyprogamusesthis

#filetoconnecttotheQCaptureserverwhenitloadsthetargettable.

CREATECONTROLTABLESFORAPPLYSERVERUSINGPWDFILE"asnpwd.aut"

INUWTBSPACETBSAPP;

#4EndingtheASNCLPsession.

QUIT;

5.2 創建Q復制隊列映射

使用crt_map.txt腳本產生Qcapture隊列映射腳本 qcapmap .sql和Qapply隊列映射腳本 qappmap .sql。

在源數據庫中執行Qcapture復制隊列腳本 qcapmap .sql,在目標數據庫中執行apply復制隊列腳本 qappmap .sql。

操作步驟如下:

$su db2inst1

$cd/caplog

$asnclp fcrt_map.txt

$db2connectto BPFDB userdb2inst1using 123456

$db2 tvf qcapmap .sql

$db2connectto APPLY userdb2inst2using 123456

$db2 tvf qappmap .sql

crt_map.txt腳本內容如下:

#1Settingtheenvironment.

ASNCLPSESSIONSETTOQREPLICATION;

SETLOG"rqmap.err";

SETSERVERCAPTURETODB BPFDB IDdb2inst1PASSWORD" 123456 ";

SETCAPTURESCHEMASOURCEASN;

SETSERVERTARGETTODB APPLY IDdb2inst2PASSWORD" 123456 ";

SETAPPLYSCHEMAASN;

SETOUTPUTCAPTURESCRIPT"qcapmap.sql"TARGETSCRIPT"qappmap.sql";

SETRUNSCRIPTLATER;

#2Creatingareplicationqueuemap.

CREATEREPLQMAPS_ASN_TO_T_ASNUSING

ADMINQ"ASN.QMCAP.ADMINQ"RECVQ"ASN.QMCAP_TO_QMAPP.DATAQ"

SENDQ"ASN.QMCAP_TO_QMAPP.DATAQ"NUMAPPLYAGENTS8HEARTBEATINTERVAL5;

#3EndingtheASNCLPsession.

QUIT;

5.3 創建Q預訂

使用crt_q_order.txt腳本產生QcaptureQ預訂腳本qcapsub.sql和QapplyQ預訂腳本qappsub.sql。

在源數據庫中執行QcaptureQ預訂腳本qcapsub.sql,在目標數據庫中執行applyQ預訂腳本qappsub.sql。

操作步驟如下:

$su - db2inst1

$cd/caplog

$asnclp - fcrt_q_order.txt

$db2connectto BPFDB userdb2inst1using 123456

$db2 - tvfqcapsub.sql

$db2connectto APPLY userdb2inst2using 123456

$db2 tvfqappsub.sql

crt_q_order.txt內容:

#1Settingtheenvironment.

#TheSETOUTPUTcommandcreatestwoSQLscripts:qcapsub.sql,whichadds

#definitionsfortheQsubscriptiontotheQCapturecontroltables,and

#qappsub.sql,whichaddsdefinitionsfortheQsubscriptiontotheQApply

#controltables.

ASNCLPSESSIONSETTOQREPLICATION;

SETLOG"qsub.err";

SETSERVERCAPTURETODB BPFDB IDdb2inst1PASSWORD" 123456 ";

SETCAPTURESCHEMASOURCEASN;

SETSERVERTARGETTODB APPLY IDdb2inst2PASSWORD" 123456 ";

SETAPPLYSCHEMAASN;

SETOUTPUTCAPTURESCRIPT"qcapsub.sql"TARGETSCRIPT"qappsub.sql";

SETRUNSCRIPTLATER;

CREATEQSUBUSINGREPLQMAPS_ASN_TO_T_ASN(SUBNAME Q訂閱名稱 源表名 OPTIONSHASLOADPHASEIexistTARGETNAME 目標表名 LOADTYPE2);

#3EndingtheASNCLPsession.

QUIT;

以上 OPTIONSHASLOADPHASEI

HASLOADPHASE

指定是否使用源中的數據裝入 Q 預訂的目標表。

N

目標中沒有裝入階段。這是缺省值。

I

指定自動裝入。 QApply 程序將裝入目標。裝入方法取決于 LOAD_TYPE 關鍵字。對于將存儲過程指定為目標的 Q 預訂,此參數無效。

E

指定手工裝入。除 QApply 程序外的應用程序將裝入目標。在這種情況下,應使用 LOADDONE 命令指示裝入已完成。

以上 EXIST

EXIST

指定目標表已存在。

· 如果指定 EXIST 但未提供目標表名稱,則 ASNCLP 程序將查找缺省表 TGT-SOURCETABLENAME

· 如果指定 EXIST 和單個 TARGETNAME ,并且使用 SOURCEALL SOURCENAMELIKE ,則所有源表將映射至指定的那個現有目標表。

· 如果未指定 EXIST 并且使用 SOURCEALL SOURCENAMELIKE ,則源表將與使用缺省名稱 TGT-SOURCETABLENAME 的目標表配對。

以上軟件 LOADTYPE2

LOADTYPE

指定裝入類型。

0

自動選擇最佳類型。

1

僅使用 LOADfromCURSOR 。此參數對于經典復制無效。

2

僅使用 SELECT/IMPORT 。此參數對于經典復制無效。

3

僅使用 SELECT/LOAD 。此參數對于經典復制無效。

4

從經典源裝入。

5.4 口令配置

在A機配置口令:

$su db2inst1

$cd/caplog

$asnpwdinit

$asnpwdaddalias BPFDB iddb2inst1password 123456

$asnpwdaddalias APPLY iddb2inst2password 123456

在B機

$su db2inst2

$cd/applog

$asnpwdinit

$asnpwdaddalias BPFDB iddb2inst1password 123456

注意:由于創建數據庫BPFDB的時候沒有指定別名,所以這里別名自動成為數據庫名

$asnpwdaddalias APPLY iddb2inst2password 123456

6. 常用DB2Q復制命令

6.1 檢查Websphere ReplicationServer 環境

使用check_mq.txt腳本檢查WebSphereMQ環境。

操作步驟如下:

$su db2inst1

$cd/caplog

$asnclp - fcheck_mq.txt

確保命令執行后沒有錯誤輸出。

WebSphereMQ環境檢查腳本check_mq.txt內容:

#1Settingtheenvironment.

#NoSETRUNstatementisrequired.Thecommandsrunimmediatelyandsend

#resultstothecommandwindowandlog.

ASNCLPSESSIONSETTOQREPLICATION;

SETLOG"qchecks.err";

SETSERVERCAPTURETODB BPFDB IDdb2inst1PASSWORD" 123456 ";

SETQMANAGER"QMCAP"FORCAPTURESCHEMA;

SETCAPTURESCHEMASOURCEASN;

SETSERVERTARGETTODB APPLY IDdb2inst2PASSWORD" 123456 ";

SETQMANAGER"QMAPP"FORAPPLYSCHEMA;

SETAPPLYSCHEMAASN;

#2Checkingthequeuemanagersandqueues.

#Thesecommandscheckwhetherthequeuemanagersandqueuesexist,andvalidate

#theirsettingsagainsttherequirementsforQreplication.Iferrorsaredetected,

#youmustcorrectthembeforeyoustarttheQCaptureandQApplyprograms.

VALIDATEWSMQENVIRONMENTFORCAPTURESCHEMA;

VALIDATEWSMQENVIRONMENTFORAPPLYSCHEMA;

VALIDATEWSMQENVIRONMENTFORREPLQMAPS_ASN_TO_T_ASN;

#3Sendingtestmessages.

#Thiscommandputsatestmessageonthesendqueue,ASN1.QM1_TO_QM2.DATAQ,

#andtriestogetthemessagefromthereceivequeue,ASN1.QM1_TO_QM2.DATAQ.

#ThecommandalsoputsatestmessageontheQApplyadministrationqueue,

#ASN1.QM1.ADMINQ,andtriestogetthemessagefromtheQCaptureadministration

#queue,ASN1.QM1.ADMINQ.

VALIDATEWSMQMESSAGEFLOWFORREPLQMAPS_ASN_TO_T_ASN;

#4EndingtheASNCLPsession.

QUIT;

6.2 啟動caputer和apply

第一次啟動,startmode=cold執行

以下是這三種模式的解釋:

在A機啟動caputer

$su - db2inst1

$nohupasnqcapcapture_server= BPFDB startmode=coldcapture_path="/caplog"logreuse=ylogstdout=ymemory_limit=512&

在B機啟動apply

$su - db2inst2

$nohupasnqappapply_server= APPLY apply_path="/applog"logreuse=y&

以后第二次及以后的維護過程中進行同步啟動,使用模式為 WARMSI

在A機啟動caputer

$su - db2inst1

$nohupasnqcapcapture_server= BPFDB startmode= WARMSI capture_path="/caplog"logreuse=ylogstdout=ymemory_limit=512&

在B機啟動apply

$su - db2inst2

$nohupasnqappapply_server= APPLY apply_path="/applog"logreuse=y&

6.3 停止caputer和apply

在A機停止capture

$su - db2inst1

$asnqccmdCAPTURE_SERVER= BPFDB STOP

在B機停止apply

$su - db2inst2

$asnqacmdapply_server= APPLY STOP

6.4 啟動Q預訂

$su db2inst1

$cd/caplog

$asnclp fq_start.txt

$db2connectto BPFDB userdb2inst1using 123456

$db2 tvf q_start .sql

WebSphere ReplicationServer 環境檢查腳本q_start.txt內容:

ASNCLPSESSIONSETTOQREPLICATION;

SETLOG"start_q_sub.err";

SETSERVERCAPTURETODB BPFDB IDdb2inst1PASSWORD" 123456 ";

SETQMANAGER"QMCAP"FORCAPTURESCHEMA;

SETCAPTURESCHEMASOURCEASN;

SETSERVERTARGETTODB APPLY IDdb2inst2PASSWORD" 123456 ";

SETQMANAGER"QMAPP"FORAPPLYSCHEMA;

SETAPPLYSCHEMAASN;

SETOUTPUTCAPTURESCRIPT"q_start.sql"TARGETSCRIPT"q_start1.sql";

STARTQSUBforSUBNAMElike"SUB%";

7. 簡單測試

7.1 插入:

10.68.22.231 上的 BPFDB 庫執行: INSERTINTO 表名 values( 1 ,' 2 ')
10.68.22.232 上的 APPLY 庫執行: SELECT*FROM 表名

確認在 apply 庫可以看到新插入的數據

7.2 更新:

10.68.22.231 上的 BPFDB 庫執行: UPDATE 表名 SETname=' 1 'WHEREid=1
10.68.22.232 上的 apply 庫執行: SELECT*FROM 表名

確認在 apply 庫可以看到修改后的數據

7.3 刪除:

10.68.22.231 上的 BPFDB 庫執行: DELETEFROM 表名 WHEREid=1
10.68.22.232 上的 apply 庫執行: SELECT*FROM 表名

確認在 apply 庫不可以看到已刪除的數據

8. 常見問題

問題一:

ASN2270EThestoredprocedure"ASN.ADMINIF"indatabase" APPLY "isnotauthor

izedtoaccesstheWebSphereMQqueuemanager"CCZFDB2_SVC-QMAPP"becausetheo

peratingsystemuserID"db2inst2",whichistheDB2fenceduseroftheinstance

thatcontainsthisdatabase,isnotamemberoftheoperatingsystemgroupfor

WebSphereMQapplications(usuallymqm)atthehost"CCZFDB2_SVC".

分析:

需要把db2fence用戶屬于mqm組。

武漢竟升Q復制實施文檔


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 91精品国产免费 | 精品久久久久亚洲 | 全部免费毛片 | 成人欧美一区二区三区视频xxx | 五月婷婷在线播放 | 黄色国产视频 | 午夜在线社区视频 | 免费日韩毛片 | 国产精品久久综合桃花网 | 久久久久久久男人的天堂 | 国产精品亚洲专区在线播放 | 午夜精品国产 | 97免费| 久草精品视频 | 一级毛片私人影院老司机 | 看美女毛片 | 精品视频在线一区 | 九九精品在线观看 | 夜夜夜爽| 国产日韩欧美精品一区二区三区 | 五月一区二区久久综合天堂 | 91精品国产高清久久久久 | 四虎4hu影库永久地址 | 欧美亚洲国产精品久久久久 | 66精品综合久久久久久久 | 91精品国产亚一区二区三区 | 99视频精品免费99在线 | 亚洲一区二区三区视频 | 精品一区二区三区在线观看l | 亚洲国产精品久久久久 | 国产精品视频偷伦精品视频 | 亚洲精品在线不卡 | 真实偷拍激情啪啪对白 | 亚洲精品欧美精品 | 国产免费资源 | 精品福利在线视频 | 狠狠操夜夜爱 | 亚洲最大黄色网址 | 欧美精品免费在线观看 | 日本嫩小xxxxhd | 久久九九有精品国产23百花影院 |