版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Bea Tuxedo 配置與管理簡(jiǎn)介,羅海龍 Hailong.LBEA Systems,Agenda,Bea Tuxedo 概要介紹 Bea Tuxedo 配置簡(jiǎn)介 Bea Tuxedo 管理簡(jiǎn)介,Bea Tuxedo 概要介紹,Agenda,TUXEDO應(yīng)用模型 簡(jiǎn)單的應(yīng)用示例 TUXEDO的數(shù)據(jù)緩沖區(qū) 七種通訊方式,三層結(jié)構(gòu)的卓越,TUXEDO應(yīng)用模型,TUXEDO應(yīng)用的組件,Client main() tpinit(0); buf=tpalloc(“FML”,); bufoutput data tpfree(buf); tpterm() ,Server void NAME(TPSVCIN
2、FO *transb) s_buf = (FBFR*)transb-data; s_buf-input data; EXEC SQL INSERT INTO emp VALUES (:name,:age); r_buf=tpalloc(“FML”,.); r_buf - output data; tpreturn(TPSUCCESS, 0, r_buf,0 , 0); ,Tuxedo編程框架-名字調(diào)用,#include #include atmi.h/* TUXEDO Header File */ main(int argc, char *argv) char *buf ;long sendl
3、en, rcvlen;int ret; if (tpinit(TPINIT *) NULL) = -1) (void) fprintf(stderr, Tpinit failedn); exit(1); sendlen = strlen(argv1); if(buf = (char *) tpalloc(STRING, NULL, sendlen+1) = NULL) (void) fprintf(stderr,Error allocating send buffern); tpterm(); exit(1); (void) strcpy(buf, argv1); ret = tpcall(”
4、TOUPPER, (char *) buf, 0, (char *) ,Client 端應(yīng)用示例,編寫客戶程序 simpcl.c,buildclient,客戶進(jìn)程 simpcl,本機(jī): buildclient -o simpcl -f simpcl.c網(wǎng)絡(luò): buildclient -w -o simpcl -f simpcl.c buildclient -w -o simpcl -f simpcl.c -v,TUXDIR=/home/tuxedo; export TUXDIRPATH=$tuxdir/bin;$PATHNLSPATH=$TUXDIR/locale/C; export NLSP
5、ATHLANG=C; export LANG WSNADDR=/servername:port; export WSNADDR,Client 端程序編譯,tpsvrinit(argc, argv) int argc; char *argv; userlog(Welcome to the simple server); return(0); tpsvrdone(argc, argv) int argc; char *argv; userlog(simple server is over); return(0); TOUPPER(rqst) TPSVCINFO *rqst; int i; for(
6、i = 0; i len-1; i+) rqst-datai = toupper(rqst-datai); /* Return the transformed buffer to the requestor. */ tpreturn(TPSUCCESS, 0, rqst-data, 0L, 0); ,Server 端應(yīng)用示例,編寫服務(wù)程序 simpserv.c,buildserver,服務(wù)進(jìn)程 simpserv,原名發(fā)布:buildserver -o simpserv -f simpserv.c -s TOUPPER 別名發(fā)布:buildserver -o simpserv -f simpse
7、rv.c -s BIG:TOUPPER,TUXDIR=/home/tuxedo; export TUXDIRPATH=$tuxdir/path;$PATHNLSPATH=$TUXDIR/locale/C;LANG=C;,Server 端程序編譯,*RESOURCES IPCKEY237456 MASTERotc MODELSHM *MACHINES ”AIX_SERVERLMID=otc TUXCONFIG=/usr/tuxedo/apps/dbteste/tuxconfig TUXDIR=/usr/tuxedo APPDIR=/usr/tuxedo/apps/dbtest MAXWSCLIE
8、NTS=10 *GROUPS GROUP1LMID=otcGRPNO=1 *SERVERS simpserv SRVGRP=GROUP1” SRVID=1 WSLSRVGRP=GROUP1 SRVID =300 CLOPT=-A - -n /159.226.5.218:5898 -d/dev/tcp -m1 -M5 -x 10 *SERVICES TOUPPER,系統(tǒng)配置文件 UBBCONFIG - Sample,tmloadcf -y ubbconfig,TUXDIR=/home/tuxedo; export TUXDIRPATH=$TUXDIR/path;$PATHAPPDIR=/home
9、/xiaohua/tuxtest; TUXCONFIG=/home/xioahua/tuxtest/tuxconfigNLSPATH=$TUXDIR/locale/C;LANG=C;,系統(tǒng)配置文件的生成,基本的應(yīng)用布署過程,tmboot,tmadmin,tmshutdown,tmboot -y tmadmin psr psc pq help quit tmshutdown -y,應(yīng)用的起動(dòng)、監(jiān)控、停止,緩沖區(qū)類型,同步調(diào)用 異步調(diào)用 管道 會(huì)話 廣播、通知 隊(duì)列 發(fā)布訂閱,七種通訊方式,tpcall( ),C,S,同步調(diào)用,tpacall( ) tpgetrply( ) tpcancel(),
10、C,S,S,S,異步調(diào)用,tpforward( ),C,S,S,S,管道,C,C,S1,S2,S1,S2,Nested Services Tpcall(),Pipelined Services Tpforward(),What are the required ratios of S1 to S2?,管道通訊-節(jié)省資源,tpconnect( ), tpdisconnect() tpsend( ) ,tprecv(),*SERVERS convservSRVGRP=CONGRP SRVID=10 CONV=Y,會(huì)話,tpsetunsol(),tpchkunsol(),SIGNAL/DIPIN t
11、pnotify( ), tpbroadcast( ) Broadcast, Narrowcast or Point-to-Point From operator, client, server, .,廣播、通知,tpenqueue( ); tpdequeue( ),可靠隊(duì)列存儲(chǔ)轉(zhuǎn)發(fā),tpsubscribe( ) tppost( ),發(fā)布和訂閱,Tuxedo 配置介紹,Agenda,客戶端的配置 服務(wù)器端的配置 配置文件UBBCONFIG RESOURCES Section MACHINES Section GROUPS Section SERVERS Section SERVICES Sect
12、ion 數(shù)據(jù)依賴路由 NETWORKS Section NETGROUPS Section MP模式的配置 動(dòng)態(tài)遷移 XA的配置,Client端的配置,客房端環(huán)境變量,WSNADDR,Try each host in turn, until successful WSNADDR=ADDR1, ADDR2, ADDR3 Choose any host at random WSNADDR=(ADDR1|ADDR2|ADDR3) Choose one of two hosts at random, with the third as backup WSNADDR=(ADDR1|ADDR2), ADD
13、R3,The configuration file exists in two formats,1,UBBCONFIG - an ASCII version of the configuration file,2,TUXCONFIG - a binary version of the configuration file generated from UBBCONFIG,Tuxedo Domain,tmloadcf,tmboot,TUXCONFIG,Tuxedo Server端的配置方式,UBBCONFIG文件架構(gòu),UBBCONFIG文件各段的關(guān)系,SERVER和SERVICE的概念,SERV
14、ER,SERVER是一個(gè)進(jìn)程,守侯一條消息隊(duì)列; SERVICE是一個(gè)單一的函數(shù); 一個(gè)SERVER可以包含多個(gè)SERVICE,對(duì)外提供多種服務(wù); 同一個(gè)SERVER可以在同一機(jī)器上運(yùn)行多個(gè)拷貝,并守侯同一條消息隊(duì)列;,SVC1,SVC2,SVC3,SVC4,*RESOURCES #RESOUCES節(jié)提供整個(gè)系統(tǒng)的基本參數(shù) IPCKEY237456 32769-16,777,214 MASTER“bill1”,”bill2” UID102 /* BEA TUXEDO Administrator GID10 PERM0660 /*Access Control */ MAXACCESSERS300
15、 /* on a node */ MAXSERVERS250 /* in the whole domain */ MAXSERVICES250 /* in the system */ MODELMP OPTIONLAN,MIGRATE LDBALY/* TMNETLOAD environment */ NOTIFYSIGNAL /* DIPIN,IGNORE, TPINIT flag override*/ USIGNALSIGUSR1 SCANUNIT10/* 5*x */ SANITYSCAN3 /* SCANUNIT*SANITYSCAN 300 */ BLOCKTIME1 /* a me
16、ssage may block */,RESOURCES Section,MASTERbill1,bill2 #指定DOMAIN中的管理主機(jī)為unicom1,運(yùn)行過程中unicom1若出現(xiàn)問題,管理主機(jī)切換至unicom2 MAXACCESSERS 1000 #這里該值表示整個(gè)系統(tǒng)中每個(gè)機(jī)器上可以訪問TUXEDO的Client和Server的總數(shù)(可以訪問 BBL的最大進(jìn)程數(shù)),應(yīng)大于license用戶數(shù)+server數(shù)(副本應(yīng)記入)。該字段會(huì)被MACHINE部分的MAXACCESSERS覆蓋。 #系統(tǒng)核心參數(shù)中SEMAPHORE的數(shù)目(SEMMNS)要大于這里的MAXACCESSERS數(shù)目,
17、而ipc消息個(gè)數(shù)(MSGMAX)應(yīng)大于MAXACCESSERS數(shù)+所有帶REPLYQ的SERVER的個(gè)數(shù)。 MAXSERVERS80 #最大的server數(shù)(副本應(yīng)記入) MAXSERVICES200 #最大的service數(shù)(多個(gè)server重復(fù)記入) MAXOBJECTS20 #系統(tǒng)最多存在的CORBA對(duì)象數(shù)目 MODELMP #表示cluster方式,否則為SHM OPTIONSLAN,MIGRATE #多機(jī)cluster方式時(shí)必須指定為L(zhǎng)AN方式,MIGRATE表示可以以組為單位進(jìn)行機(jī)器間SERVER的遷移。,RESOURCES Section,RESOURCES Section,SC
18、ANUNIT10 #SCANUNIT 是BBL在所有服務(wù)請(qǐng)求中定期掃描以尋找超時(shí)的交易和被阻塞德調(diào)用和德間隔時(shí)間(秒)。這個(gè)參數(shù)指定BBL掃描間隔時(shí)間的基本單位, 它會(huì)影響在tpbegin中指定的交易超時(shí)時(shí)間和用BLOCKTIME指定的請(qǐng)求阻塞超時(shí)時(shí)間的精確程度。SANITYSCAN, BBLQUERY, DBBLWAIT, BLOCKTIME等參數(shù)都是SCANUNIT的倍數(shù),而不是實(shí)際秒數(shù)。而作為時(shí)間單位SCANUNIT必須是5的倍數(shù),并且滿足0SCANUNIT60。 SANITYSCAN12 #SANITYSCAN的值指定在每個(gè)MACHINE上BBL自動(dòng)檢測(cè)所有進(jìn)程的時(shí)間間隔,以SCANU
19、NIT為單元。缺省值滿足(SCANUNIT*SANITYSCAN)約為120秒。 DBBLWAIT 2 #DBBLWAIT的值指定DBBL掃描BBL時(shí)等待所有BBL應(yīng)答的最大時(shí)間,以SCANUNIT為單元,即超過DBBLWAIT*SCANUNIT(秒)就超時(shí)。每一次DBBL將請(qǐng)求轉(zhuǎn)發(fā)給它的BBL時(shí),BBL會(huì)在請(qǐng)求返回結(jié)果之前先回復(fù)一個(gè)肯定的應(yīng)答。這樣可以定時(shí)檢測(cè)死掉或不正常的BBL。缺省值滿足(SCANUNIT*DBBLWAIT)的值等于SCANUNIT和20秒兩者之間的最大者。 BBLQUERY30 #BBLQUERY指定DBBL對(duì)所有BBL進(jìn)行狀態(tài)檢查的時(shí)間間隔,它也是以SCANUNIT為
20、計(jì)算單位。如果DBBL的狀態(tài)詢問沒有回答,該BBL就被隔離了。缺省值滿足(SCANUNIT * BBLQUERY) 約為 300秒。 BLOCKTIME6 #BLOCKTIME指定在阻塞隊(duì)列中的被阻塞請(qǐng)求的超時(shí)時(shí)間,以SCANUNIT為計(jì)算單位。缺省值滿足(SCANUNIT * BLOCKTIME) 約為60秒。,*MACHINES billing-1 LMID=bill1 TUXCONFIG=/export/neva_app/tuxconfig TUXDIR=/export/program/Tuxedo APPDIR=/export/neva_app TLOGNAME=TLOG TLOGSI
21、ZE=100 SPINCOUNT=8 MAXACLCACHE=100 MAXOBJECTS=300 MAXWSCLIENTS=300 #LMID:Logical Machines ID 為tuxedo對(duì)主機(jī)的內(nèi)部邏輯命名。 #APPDIR要求放置SERVER的可執(zhí)行文件。 #TUXCONFIG為全路徑的二進(jìn)制配置文件,要求和環(huán)境變量TUXCONFIG相同。對(duì)于master機(jī)tuxconfig文件是由tmloadcf生成的,而非master機(jī)則是由tmboot啟動(dòng)后由tlisten從master機(jī)上拷貝獲得。 #TUXDIR為tuxedo安裝目錄,要求和環(huán)境變量TUXDIR相同。 #MAXWSC
22、LIENTS表示可連接client的最大個(gè)數(shù)。,MACHINES Section,*GROUPS “APP_GRP1 LMID=bill1 GRPNO=1 TMSNAME=TMS_ORATMSCOUNT=3 OPENINFO=Oracle_XA:Oracle_XA+Acc=P/scott/tiger+SesTM=120+LogDir=.+SqlNet=abcde“ #GROUP1為組名,LMID表示該組運(yùn)行的主機(jī),GRPNO為組號(hào),OPENINFO為該組通過XA打開RM(通常指數(shù)據(jù)庫)的初始串。,GROUPS Section,*SERVERS # Start the system event
23、service TMSYSEVT SRVGRP=SYS_GRP1 SRVID=1 CLOPT=-A # Start the NameManager Service as a Master. TMFFNAME SRVGRP=SYS_GRP1 SRVID=2 CLOPT=-A - -N -M # Start a slave NameManager Service TMFFNAME SRVGRP=SYS_GRP1 SRVID=3 CLOPT=-A - -N # Start the FactoryFinder (-F) service TMFFNAME SRVGRP=SYS_GRP1 SRVID=4
24、CLOPT=-A - -F # Start the IIOP service listener “WSL SRVGRP=SYS_GRP1 SRVID=5 CLOPT=-A - -m8 -M20 -n /billing-1:9001 -d /dev/tcp RQPERM=0666 REPLYQ=N RPPERM=0666 MIN=1 MAX=1 CONV=N MAXGEN=5 GRACE=86400 RESTART=Y LoginSvrA SRVGRP=APP_GRP1 SRVID=17 CLOPT=-A -o logs/LoginA_out.log -e logs/LoginA_err.log
25、 - -noredirect ServiceID=LoginSrvA_C RQPERM=0666 REPLYQ=N RPPERM=0666 MIN=1 MAX=1 CONV=N MAXGEN=5 GRACE=86400 RESTART=Y,SERVERS Section,SERVERS Section,“LoginSever SRVGRP=GROUPMAINSRVID=1RQADDR=RQ_login RQPERM=0666 REPLYQ=Y CLOPT=-A -p 1,10:2,1 -o Inq.out -e Inq.err r - RPPERM=0666 MIN=10 MAX=30 CON
26、V=N MAXGEN=5 GRACE=86400 RESTART=Y # MSSQ配置的相關(guān)參數(shù) RQADDR RQPERM MIN MAX MAXGEN GRACE,SERVERS Section,“LoginSever SRVGRP=GROUPMAINSRVID=1RQADDR=RQ_login RQPERM=0666 REPLYQ=Y CLOPT=-A -p 1,10:2,1 -o Inq.out -e Inq.err r - RPPERM=0666 MIN=10 MAX=30 CONV=N #CLOPT參數(shù) -p Llow_water,terminate_time:high_water
27、,create_time 如果MAX1,并且使用了MSSQ(RQADDR, RQPERM)的Server可以配置-p來控制進(jìn)程的增加和減少??刂扑惴ㄈ缦拢喝绻?qǐng)求隊(duì)列中的請(qǐng)求個(gè)數(shù)大于high_water后超過create_time 秒,就增加該服務(wù)的一個(gè)新進(jìn)程; 如果請(qǐng)求隊(duì)列中的請(qǐng)求個(gè)數(shù)小于low_water 后超過terminate_time 秒, 就停止該服務(wù)的一個(gè)進(jìn)程。low_water 缺省是平均每個(gè)服務(wù)進(jìn)程有一個(gè)請(qǐng)求消息或者workload 50;high_water 缺省是平均每個(gè)服務(wù)進(jìn)程有兩個(gè)請(qǐng)求消息或者workload 100. create_time 缺省是50, and t
28、erminate_time 缺省是60。 -o 重定向服務(wù)進(jìn)程標(biāo)準(zhǔn)輸出 -e 重定向服務(wù)進(jìn)程錯(cuò)誤輸出 -r在錯(cuò)誤輸出中生成服務(wù)報(bào)表,“WSL SRVGRP=SYS_GRP1 SRVID=5 CLOPT=-A - -m8 -M20 x5 -n /billing-1:9001 -d /dev/tcp RQPERM=0666 REPLYQ=N RPPERM=0666 MIN=1 MAX=1 CONV=N #常用CLOPT參數(shù) -n 表示出接入點(diǎn)為HOST/IP:PORT,與客戶端環(huán)境變量WSNADDR相同 -m 表示這個(gè)WSL最少會(huì)folk出來的WSH進(jìn)程個(gè)數(shù)(初始個(gè)數(shù)) -M 表示這個(gè)WSL最多會(huì)
29、folk出來的WSH進(jìn)程個(gè)數(shù) -x 表示每個(gè)WSH同時(shí)處理多少個(gè)client端連接(請(qǐng)求隊(duì)列長(zhǎng)度) -T 10 表示client端和server連接后如果10分鐘內(nèi)沒有交易請(qǐng)求則自動(dòng)關(guān)閉連接。,SERVERS Section,SERVICES Section,An example of the SERVICES section showing the use of the LOAD , PRIO, SVCTIMEOUT, and BUFTYPE parameters,數(shù)據(jù)依賴路由 (DDR),NETWORKS Section,NETGROUPS Section,分布式應(yīng)用模型,MP啟動(dòng)過程,M
30、P模式的配置要點(diǎn),These sections and parameters must be updated to distribute an application:,MP模式的配置例子,先在所有主機(jī)上執(zhí)行 tlisten -l /HostOrIp:Port,主機(jī)管理的動(dòng)態(tài)切換(1),主機(jī)管理的動(dòng)態(tài)切換(2),To restore the original MASTER role after a failure of the original Master machine,動(dòng)態(tài)遷移,動(dòng)態(tài)遷移的必須配置,Server Groups 的動(dòng)態(tài)遷移,TUXEDO使用以下命令進(jìn)行Server Grou
31、ps 的動(dòng)態(tài)遷移,組的動(dòng)態(tài)遷移(1),當(dāng)所有的服務(wù)器都是可用的情況下:,組的動(dòng)態(tài)遷移(2),當(dāng)主機(jī)不可用的情況下:,主機(jī)的動(dòng)態(tài)遷移(1),當(dāng)所有的服務(wù)器都是可用的情況下:,主機(jī)的動(dòng)態(tài)遷移(2),當(dāng)主機(jī)不可用的情況下:,XA相關(guān)配置,RESOURCES段 MAXGTT :GTRID的最大數(shù)目 CMTRET : TP_COMMIT_CONTROL的缺省值 MACHINES段 TLOGDEVICE TLOGNAME TLOGSIZE : (1-2048) GROUPS段 TMSNAME :對(duì)應(yīng)RM的TMS名 TMSCOUNT :?jiǎn)?dòng)個(gè)數(shù)(2-10) OPENINFO SERVICES段 AUTOTR
32、AN TRANTIME,1. MACHINES段: #ubbconfig *MACHINES “HOSTNAME”LMID=LMNAME TLOGDEVICE=/usr/my/TLOG TLOGNAME=TLOG TLOGSIZE=300 $tmadmin -c crdl b 400 z /usr/my/TLOG,XA相關(guān)配置,2. 修改$TUXDIR/udataobj/RM文件,生成相應(yīng)的TMS #Oracle 8i for NT Oracle_XA;xaosw;%ORACLE_HOME%RDBMSXAORAXA8.LIB %ORACLE_HOME%PRECOMPLIBMSVCORASQL8
33、.LIB %ORACLE_HOME%PRECOMPLIBMSVCORASQX8.LIB %ORACLE_HOME%OCILIBMSVCOCI.LIB %ORACLE_HOME%OCILIBMSVCOCIW32.LIB #Oracle 8i for Unix Oracle_XA:xaosw:-L$ORACLE_HOME/lib -lclntsh buildtms r Oracle_XA o Ora_TMS buildserver o server1 f server1.c s SVC1 r Oracle_XA,XA相關(guān)配置,3. GROUPS段 #ubbsample *GROUPS “DBGRP
34、 LMID=LMNAME GRPNO=3 TMSNAME=Ora_TMS TMSCOUNT=6 OPENINFO=Oracle_XA:Oracle_XA+Acc=P/ops$sav40/oracle+SesTm=600+SQLNet=dbsvrOra8+LogDir=.+MaxCur=100“ *SERVERS “server1SRVGRP=“DBGRPSRVID=2 MIN=4,TUXEDO XA,OPENINFO: “Oracle_XA:Oracle_XA+Acc=P/name/pass+SesTm=60+SQLNet=dbsvr+LogDir=/tmp 注:Oracle須執(zhí)行sqlplu
35、s $ORACLE_HOME/RDBMS80/admin/xaview.sql創(chuàng)建XA視圖,XA相關(guān)配置,Log目錄,DB Clinent 鏈接串,會(huì)話Timeout,Oracle 用戶名/密碼,RM 中的標(biāo)號(hào),Tuxedo 管理監(jiān)控工具,Agenda,tmadmin Web GUI tmconfig SNMP,tmadmin command tool,tmadmin provides an interactive command line interface to view and modify Tuxedos Bulletin Board. tmadmin is located in: %
36、TUXDIR%bintmadmin.exe tmadmin allows you to: monitor a running system dynamically modify server parameters perform administrative tasks like booting, cleanup and migration,Usage of printserver,Usage of pclt,Usage of pq,Monitor the BBL,Tuxedo的動(dòng)態(tài)配置,Tuxedo的動(dòng)態(tài)配置可以通過tmadmin和tmconfig兩個(gè)命令行工具實(shí)現(xiàn)不同級(jí)別的配置修改。 tm
37、admin的作用主要是監(jiān)控和管理Tuxedo的運(yùn)行,可以修改服務(wù)的參數(shù),動(dòng)態(tài)切換應(yīng)用等。 tmconfig功能更強(qiáng)大,可以在線修改當(dāng)前Tuxedo的系統(tǒng)UBB配置,即通過MIB修改用UBBCONFIG生成的二進(jìn)制TUXCONFIG在內(nèi)存的拷貝。,在線動(dòng)態(tài)修改配置,tmconfig工具可以遍歷TUXCONFIG的內(nèi)容并通過MIB API修改其配置。要正確運(yùn)行tmconfig,建議設(shè)置以下環(huán)境變量: TUXDIR=/usr/tuxedo TUXCONFIG=/usr/app/tuxconfig EDITOR=vi,$ tmconfig Section: 1) RESOURCES, 2) MACHI
38、NES, 3) GROUPS 4) SERVERS 5)SERVICES 6) NETWORK 7) ROUTING q) QUIT 9) WSL 10) NETGROUPS 11) NETMAPS 12) INTERFACES 1: Operation: 1) FIRST 2) NEXT 3) RETRIEVE 4) ADD 5) UPDATE 6) CLEAR BUFFER 7) QUIT 1: 4 Enter editor to add/modify fields n? Perform operation y?,例1:動(dòng)態(tài)增加新主機(jī),1. 進(jìn)入tmconfig后,選擇2)MACHINES項(xiàng) 2. 然后可以先選擇3)RETRIEVE看看當(dāng)前的配置,缺省是第一個(gè)MACHINE的配置 3. 通
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024窗簾供應(yīng)與安裝協(xié)議模板
- 2024年智能化弱電系統(tǒng)施工協(xié)議
- 2024專業(yè)消防設(shè)施保養(yǎng)協(xié)議
- 體檢中心年底工作總結(jié)范文6篇
- 中鐵建績(jī)效考核
- 文書模板-《借款保證擔(dān)保合同》
- 2024年二手房貸款業(yè)務(wù)協(xié)作協(xié)議樣本
- 化普通商品購(gòu)買:2024協(xié)議格式
- 2024年非公開股權(quán)轉(zhuǎn)讓協(xié)議范本
- 2024住宅小區(qū)物業(yè)經(jīng)理聘任協(xié)議
- 職業(yè)生涯規(guī)劃羽毛球教練員
- 藍(lán)瓊死亡游戲安全教育課件
- 《五四運(yùn)動(dòng)》【優(yōu)質(zhì)課件】
- 列名單鋪墊和邀約課件
- 怎樣讓桃樹高產(chǎn)桃樹高產(chǎn)栽培技術(shù)
- 語言暴力主題班會(huì)課件
- 商業(yè)秘密保護(hù)意識(shí)宣傳培訓(xùn)
- 電路板設(shè)備維護(hù)技能培訓(xùn)
- 政務(wù)信息資源共享交換平臺(tái)共享網(wǎng)站測(cè)試計(jì)劃書報(bào)告
- 2023版中國(guó)結(jié)直腸癌肝轉(zhuǎn)移診斷和綜合治療指南解讀
- 【教學(xué)能力比賽】建筑CAD-教學(xué)實(shí)施報(bào)告
評(píng)論
0/150
提交評(píng)論