久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

InterBase 6.0老庫拆解:MGA事務(wù)、生成器與Delphi控件維護

InterBase 6.0老庫拆解:MGA事務(wù)、生成器與Delphi控件維護 簡介InterBase 6.0 數(shù)據(jù)庫安裝包與開發(fā)示例合集面向使用 Delphi 6 構(gòu)建客戶端/服務(wù)器數(shù)據(jù)庫應(yīng)用的開發(fā)者及數(shù)據(jù)庫學(xué)習(xí)者可用于搭建本地測試環(huán)境、研究早期 RDBMS 的部署結(jié)構(gòu)與 API 調(diào)用方式。壓縮包共 130 個文件約 4.86MB含 33 個 C 源碼、15 個可執(zhí)行程序、8 個動態(tài)庫以及頭文件、庫文件、幫助文檔、SQL 腳本和 gdb、gbk 示例數(shù)據(jù)庫覆蓋安裝、卸載、運行配置與基礎(chǔ)數(shù)據(jù)操作。已有 341 人學(xué)習(xí)下載對遺留系統(tǒng)維護和舊版 Delphi 數(shù)據(jù)訪問研究仍有參考價值。讀者可獲得較完整的安裝組件、數(shù)據(jù)庫引擎依賴文件、編程接口示例和初始數(shù)據(jù)庫樣本便于理解 BDE、ODBC 等連接方式背后的文件組成也可用于排查舊項目運行環(huán)境缺失、數(shù)據(jù)庫初始化與許可配置等問題。1. 接手一個只剩 .GDB 文件的老系統(tǒng)才明白 InterBase 6.0 是什么形態(tài)交付包里沒有安裝手冊只有一個 4MB 出頭的.GDB文件和一堆 Delphi 控件源碼這是不少人第一次接觸 InterBase 6.0 時的真實場景。它并不是那種需要獨立 DBA 運維的數(shù)據(jù)庫服務(wù)整個庫就是一個文件拷到目標(biāo)機器、配好連接串、把控件拖到窗體上就能讀寫。這份資源的價值也在這里服務(wù)端、客戶端連接庫、控件源碼和示例應(yīng)用湊成一套拿下來就能把一個數(shù)據(jù)庫應(yīng)用從前端到存儲層全部跑通。這篇按我拆包的順序?qū)懴戎v清 InterBase 6.0 的事務(wù)模型和文件組織再把它在本機跑起來然后把生成器、觸發(fā)器、存儲過程、UDF 這幾塊核心實現(xiàn)逐段拆開最后落在「拿到控件源碼之后改哪里」這個實際問題上。手里攥著老項目要維護的人和想拿一個輕量嵌入式數(shù)據(jù)庫練手的人都能照著走一遍。2. 技術(shù)底座MGA 架構(gòu)下的事務(wù)版本與頁面組織2.1 多代版本架構(gòu)讀不擋寫寫不擋讀先糾正一個很容易帶偏的認知InterBase 6.0 不是靠回滾段做并發(fā)的。執(zhí)行 UPDATE 時它不原地覆蓋那一行而是把記錄的新版本寫進數(shù)據(jù)頁舊版本留在原處只在記錄頭里把「替換事務(wù)號」標(biāo)成當(dāng)前事務(wù)。別的讀事務(wù)只要自己的快照事務(wù)號比這個替換號小就繼續(xù)讀到舊版本一點都不會被卡住。這就是所謂多代版本架構(gòu)MGA它的直接結(jié)果是讀事務(wù)永遠不用等寫事務(wù)寫事務(wù)也不會因為有人在掃表而排隊。沒有回滾段帶來的另一個差別在回滾語義上。執(zhí)行 ROLLBACK 時數(shù)據(jù)庫并不做「反向補償」它只是把那個事務(wù)在事務(wù)清單里標(biāo)記為已死這個事務(wù)寫下的所有版本立刻變成垃圾數(shù)據(jù)等著被回收。所以回滾一個剛插了十萬行的事務(wù)幾乎瞬間完成不會像日志型數(shù)據(jù)庫那樣還要回放一遍。這套設(shè)計的代價也很明確垃圾版本不會自動消失需要靠 sweep 機制回收而 sweep 能不能推進取決于「最老活躍事務(wù)」OIT和「最老事務(wù)」OAT這兩個水位線能不能往前走。這就引出了老項目里最典型的一類故障。只要有一個連接開著事務(wù)不提交——哪怕它只是SELECT了一下——OAT 就被釘在原地比它新的所有垃圾版本都回收不了庫文件只漲不縮查詢越來越慢。我在一個工控項目上見過庫文件從 200MB 漲到 3GB最后查出來是一個報表模塊的TIBTransaction忘了Commit掛了半個月。所以看一個 InterBase 庫健不健康第一件事不是看數(shù)據(jù)量是看 OIT 和 OAT 差了多遠。還有一點要注意事務(wù)隔離級別在 InterBase 里是通過 TPB事務(wù)參數(shù)塊傳的isc_tpb_concurrency是快照隔離最常用isc_tpb_read_committed配isc_tpb_rec_version是讀已提交而isc_tpb_consistency會加表級鎖除非你在做批處理維護否則別碰它一旦用錯整個系統(tǒng)的并發(fā)直接降到單線程。2.2 單文件、頁與事務(wù)計數(shù)器的物理組成.GDB文件內(nèi)部是按頁組織的頁大小在建庫時定死可選 1024、2048、4096、8192 字節(jié)。第 0 頁是數(shù)據(jù)庫頭記錄了頁大小、事務(wù)水位、影子文件信息往后是頁分配頁、事務(wù)清單頁TIP、指針頁、數(shù)據(jù)頁、索引頁和 BLOB 頁。理解這套分層最實用的工具是gstat它不做任何修改只讀取元信息。# 只看庫頭頁大小、OAT/OIT、下一個事務(wù)號、影子文件 gstat -h /opt/data/demo.gdb # 看數(shù)據(jù)頁的填充率和高水位判斷是不是碎片太多 gstat -d /opt/data/demo.gdb | more # 看索引深度深度從 3 變成 4 通常意味著索引膨脹 gstat -i /opt/data/demo.gdb-h的輸出里有幾個參數(shù)值得記住Page size決定了單頁能放多少行也間接決定了 BLOB 的讀取效率Oldest transaction就是 OATOldest active是 OIT兩者相差幾百以內(nèi)算正常差到幾十萬說明有長事務(wù)在拖后腿Next transaction是一直遞增的事務(wù)號漲到 20 億附近會有溢出風(fēng)險正規(guī)做法是做一次備份還原把事務(wù)號重置回低位。-d看的是數(shù)據(jù)頁的填充率如果大量頁只填了 30%說明刪除和更新留下的空洞多該做一次gbak備份還原把空間收回來。頁大小定下來之后想改唯一的辦法是gbak備份再gbak -c -p 8192還原沒有在線改的路徑。所以建庫前要想清楚如果表里有一堆VARCHAR(200)加上幾個 BLOB 字段用 4096 或 8192 能少很多跨頁讀如果只是幾百張配置表、單行很小1024 反而更省內(nèi)存。單個文件大到一定程度就得拆成多文件-- 追加第二個數(shù)據(jù)文件起始頁號接在主文件之后 ALTER DATABASE ADD FILE /opt/data/demo_02.gdb STARTING AT PAGE 200000 LENGTH 200000;這條語句里的STARTING AT PAGE是主文件的頁號邊界不是字節(jié)數(shù)寫錯會導(dǎo)致新文件永遠用不上。我一般只在受文件系統(tǒng)單文件上限限制的場景下才拆拆完一定要用gstat -h確認Database files那一行變成了兩個否則等于白寫。2.3 服務(wù)形態(tài)本地直連還是 TCP 遠程InterBase 6.0 的一個特點是同一個客戶端庫既能連本地文件也能連遠程服務(wù)區(qū)別只在連接串怎么寫。這一點經(jīng)常被忽略然后在部署時踩坑——因為遠程連接里那個路徑是「服務(wù)端視角」的不是你自己機器上的路徑。連接串寫法走的協(xié)議適用場景C:\data\demo.gdb本地直連單機工具、免裝服務(wù)端、數(shù)據(jù)不外發(fā)localhost:C:\data\demo.gdbTCP 回環(huán)本機調(diào)試但要驗證服務(wù)端權(quán)限和鎖192.168.1.20:C:\data\demo.gdbTCP 遠程多人共用一臺庫服務(wù)器srv01:/opt/data/demo.gdbTCP 遠程跨平臺部署服務(wù)端是 Linux本地直連省掉了網(wǎng)絡(luò)往返和權(quán)限校驗啟動快、部署簡單很適合隨應(yīng)用程序一起分發(fā)的單機版。但它的并發(fā)模型比遠程弱得多多個進程同時寫同一個文件時鎖沖突會很難排查所以只要業(yè)務(wù)里有第二個人同時寫就別圖省事老老實實裝服務(wù)端走 TCP。遠程連接的另一個前提是服務(wù)名要能解析。客戶端庫默認用gds_db這個服務(wù)名去找端口主機上必須有一行登記# 服務(wù)端和客戶端的 services 文件里都要有這行端口默認 3050 gds_db 3050/tcp # InterBase 服務(wù)名與監(jiān)聽端口 # 改完確認端口真的在監(jiān)聽 netstat -an | grep 3050注意客戶端報unavailable database時先別懷疑庫文件損壞八成是這行沒登記或者被防火墻攔了。3. 跑起來從服務(wù)啟動到控件發(fā)出第一個查詢3.1 安裝與最小可用配置服務(wù)端裝完之后要先確認三件事進程在跑、端口在聽、SYSDBA能登進去。很多人卡在第一步是因為把客戶端和服務(wù)端裝混了——客戶端只需要一個連接庫Windows 上是gds32.dll服務(wù)端才有后臺進程。# 1) 確認服務(wù)端進程存在 ps -ef | grep -i interbase # 2) 確認 3050 端口處于 LISTEN netstat -anp | grep 3050 # 3) 用命令行工具直連驗證 SYSDBA 能過 isql -user SYSDBA -password masterkeyisql是隨服務(wù)端一起提供的命令行客戶端它同時也是一個 SQL 腳本執(zhí)行器后面建庫、灌表結(jié)構(gòu)、跑遷移腳本都靠它。第三步如果提示用戶名口令錯誤說明安裝時設(shè)的SYSDBA口令不是默認值得找當(dāng)時的部署記錄如果提示unavailable database回到 2.3 節(jié)查服務(wù)名登記。Windows 上還有一個常見問題應(yīng)用程序目錄里的gds32.dll和系統(tǒng)目錄里的版本不一致??蛻舳藥斓陌姹颈仨毢头?wù)端大致匹配混用不同版本時表現(xiàn)是能連上、能查詢但一取 BLOB 或者一調(diào)存儲過程就崩排查成本極高。我的習(xí)慣是把服務(wù)端自帶的那份客戶端庫直接拷到 exe 同目錄讓它優(yōu)先加載別指望系統(tǒng)的搜索路徑。3.2 isql 建庫建表跑通第一個庫CREATE DATABASE是客戶端工具語句不是服務(wù)端 SQL所以必須在isql里執(zhí)行。路徑同樣按服務(wù)端視角寫。# 建庫頁大小和字符集在這里定死后面改不了 isql -user SYSDBA -password masterkey EOF CREATE DATABASE /opt/data/demo.gdb USER SYSDBA PASSWORD masterkey PAGE_SIZE 8192 DEFAULT CHARACTER SET UNICODE_FSS; EOF # 灌表結(jié)構(gòu)腳本開頭先 CONNECT保證連的是目標(biāo)庫 isql -user SYSDBA -password masterkey -i schema.sqlschema.sql里第一句必須是CONNECT /opt/data/demo.gdb;后面才是 DDL。PAGE_SIZE和DEFAULT CHARACTER SET建庫時定死UNICODE_FSS是 6.0 里能存多字節(jié)字符的字符集存中文就別用NONE否則排序和長度計算都會出問題。建表這塊有兩個 6.0 時代特有的寫法值得用上DEFAULT NOW這種上下文變量以及 64 位整型主鍵。CONNECT /opt/data/demo.gdb; CREATE TABLE T_ORDER ( ID BIGINT NOT NULL, ORDER_NO VARCHAR(32) NOT NULL, AMOUNT NUMERIC(18,2) DEFAULT 0 NOT NULL, STATUS SMALLINT DEFAULT 0 NOT NULL, CREATED_AT TIMESTAMP DEFAULT NOW NOT NULL, CONSTRAINT PK_T_ORDER PRIMARY KEY (ID) ); -- 訂單號唯一單獨建索引查詢走索引而不是全表 CREATE UNIQUE INDEX IDX_ORDER_NO ON T_ORDER (ORDER_NO);DEFAULT NOW是服務(wù)端求值的取的是數(shù)據(jù)庫服務(wù)器時間不是客戶端時間這一點在跨時區(qū)的多客戶端場景里很關(guān)鍵——用客戶端賦時間會出現(xiàn)同一批數(shù)據(jù)時間倒掛。BIGINT是 64 位整型只在 dialect 3 下可用用它做主鍵是為了避免幾百萬行之后INTEGER溢出。NUMERIC(18,2)在 dialect 3 下映射到 64 位整型存儲精度不會丟做金額字段比DOUBLE PRECISION靠譜得多。3.3 控件對接連接、事務(wù)邊界與參數(shù)化查詢Delphi 那套控件里連 InterBase 最直接的是 IBXInterBase Express它不依賴 BDE直連客戶端庫部署時少一層中間件。核心是三個控件TIBDatabase管連接TIBTransaction管事務(wù)TIBQuery管數(shù)據(jù)集。// 數(shù)據(jù)庫連接路徑前綴決定走本地直連還是 TCP IBDB.DatabaseName : localhost:/opt/data/demo.gdb; IBDB.Params.Clear; IBDB.Params.Add(user_nameSYSDBA); IBDB.Params.Add(passwordmasterkey); IBDB.Params.Add(lc_ctypeUNICODE_FSS); // 必須和建庫時一致 IBDB.SQLDialect : 3; // dialect 對不上會報類型轉(zhuǎn)換錯 IBDB.LoginPrompt : False; IBDB.Connected : True; // 事務(wù)顯式控制別指望自動提交 IBTrans.DefaultDatabase : IBDB; IBTrans.Params.Clear; IBTrans.Params.Add(isc_tpb_write); // 讀寫事務(wù) IBTrans.Params.Add(isc_tpb_concurrency); // 快照隔離讀不阻塞寫 IBTrans.Params.Add(isc_tpb_wait); // 遇鎖等待而不是立刻拋異常 IBTrans.StartTransaction;lc_ctype是客戶端字符集它必須和服務(wù)端建庫時的DEFAULT CHARACTER SET對上對不上的表現(xiàn)是中文變問號或者VARCHAR(32)明明只存了 20 個漢字卻報超長。isc_tpb_wait和isc_tpb_nowait的選擇直接影響用戶體驗nowait遇到鎖沖突立刻拋lock conflict on no wait transaction適合后臺批處理快速失敗wait會掛起等待適合交互界面。查詢部分建議全部走參數(shù)化別拼字符串IBQuery1.Close; IBQuery1.SQL.Text : SELECT ID, ORDER_NO, AMOUNT FROM T_ORDER WHERE STATUS :S AND CREATED_AT :D ORDER BY ID; IBQuery1.ParamByName(S).AsInteger : 1; IBQuery1.ParamByName(D).AsDateTime : Date - 7; IBQuery1.Open; while not IBQuery1.Eof do begin // 讀字段用 FieldByName別用下標(biāo)后面加字段不會崩 Memo1.Lines.Add(IBQuery1.FieldByName(ORDER_NO).AsString); IBQuery1.Next; end; IBQuery1.Close; IBTrans.Commit; // 讀事務(wù)也要提交不然 OAT 卡住最后那句Commit是重點。IBX 里TIBTransaction默認不自動提交一個TIBQuery打開又關(guān)掉事務(wù)仍然是活的它對應(yīng)的快照事務(wù)號就一直掛在 OIT 上。前面說的庫文件瘋長源頭往往就是這種「只讀了一下」的代碼。如果一次操作要寫多張表用TIBUpdateSQL配合TIBQuery的緩存更新把提交點收在業(yè)務(wù)動作結(jié)束那一刻比一條 SQL 一次提交安全得多。4. 核心模塊拆解生成器、觸發(fā)器、存儲過程與 UDF4.1 生成器與主鍵發(fā)號GEN_ID 的正確用法生成器Generator是 InterBase 里的獨立計數(shù)器和表無關(guān)專門用來發(fā)號。CREATE GENERATOR GEN_ORDER_ID; SET GENERATOR GEN_ORDER_ID TO 0; -- 取下一個號第二個參數(shù)是步長 SELECT GEN_ID(GEN_ORDER_ID, 1) FROM RDB$DATABASE;GEN_ID的第二個參數(shù)是增量正常情況下傳 1需要一次預(yù)留一段號比如批量導(dǎo)入時傳 N。RDB$DATABASE是系統(tǒng)表永遠只有一行用來把函數(shù)當(dāng)查詢跑。這里有一個必須記住的性質(zhì)生成器不受事務(wù)控制。取號這個動作在事務(wù)回滾后不會退回所以號一定有空洞。很多人拿它直接當(dāng)訂單號展示給用戶看結(jié)果發(fā)現(xiàn)編號不連續(xù)被業(yè)務(wù)方追著問。我的做法是生成器只做物理主鍵業(yè)務(wù)單號單獨用「日期 序列」拼序列另有自己的表去維護。反過來如果業(yè)務(wù)真的要求連號那就不能靠生成器得在一張T_SEQ表上做UPDATE ... SET CUR CUR 1并配合行鎖代價是并發(fā)性能直線下降這個取舍要提前跟業(yè)務(wù)說清楚。4.2 觸發(fā)器把業(yè)務(wù)約束下沉到數(shù)據(jù)庫層觸發(fā)器在 InterBase 里分 BEFORE 和 AFTER還分行級和語句級。行級觸發(fā)器里能用NEW和OLD兩個上下文變量分別代表新值和舊值。-- 自定義異常拋出時客戶端能拿到這條消息 CREATE EXCEPTION E_AMOUNT_INVALID 訂單金額必須大于 0; -- 主鍵發(fā)號BEFORE INSERT在約束檢查之前把 ID 填上 CREATE TRIGGER TR_ORDER_BI FOR T_ORDER ACTIVE BEFORE INSERT POSITION 0 AS BEGIN IF (NEW.ID IS NULL) THEN NEW.ID GEN_ID(GEN_ORDER_ID, 1); END; -- 業(yè)務(wù)校驗POSITION 1 保證排在發(fā)號之后執(zhí)行 CREATE TRIGGER TR_ORDER_BIU FOR T_ORDER ACTIVE BEFORE INSERT OR UPDATE POSITION 1 AS BEGIN IF (NEW.AMOUNT 0) THEN EXCEPTION E_AMOUNT_INVALID; END;POSITION決定同一個表上多個同類觸發(fā)器的執(zhí)行順序編號小的先跑。上面這兩個觸發(fā)器必須按 0、1 排否則校驗里拿到的NEW.ID還是空。EXCEPTION拋出去之后客戶端TIBQuery會收到一條EIBErrorMessage里帶的就是E_AMOUNT_INVALID那條文本這是把校驗規(guī)則放在數(shù)據(jù)庫層最實際的好處——不管前端是 Delphi、Java 還是命令行工具規(guī)則都跑不掉。需要注意BEFORE 觸發(fā)器里改NEW的字段是有效的AFTER 觸發(fā)器里改就沒有意義了因為記錄已經(jīng)落盤。另外語句級觸發(fā)器FOR EACH STATEMENT在行級操作里拿不到NEW/OLD它主要用來POST_EVENT做業(yè)務(wù)邏輯時千萬別用它。4.3 可選中存儲過程與事件通知存儲過程分兩種一種用EXECUTE PROCEDURE調(diào)用、只做副作用另一種帶SUSPEND可以被SELECT當(dāng)表查叫可選中存儲過程。CREATE PROCEDURE SP_ORDER_LIST (P_STATUS SMALLINT) RETURNS (ID BIGINT, ORDER_NO VARCHAR(32), AMOUNT NUMERIC(18,2)) AS BEGIN FOR SELECT O.ID, O.ORDER_NO, O.AMOUNT FROM T_ORDER O WHERE O.STATUS :P_STATUS ORDER BY O.ID INTO :ID, :ORDER_NO, :AMOUNT DO SUSPEND; -- 每處理一行掛起一次客戶端才能逐行取到 END;SUSPEND是這段代碼的核心。沒有它存儲過程會把所有行算完只返回最后一組值有了它服務(wù)端每算出一行就掛起客戶端取一行再喚醒內(nèi)存占用是常數(shù)級別的。FOR SELECT ... INTO里的變量名前必須加冒號這是 PSQL 里區(qū)分「字段名」和「變量名」的語法漏了冒號會報「列名不明確」。客戶端調(diào)用有兩種// 方式一當(dāng)表查最靈活能帶排序和過濾 IBQuery1.SQL.Text : SELECT * FROM SP_ORDER_LIST(:S) ORDER BY ID; IBQuery1.ParamByName(S).AsInteger : 1; IBQuery1.Open; // 方式二TIBStoredProc適合無返回集的存儲過程 IBSP.StoredProcName : SP_ORDER_CLOSE; IBSP.ParamByName(P_ID).AsLargeInt : 1024; IBSP.ExecProc;配套的還有事件機制用來做「數(shù)據(jù)變了通知所有客戶端刷新」。服務(wù)端在觸發(fā)器里POST_EVENT客戶端注冊同名事件CREATE TRIGGER TR_ORDER_EVENT FOR T_ORDER ACTIVE AFTER INSERT OR UPDATE POSITION 0 AS BEGIN POST_EVENT ORDER_CHANGED; END;IBEvents1.Database : IBDB; IBEvents1.Events.Text : ORDER_CHANGED; // 多個事件名用換行分隔 IBEvents1.OnEventAlert : DoOrderChanged; IBEvents1.Registered : True; // 注冊之后服務(wù)端才會推POST_EVENT的名字建議用大寫短名老版本對事件名長度限制得比較緊不要寫成一句描述。更關(guān)鍵的是OnEventAlert回調(diào)是在客戶端庫的后臺線程里觸發(fā)的在里面直接操作 VCL 控件會因為跨線程訪問出玄學(xué)崩潰正確做法是TThread.Queue或者PostMessage把刷新動作丟回主線程。我第一次用事件通知時就在這里翻過車表現(xiàn)為「偶爾」崩查了兩天才定位到線程上。4.4 UDF拿到源碼后自己編一個外部函數(shù)庫內(nèi)置函數(shù)不夠用時InterBase 支持外部函數(shù)UDF把 C 函數(shù)編成動態(tài)庫在數(shù)據(jù)庫里聲明之后就能在 SQL 里調(diào)用。/* myudf.c —— 編成動態(tài)庫后由服務(wù)端加載 */ #include string.h /* 參數(shù)用 CSTRING 聲明時收到的是以 \0 結(jié)尾的字符串指針 */ long STRLEN_UDF(char *s) { if (s NULL) return 0; return (long) strlen(s); }# Linux 下編成 .so位數(shù)必須和服務(wù)端一致32 位服務(wù)端只認 32 位庫 gcc -shared -fPIC -O2 -o myudf.so myudf.c # Windows 下編成 DLL cl /LD myudf.c /Fe:myudf.dll編出來之后丟到服務(wù)端的 UDF 目錄然后在庫里聲明DECLARE EXTERNAL FUNCTION STRLEN_UDF CSTRING(256) RETURNS INTEGER BY VALUE ENTRY_POINT STRLEN_UDF MODULE_NAME myudf;三個參數(shù)各有講究CSTRING(256)告訴服務(wù)端按定長字符串傳參如果用VARCHAR(256)聲明傳進去的是帶長度前綴的結(jié)構(gòu)體指針函數(shù)簽名就得跟著改BY VALUE表示返回值按值傳整型必須加這個漏了會讀到一個野指針ENTRY_POINT是導(dǎo)出符號名MODULE_NAME是不帶擴展名的庫名。改完庫之后必須重啟服務(wù)端連接才會重新加載改完函數(shù)不重啟是最常見的「明明改了卻沒生效」。5. 避坑與排查五個把項目拖進坑里的細節(jié)5.1 恢復(fù)之后主鍵沖突集中爆發(fā)現(xiàn)象從生產(chǎn)庫備份出來恢復(fù)到測試環(huán)境應(yīng)用一插數(shù)據(jù)就報violation of PRIMARY or UNIQUE KEY constraint但表里明明只有幾百行。原因gbak做完整備份還原時會把生成器的當(dāng)前值一起帶過去但如果這次恢復(fù)用的是只導(dǎo)結(jié)構(gòu)的 DDL 腳本或者用-m只恢復(fù)元數(shù)據(jù)生成器的值就回到了建庫時的初始狀態(tài)。而數(shù)據(jù)行是從別處灌進來的ID已經(jīng)用到了幾千兩邊一撞就沖突。解決恢復(fù)完之后先對齊每個生成器再讓應(yīng)用跑起來。-- 把生成器重置到當(dāng)前最大 ID批量做的時候用腳本生成這段 SET GENERATOR GEN_ORDER_ID TO 0; SELECT GEN_ID(GEN_ORDER_ID, COALESCE(MAX(ID), 0)) FROM T_ORDER;第二句借GEN_ID的步長參數(shù)一次性把計數(shù)器頂?shù)組AX(ID)比SET GENERATOR ... TO 具體數(shù)字少一次人工查數(shù)。我現(xiàn)在的習(xí)慣是恢復(fù)腳本最后必須帶這一段每個生成器一行缺一個就等著線上報沖突。5.2 庫文件只漲不縮sweep 跑不動現(xiàn)象刪了幾百萬行歷史數(shù)據(jù)磁盤占用一點沒降查詢一天比一天慢跑gfix -sweep跑了幾個小時還在跑。原因刪除在 MGA 里只是把版本標(biāo)記成死真正回收要靠 sweep。而 sweep 能推進的前提是 OAT 能往前走只要有一個長事務(wù)不提交回收立刻停擺。第二個原因是 sweep 本身是協(xié)作式的它和正常業(yè)務(wù)搶資源業(yè)務(wù)壓力大時會一直退讓。解決先查 OIT 和 OAT 的差距定位長事務(wù)再決定是手動 sweep 還是干脆做一次備份還原。# 看水位線差距差幾十萬說明有長事務(wù) gstat -h /opt/data/demo.gdb | grep -i oldest # 手動觸發(fā)回收最好放在業(yè)務(wù)低峰 gfix -sweep /opt/data/demo.gdb -user SYSDBA -password masterkey # 徹底方案備份還原空間能真正收回來 gbak -b /opt/data/demo.gdb /tmp/demo.fbk -user SYSDBA -password masterkey -v gbak -c -p 8192 /tmp/demo.fbk /opt/data/demo_new.gdb -user SYSDBA -password masterkey -vsweep只回收頁內(nèi)空間文件大小不會縮只有備份還原才會重寫整個文件、把空間真正交還給文件系統(tǒng)。所以計劃里應(yīng)該把「定期備份還原」當(dāng)成運維動作而不是只當(dāng)災(zāi)備。5.3 Dialect 混用DATE 變成 TIMESTAMP雙引號變成標(biāo)識符現(xiàn)象客戶端查出來的日期字段多出了時間部分一條WHERE NAME ABC忽然報「列名不明確」NUMERIC(18,2)的金額在小數(shù)位上丟精度。原因這是 dialect 1 和 dialect 3 的語義差異。dialect 1 里DATE實際是帶時間的 TIMESTAMP雙引號包起來的是本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧美一级A片不卡视频。| 五月综合久久| 熟女这里只有精品6| 欧美黄色大片在线观看| 欧美 亚洲 综合 制服| 人妻碰碰碰碰碰碰| 久久久国产护士丝袜美腿一| 亚洲啪啪视频一区二区| 美日韩一卡二卡三卡免费人妻精品| 97视频在| 亚洲素人综合| 国产主播福利| 亚洲综合网91| 91操人| 精品乱码久久久久| 国产中文精品一区二区在线观看| 怡红院成人av| 小视频玖玖| 美女91av| 亚洲国产精品久久AV| 国产99久久99热这里只有精品15| 91AV天美在线视频| 日韩AC| 九九九九热只有精品| 国产午夜激片Av毛片不卡| 97超碰超| AND人妻系列| 国产精品一区二区三区在线| 欧美成人9797| 精品超碰国产| 2025年A片视频精品| 久久久精品视频欧州站| 99只有精品| 国产路线专区| 97欧美色| 超碰人妻中文在线| 最新av网站在线观看| WWW美腿丝袜香蕉中文| 99天堂网| 性夜影院爽黄A爽免费动漫| 日本97久久| 综合一区二区影视| 婷婷九月国产| 91超碰碰在线| 9+1视频网址| 国产精品久久久久久亚洲色欲| 青青操日韩| 国产99热| 嗯~啊~快点 死我视频| 殴美牲| 国产 丝袜 欧美中文 另类| 亚洲精品久久久久久久蜜桃臀| 国产成人 综合亚洲 天堂| 日韩有码免费视频| 亚欧洲日韩国产精品| 97久久精品亚洲| 91 丝袜在线播放| 啊啊啊com| 一区二区高清视频| 亚洲欧洲美腿丝袜| 97国产高清视频在线观看| 亚洲。天堂。日本在线观看| 人妻天堂综合网| 国产超碰AV在线精品| 精彩久久中文| 91原创在线观看| 亚洲一曲日韩精品| 97国产精品久久久久| 开心婷婷五月| 国产一区二区a毛片| 校园春色五月天| 欧美综合站| 91在线视频免费播放| 97视频一区| 大香蕉婷婷| 伊人网青青| 亚洲性猛交| 岛园激情| 欧美综合另类| 亚洲色图8| 午夜福利久久久噜久噜久久综合 | 91美女看B| 开心五月婷婷激情| www超碰| 岛国激情视频在线观看| 综合久久9| 久久精品成人一区二区三区蜜臀 | 亚洲色婷婷综合久久一区二区三区| 精品射1999| 手机看av网站在线看| 精品蜜乳AV免费观看| 欧美黄色图片| 色成人Www精品永久观看| 亚洲人妻爽爽爽| 婷婷五月天色网| 青青国产精品在线| 嗯啊抽插大香蕉网页| 日韩9区| 欧美综合1性辶| 色臀aV| 青青草精品| 日韩人妻中文视频| 中文字幕精品探花视频| 亚洲小说视频| 欧美97免费| 91欧美综合在线| 99啪啪| 国语对白在线播放视频| 人人操人人舒服| 色路综合| 久久久9999| 91精品久久久久久| 亚洲AV永久无码精品成人调教| 好舒服视频| 亚洲限制级| 情色av电影| 日韩人妻操B| 99热这里只有精品99| 91一起操| 樱花蜜乳av| www.男人的天堂| 九九自拍伦理| 亚洲999综合| 国产精品久久久久久久免牛肉蒲团| 少妇毛片久久| 99青草| 国产suv精品一区二区四区999| 国产精品午夜高潮呻吟久久av| 日本操逼视频在线| 91色花堂| 百度百度日本操逼| 日韩成人性日韩成人性爱视频在线免费观看| 久久久久久久久久久久97 | 97超碰欧美手机| 色噜噜狠狠色综无码久久合欧美| 韩国一区二区精品亚洲| 蜜桃精品一区二区三区ww| 欧美少妇大量自拍视频在线观看| 9热9热综合网| 东北女人| av 模特一区了| 亚洲人久久久网| 亚洲午夜蜜臀| 99热一区二区三区四区| 国产精品操| 黄骗免费网站| 蜜乳AV一区二区三区四| 久久HD| 最新中文字幕在线亚洲| 99热这里只有精| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 国产原创精品| 97日视频| 人人操人人精品影片| 全国男人天堂网| 色欲av国内精品久久久久久| 色官网色综合| 大香蕉免费中文| 91日日| 第二页中文字幕| 欧美老妇女内射网址| 很很很很操| 一二三卡欧美日韩人妻免费精品| 亚洲天堂资源网| 婷婷伊人五月| 日韩人妻播放| oumeisetu综合| 亚州综合电影| 老女人91| 十八禁啪啪视频| 亚洲囯产精品女人久久久| 亚欧高清在线| 色诱中文字幕| 97美日韩视频| 久久久亚洲Av| 91国产精品在线看| 国内97干免费看| 91熟女丨老女人| 日韩一级性爱无码| 亚洲少妇色| 欧美 亚洲 另类 综合| 欧美亚洲手机在线| 一级特级aaaa毛片免费观看| 青青草原人妻| 综合网亚洲1| 人人操欧美风骚| 岛国在线国产| 91丨九色丨熟女高潮| 色欲人妻一区二区在线| 97在线免费看视频| 嗯嗯啊中文字幕| 乱色老一区二区三区的观看方式 | 天天躁日日躁AAAXX| 麻豆久久久久久久久丝袜 | 久久久九九网站| 欧亚第一综合网| 日日不卡av| 深夜国产一区二区三区在线看| 男人的天堂亚洲| 91国产丝袜美女| 久久国产在线一区二区| 五月婷久久| 中文字幕女同在线| 成人97人人超碰人人| 久碰视频| 亚洲色图 91| 在线色导航| 久久久久骚| 欧美天天影院| 黑人精品成人一区二区三区| 激情文学欧美| 亚洲精品国产日韩无码AV永久免| 欧美.亚洲.另类.丝袜.制服.诱惑| 欧美在线综合| 午夜男人一级A片7777| 久久人爽| 久久欲| 国产精品乱人伊人网| 亚洲国产日韩精品久久久| 亚洲精品第一| 国产人妻精品一区二区三区秋霞| 国产探花精品在线| 精品一二三区四视频| 欧亚无码视频| 伊人久久国产免费观看视频| 2021国产成人精品久久| 国产精品久久久亚洲一区| 五月天日日操夜夜操| 自拍偷拍2025在线观看| 综合天天。| 91足交| 亚洲精品黑丝| 国产强奸超碰AV| 视频黄站| 麻豆国产96在线| 91男人综合| 日本精品成人无码| 色原狠狠天天天| 免费黄色片子| 超碰97COm中文| 日韩人妻精品久久久久| 天天躁日日躁狠狠躁| 日韩一性一交一A片俄罗斯| 亚洲大色堂| 国产成人精品必看| 人妻少妇精品久久久| 操逼www.| 一区二区无码视频| 美女刺激久久国产欧美| 狠狠婷婷亚洲中文综合久久| 色呦呦、国产精品| 手机看片日韩人妻| 日韩BBN| 无码色| 日韩性爱一级片| 欧美精品 - 91爱爱| 欧美天天干| 激情小说亚洲视频| 婷婷香蕉| 欧美精品一区二区少妇免费A片| 97在线观看免费视频l| 久操com| 婷婷久久久精品| 国产刺激视频| 影音先锋新男人| 欧美高潮| 天天影视网综合少妇| 少妇被c 黄 免费观看| 亚洲涩涩| 夜夜操狠狠操| 精品国产91内射久久| 欧美一区二区三区成人性生活 | 国产AV高清AV无码| 亚洲日韩国产精品| www.AV有限公司一区| 日本一级性爱| 家庭乱伦国产精品| 啊啊啊啊啊舒服| 91 手机在线播放 绯色| 国产大学生口爆吞精合集| 九九九国产| 91殴美大片| 亚洲福利中文字幕在线| 色色毛片| 中文字幕精品码亚洲| 大香蕉宅男伊人| 熟女乱伦二区| 草莓精品视频在线免费观看| 九久9精品| 久久一二三四五六七八九区区| 国产超碰| 日韩高清黄片| 97国产超碰| 四虎影视永久在线观看精品免费网站 | 亚洲日韩97| 日本三级小说中文字幕| 激情专区综合| 日韩人妻播放| 久久无码一区二区二三区性色| 色哟哟精品1精品2| 国产精品久久久久久久久久久久久久久久久久| 欧美一级色| 亚洲欧洲综合成人av一区| 97欧美综合| 蜜桃精品一区二区三区久在线| 国产不卡精品91| 中文字幕 国产区| 久久伊人亚洲AV无码网站| 日天天九九天堂666| 人妻天堂综合网| 国产第25页在线观看| 久久精品一区二区一8| 欧美少妇高潮视频| 欧美日韩97在线| 欧亚不卡| 麻豆av一区二区三区| 久草视频分类在线| 日本性爱不卡视频| 黄色激情电影在线观看| 国产兽交视频在线播放| 91狠狠| 久久久555| 天天干夜夜肏| 国产精品乱码久久久久久久| 欧美日韩亚洲天堂网| 嗯嗯啊啊啊好舒服| 国产伦精品免编号公布| 97国产超湿| 91久操| 久久精品美女一区| 激情专区综合| 99色婷婷| 丁香五月激情五月| 亚洲精品99| 亚洲色综合| 凹凸视频特色日本特黄| 亚洲天堂 视频你懂的| 秋霞久久亚洲精品成人| 操高情无码| 日本日逼高清| 手机看片1024你懂的国产| 国产欧美精选激情视频| 秋霞无码av鲁丝片一区| 少妇无码av专区线| 色色色欧美| 久久精品中文字幕无码l| 无码操逼网| 国产黄片在线免费观看| 久久久久久国产手机AV| www网站黄| 亚洲精品a人片在线观看视| 久草网站免费在线观看| AV污污污污| 国产精品免费美女视频| 婷婷99狠狠| 国内91熟女人妻丝袜天天精品视频在线| 中文字幕在线免费观看视频| 亚洲高潮少妇| 少妇人妻无码| 欧美色日| 欧美在线大香999| 91性片| 一起草三级AV电影在线观看 | 精品国产乱码久久久A| 综合 亚洲 欧美| 校园春色 欧美| 日韩av性爱在线播放| 日本黄色精品专区网站| 久久九九视频九九视频| 欧美成va视频网站| 欧美黑人性猛交91| 久久骚少妇| 久久精品高清无码一区| 一区二区影视| 日本韩国国产精品一区| 加勒比久久综合网高清| 超碰成人免费| 97中文字幕色| 亚洲日韩资源| 亚洲天堂精品日韩电影| 日韩性爱1级片视频| 久久精品国产亚洲AV无码电影 | 大香蕉AV在线| 97这里都是精品| 九九九九97| 久久久久久性爱免费视频| a片偷拍视频| 久久av成人无码免费| 思思热在线视频精品| 啊啊啊啊视频免费| 久久久久斤小| 玖玖爱影院| 亚洲第一免费视频| 9 9精品一区二区三区| 97久久精品国产| 国产丁香精品露脸视频| 偷拍 欧美 日韩| 欧美视频中文字幕区| 18精品一区| 91国产丝袜美女| 精品综合久久久久久五月天| 高清在线偷拍自拍视频| 激情文学 国产一二三aV| 色香综合天天影视综合| 一起草三级AV电影在线观看| 竹菊影视国产一区二区| 国产精品网站www| 超碰久久.com| 久久久精品视频免费观看| 丰满少妇一区二区三区专区| 深夜激情| 2019天天干天天操| 成人在线视频二区| 久久青娱乐| 人人潮人人摸| 91热情品| 亚洲无码视频免费在线观看网址!| 免费簧片在线观看| 亚洲色图国产另类| 福利视频香蕉免费一区二区在线| 国产精品免费视频人成| 330dv亚洲成年视频网| 黑人娇小av在线播放| 亚洲黄网在哪免费看| 青女在线| 乱伦一二三区| 91N五十路| 国产91 丝袜在线播放 | 精品一二三区久久AAA片| 91色爽欧美| 999精品乱码| 91久久久久久久| 美熟女逼导航AV操逼| 在线综合 亚洲 欧美中文字幕| 又黑又大又粗| 澳门色噜噜色噜噜色噜噜色噜噜色噜噜| 人妻日日干| 亚洲精品一卡二卡三卡福利视频网站| 丰满人妻aA一区二区三区| 五月丁香综合| 亚洲人天堂| 婷婷色婷婷| 亚洲日韩资源| 日韩AC| 国产AV天美传媒一区二区三区| 欧美日韩大黄片| 嗯嗯啊啊操死我| 免费操逼91| 丝袜制服字幕在线| 日韩精品资源专区二区| 熟妇熟女一区二三区| 水多多映视AV| 久久熟妇五十路一区| 国内偷拍精品一区二区| 三上制服丝AV| 亚洲欧美日韩二区视频| 97爱碰| Blackedraw视频一区二区| 青青青草伊人精品| 无码抄逼网| 热G综合热G中文| 亚洲人妻AV| 综合色欧美| 亚洲天天艹| 三级日本一区二区三区| 日夜久久久九九九久| 午夜福利国产欧美日韩夜夜| 一区二区三区蜜桃成人撸久久东京热| 一级性爱啪啪视频| 国产热av| 亚洲人人操| 秋霞午夜成人福利片片| 综合网欧| 国产树林里野战在线看| 美女高潮国产高清| 久艹伊人精品综合在线| 在线欧美69V免费观看视频| 日韩 欧美 国产 麻豆| 国模吧 一区二区三区| 老女人综合| 日本裸体久久色噜噜| 久久久久久日韩| 大香蕉日韩欧美| 久久久无码国精品无码三区三区| 一二三区操逼国产91| 东京热精品97综合网| 日本熟妇人妻中出视频| 色图综合网| 国产亚洲日本| 久久久一级| 欧洲亚洲国产综合在线| #NAME?| 99国产精品人妻人伦| 素人一区二区三区日韩| 清纯唯美综合亚洲| 亚洲精品丝袜| 麻豆这里只有精品| 蜜乳AV免费观看| 免费99精品国产自在在线| 资源在线观一 二| 第四色奇米影视777| 偷拍亚洲情色| 密臀在线免费观看| 久99久视频| 亚洲欧美国产中文视频| 男人天堂毛片| 伊人久久久日韩一区| 三级三久久线久久99久目本WW| 色吧 综合| 日韩电影免费网站麻豆视频| 国产精品肉丝自拍| 99精品久久久久久久婷婷蜜桃| 国产性爱强奸乱伦大全| 激情文学小说一区二区| 800zy一区二区| 岛园激情| 日韩性爱毛片操骚逼| 熟妇人妻精品一区二区| 黄日韩| 资源在线观一 二| 美女操逼福利视频| 久久天天艹| 天天噜| 99最新日韩偷拍视频| 美腿色图| 志村玲子视频一区二区| 日本性爱少妇| 变态乱伦伪娘灌肠一区二区| 天天干人人看综合| 黄页| 亚洲色图 91| 麻豆国产成人精品| 亚洲天堂自拍| 日本九九久久99播| 日本三级韩三级99久久| 日韩乱插| 国产九九九九九九九九| 新久久AV| 第四色奇米影视777| 蜜臀99久久精品久久久懂爱| 殴美色网| 中文字幕一区二区三区人妻不卡 | 成人激情无码在线视频| 综合伊人激情| 日韩美女久久一区二区三区| 欧美人妻一区二区| 午夜福利免费精品视频| 亚洲综合色图欧美| 免费人人搞97| av中文在线| 成全在线观看免费观看| 午夜一区| 天堂精品| 亚洲色图 综合| 男人的天堂2018.| 国产精品久久久久久久久AV大片| 色综91| 日产成人久久| 97AV在线免费观看| 国产精品熟女AV中文字幕在线播放| 高清无码 国产精品| 男女激情中文字幕| 天天日少妇逼AV| 人人摸人人叼| 强奸乱伦动态污图免费| 蜜桃视频成a人v在线| 国产美女在线精品免费看| 日本布卡一区二三区| 亚洲有码第一页| 亚洲和欧美裸体美女双飞视频| 插入综合网| 夜色五月天| 99爱在线视频| 亚洲日韩AV视色| 99色色| 黄污污污污| 国产伦精品一区二区三区视频女| 日韩在线观看中文字幕视频| 97任你吞精| 色婷婷导航| 色色国产| 亚洲综合网图| 精品人妻一区二区三区夜夜| 综合av影片| 欧美极品少妇| 亚洲欧洲自拍| 亚洲日本激情| 亚洲欧美国产其他二区| 我要色综合网| 羞答答AV中文字| 97在线免费看视频| 色在线视频导航| 日韩偷拍一区二区三区| 国产精品爽爽v| 美女自卫慰黄网站免费| 青青草日韩无码| 动漫片子网站3黄| 亚洲高清男人天堂| 火箭成精品视频884必出精品| 韩国一级做a久久久久| 亚洲蜜乳av| 五月天婷婷成人网| 色综合99999| 欧美日韩另类激情图片| 看日韩黄片| 伦伦成年午夜免费视频| 亚欧国产无码精品在线| 国内91熟女人妻丝袜天天精品视频在线 | www五月| 亚洲免费精品一区| 国产精品在线一区二区| 午夜啊啊| 天天激情综合站| 亚洲色欲天天人妻无码系列专区| 天天舔天天 | 99无码视频| 精品国产91久久久久久一区黄无| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 精品国产AV一区天美传媒| 一区二区三区国产在线播放| 精品国产三级av韩国在线| 风流老熟女一区二区三区l| 九九99久久| 欧美综合制服在线| 日本精品五区| 国产精品午夜高潮呻吟久久av| 中文高清一区二区的| 超碰97导航| 亚洲日韩精品久久久久一区壹牛| 久久99精品视频| 性色av一区二区| 91色综合| 99在线观看| 人妻内射一区二区在线视频| 久9爱精品| 欧美性爱1080p| 亚洲影院小综合| 91欧美www| 黄色小视频日本txt| 欧美在线l亚洲| 人妻精品视频一区二区三区| 91爽啪| 蜜臀一区二区三区在线 | 日韩精品国模| 尤物网址| 围产精品一区二区三区视频播放| 激情人妻另类| 久久精品国产亚洲AV嘿嘿| 人人噜夜夜操| 欧美一区二区三区蜜桃| 九九九九九九视频| 在线国产探花| 国产无码成人无码| 久久97资源 网| 久干9操| 黄网站黄视频网站进入口| 成人八戒网站| 日日碰视频网| 95精品在线| 中文字幕精品区先锋资源| 日韩无码AB| 中文字幕激情小说| 久久性爱免费送| 久久亚洲精品成人av| 日本三级日本三级三级人妇四虎| 人人澡人人干| 欧美综合色综合| 一本一道波多野毛片中文在线| 国产精品久久久视频| 九九九九热| 99re这里只有精品3| 日韩欧美日韩| 色狠人在线99| 日韩欧美综合激情| 久久久成人免费av电影| 国产女生在线| 一二三四区电影| 丁香六月婷婷综合| a'v在线资源| 91中文精品日韩欧美在线| 国产成年精品高清在线观看91| 欧美色图91p| 强奸a片网| 伊人久久婷婷| 久久久久久十| 超碰97网址| 狠狠色噜噜狠狠狠狠狠色综合久久| 四虎影视国产精品| 日韩影片中文字幕一区二区三区| 91快色色色色色| 9久久久久久| 人人污日韩一区二区| 色色香蕉| 人妻另类 专区 欧美 制服| www.男人天堂| 99国产精品人妻人伦| 人人插人人摸人人| 精品人妻av区天天看片| 中文字幕女同在线| 天天综合91在线| 强奸乱伦大香蕉网| 日本羞羞的视频在线播放| 欧美日韩精品国产91| 丁香五月久久| 91三级理论片播放器| 婷婷婷婷婷婷久久久久| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 999色欧美中文字幕| 丰满人妻一区二区三区在线| 抽插无码高清一区| 国产 亚洲 一二三四| 亚洲 欧美 第一页| 欧美日日人人天天| 日韩精品三级片长长久久| 四虎影视在线| 日本在线激情一区二区三区| 亚洲国产精品有声| 国产精品爽爽v| 黄色大片免费在线| 26uuu最新| 97超碰大| 蜜臀99久久国产| 亚洲性刺激| 久热99999| 欧美中字不卡| 精品乱码久久久久| 综精品久久久aaaa| 天天日天天射天天干| 五月天色图影视| 国产精品一区二区黄片| 天天肏夜夜肏| 国产人妻天天干精品| 明星性猛交ⅹxxx乱大交| 一级毛片电影免费看| 91这里只有精品| 精品日韩人妻视频| 国产91av在线播放| 一区二区三区 日韩欧美| 无码聚合| 99自拍视频在线| 色啪网| 免费观看欧美日韩操逼视频| 天天干少妇| 美女裸体麻豆天美蜜桃91| 无码操逼天堂| 性感美女91影视| 欧洲在线性爱视频| 亚洲欧美国产成人综合不卡| 99操视频| 亚洲欧美精品久| 欧美91网| se吧提供国产乱老熟视频胖女人 | 2024年最新色情网站在线观看| 欧美v亚洲v综合v国产v妖精| 无套内射人妻在线播放| 97色婷婷| 欧美人妻色| 精品国产乱码久久久| 成人无码在线超碰网| 国产超碰| 亚洲熟女乱色一区二区三区久久久 | 欧美不在线| 久久亚洲AV成人精品无码| 天天综合91在线| 亚洲丰满很很操| 久久riav中文精品| 嗯~啊~快点 死我视频| 国产9熟妇视频网站| 亚欧无码在线| 亚洲美女30b| 中文字幕一二三| 风流老熟女一区二区三区l| 国产精品久久久视频| 久肏视频字幕| 亚洲蜜乳av| 91综合国产精品| av影片在线观看不卡| 日韩在线观看中文字幕视频| 啊操爽品善一区二区三区| 男人天堂网站| 久久草草欧美精品| 91 丝袜在线播放| 九九久久99| 日韩熟女视频二区| 隔壁邻居波多野结衣中文字幕| 中文字幕在线播放2中文字幕在线观看2| 日日骚精品视频| 久久久久久久亚洲Av无码| 91日产欧美| 无码视频黄色网战| 国产精品禁久久久精品| 99热超碰在线| 亚州性色| 青青青操| 免费久久一级毛片大黄| 精品国产91久久久久久一区黄无| 亚欧毛片基地国产毛片基地| 双插在线| 亚洲综合色婷婷| 亚洲天堂2020| 亚洲限制级在线| 99久久精品欧美国产| 久久少妇视频| 粉嫩绯色AV一区二区在线| 青青草大香蕉视频| 成 人 影视 一区 二区 三区 四区| 精品人妻一二三| 黄色十八禁| 99无码精品| 日韩免费高清大片在线| 人妻素股| 久久久久久久极品香蕉视频| 强奸乱伦AV一天堂网| 久久精品99久久久久久| 五月天大香蕉| 999精品国产高清一区二区| 亚洲色香| 大胆91| 国产区性爱在线视频秋霞豆 | 神马久久久久眼| 免费公开人人操| 99热这里只有精品18| 国产精品久久久久久久久久久久久久久久久久| 亚洲一级特黄大片在线播放91| 国产精品日日摸天天碰| 色娱乐色呦呦夜夜夜夜av| 五月天婷婷小说| 日韩国产成人自拍视频| se..亚洲欧美| 日韩精品-原创伙伴| 一级免费精品| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 欧洲性爱无码区| 97超碰影音| 嫩草影院永久在线制服丝袜| 中亚av| 丁香五月婷婷基地| 欧亚第一综合网| 久操99| 婷婷丁香五月综合| 色牛牛AV| 日韩一性一交一A片俄罗斯| 日韩欧美操逼xxx| 你懂的在线观看区国产| 亚洲AV无码乱码| 欧美爱爱97| 欧美人妻少妇| 青娱乐休闲视频在线观看| 人人操人人肉久久精品| 麻豆av一区二区| 欧美性性性| 97免费视频在线| 国产怡红院在线| 欧美日韩人妻精品一区二区三区 | 看日韩黄片| 91美女视频在线观看| 欧美 亚洲 在线| 亚欧无码线免费观看视频| 国内伊人久久久久久网站视频| 男人的天堂99| 亚洲国产精品久久AV| 欧州一区二区三区四区| 国产精品点击进入在线影院| 日本午夜操逼| 激情网五月天| 久久精品视频28| 嗯嗯啊啊日韩精品| 国产97av| 91啦人妻| 高清国产av无码| 99999久久久久9国产精品| 亚洲精品一区二区免费在线观看| 亚洲天堂久| 国产高清午夜成人在线观看| 国产乱不卡| 四虎AV在线播放| 国产第12页| 99操视频| 碰人碰碰人人开房人肉| 国产精品999aaa| 超碰人人超在线观看| 久草婷婷| 欧美人妻少妇| 亚洲偷拍自拍在线视频| 亚洲免费97免费| 欧美色图第一页| 久久精品国产亚洲AV无码电影| 女同亚洲欧美一二三区久久电影| 东京热熟女亚洲视频网站| 日日摸天天爽夜夜欢| 日本视频一区二区三区| 亚洲欧美中日韩| 无码人妻一区二区三区免费九色| 国产超碰| 欧美人人天天网| 久热影视| 国产不卡中文字幕免费avi| 热热色91| 日日操天天操| 这里只有精品97| 亚洲男人天堂Av| 久久婷婷一区| www.久久最新地址| 操逼内射干逼白丝91| 日韩性爱小视频| 91色碰| 亚洲久久久久| 九九九九九九九精品视频| 久久香蕉国产线看观看亚洲女人 | 亚洲欧美另类少妇精品| 秋霞一级鲁丝片A片| 国产av高清版| 97综合久久| 自拍欧美| 天天操夜夜嗨| 自拍第一页| 一区在线观看中文字幕| 可乐操在线| 国内三级自拍小视频在线观看| 久久久久久久综合,国产| 国产精品亚洲免费| 亚洲男人电影天堂| 天天色悠悠激情| 欧美性爱综合,免费| 一本一道人妻久久一区二区三区 | 国产精品点击进入在线影院| 久久精品国产久精国产| 一区二区三区机械有限公司| 丰满熟女一区二区三区在线播放| 免费的av网| 国产精品成人蜜臀AV在线| 97超碰伊人| 熟妇熟女一区二三区| 亚洲最大AV网| 欧美亚洲中文| 久久6热精品99视频| 大香蕉伊人久久| 伊人操你| 日韩无码人妻中字久久三区四区| 欧美亚男人的天堂| 青娱乐国产盛宴视频| 98久久| 国产精品久久久久999| AV天堂电影网| 六月丁香啪啪| 18禁超污无遮挡无码免费网| 四虎午夜影院| 中国熟妇| 精品人妻一区二区三区免费视频| 高跟伊人julia ann| 日韩精品国产精品五码一区二区| 国产亚洲日韩欧| 久操国产在线| 天天日天天射天天干| 99久久99久久综合| www.99中文字幕| 中文字幕日韩精品久久| 91国精产品| 91n免费处女| 一本大道综合伊人精品热热| 99青草| 婷婷五月丁香五月| 亚洲国产欧美中文永久| 首页中文字幕中文字幕免费| 肏逼福利网站| 日韩无码极品| 色九久| 人妻熟女一区二区三区视频| 97日视频| 日本大香蕉| 热热热热日日漂亮永久永久国产日| 丁香五月av| 91伊人久| 国产极品精品美女视频| 国产乱伦性爱区| 岛国激情视频在线观看| 操迟操逼在巾线Fre看| 免费无码国产精品v片在线观看| 日本人妻中文字幕精品| 尹人免费观看视频在线| 精品成人亚洲午夜电影| 麻豆成人影音在线| 亚洲无码超碰免费| 国产精品一区午夜福利| 激情综合二| 五月天色图影视| 亚洲最大的黄色电影网站。| 久久亚洲熟妇在线视频| 久射吧| 日本人妻丰满熟妇久久久久久| 久久天天艹| 在线性黄高清免费视频| 99热91| 极品白嫩福利在线| 欧美色色人| 五十路一区无码| 天天干夜夜肏| 性综合网| 日韩人妻一区二区精品| 亚洲最大黄网| 国产天天噜一噜久久久| 久久AV无码AV| 夜间福利片1000无码| 天综合网| 丝袜色综合| 看全色黄大色大片免费视频| 亚洲阿v天堂无码z2018| 五月丁香啪| 色偷偷综合91久久噜噜| 日本综合色图| 国产女人成人精品视频| 青青草黑寡妇男人天堂| 超碰97人人乐| 大香蕉免费乱伦视频| 久久婷婷色综合一区二区三区| 深夜激情| 久久AV无码AV| 五月激情综合网| 亚洲欧洲日韩中文字幕一区| 国产极品精品美女视频| 熟啊v色欧美热| 亚洲国产97| 国产精品天美传媒| 男人综合网| 中字乱伦AV| 中韩中文字幕在线观看| 免费啪啪一级视频| 亚洲国产亚洲天堂| 日韩AC| 91欧美巨乳| 亚洲 欧美日韩 另类| 夜夜嗨绯色| 国产69精品久久久久99尤物| 色爽——AV| 操B在线观看| 亚洲中文sv| 激情看片网站| 国产精品扒开腿做爽爽爽视频| 一本一道人妻久久一区二区三区| 91九色丨风韵犹存| 蜜臀在线免费观看在线免费观看| 啊啊啊啊好爽好舒服一区二区易域| 亚洲丝袜色| 九九精品99| 91国产美女丝袜足交精品视频| 色网在线视频观看免费| 好舒服视频| 国产免费久久久久| 婷婷婷婷婷婷久久久久| 三级片大波波| AV免费在线播放一区| 婷婷20月天青娱乐| 亚洲激情 欧美色图| 无码聚合| 男人精品区| 性性久久| 久热婷婷| 91精品微拍福利| 91中文字幕制服丝袜免费视频| 国产精品一区二区三区在线密挑| CCYY草草影院地址入口| 性爱欧美五月| 国产免费永久精品无码| 99婷婷一区二区| 欧美另类天堂| 婷婷伊人一区| 亚洲九九夜夜| 香蕉久久AⅤ...| 日韩9区| 嗯嗯啊啊视频一区二区三区| 欧美色图天堂在线| 国产男人又猛又粗又爽| 超碰97欧美| 欲综合网| 国产熟码AV| 超碰天天操| 亚洲91色在线| 玖玖97综合| 久久人妻视频| 日本免费亚洲欧美| 成人av毛片在线观看| 欧美91变态| 一本大道久| 91热色| 欧美日韩亚洲国产中文永久天天看| 97超久碰| 丝袜喷水在线| 日韩少妇丰满亚洲| 99.色网| 色婷婷在线视频精品导航| 天天舔天天| 五月综合久久| 97资源制服丝袜| 鲁鲁色综合网| 欧美熟女少妇| 婷婷三区| 欧美中字二区| 色色综合97| 好看的久久不射无码影视影院| 99自拍视频| 成全在线观看免费观看| 国产精品一区午夜福利| 女人被男人桶爽视频网站| 国产精品无套内谢| 入口操逼网站| 色噜噜婷婷| 欧美18禁91| AV99热18这里只有精品| 传媒免费一区二区三区| 欧美极品少妇| 91n欧美| 亚洲国产成人精品999| 亚洲日韩精品一区视频在线| 视频分类 国内精品| 日韩另类色图| 一直超碰| 香蕉精品二区二区| 在线观看不卡一区二区三区| 人人摸人人添人人操| 97精品综合久久| 97色欧州| 黄色成年| 丰满人妻一区二区三区性色| 99精品在线观看| 天综合网欧美| 国色综合天| 新婚人妻扶着粗大强行坐下| 能看的AV| 好看的久久不射无码影视影院| 超碰九7免费| 久久久久亚洲AV无码专区少妇| 精品久热| 91网站在线播放| 日本熟女不卡视频| 色官网在线| 免费99精品国产自在在线| 粉嫩av在线| 欧美性爱精品一区二区| 欧美激色| 国产曰批免费观看久久久| 黄色成品网站| 91观看 国产白丝| 中文字幕成人| 综合av影片| 明星性猛交ⅹxxx乱大交| 日韩乱码Av| 青青草原av| 亚洲欧美日韩夜夜| 男人的天堂三级| 欧美性爱十八禁| 超碰综合色| av一区二区三区四区| 白丝jkav| 狠狠中文字幕| 精品无码久久久久| 国产综合网站在线播放 | 欧美se综合| 日韩在线76| 97超碰在线资源网站| 九色精品视频导航1|