




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、一. 準(zhǔn)備知識:ORACLE的邏輯存儲管理.ORACLE在邏輯存儲上分4個(gè)粒度: 表空間, 段, 區(qū) 和 塊. 1.1 塊: 是粒度最小的存儲單位,現(xiàn)在標(biāo)準(zhǔn)的塊大小是8K,ORACLE每一次I/O操作也是按塊來操作的,也就是說當(dāng)ORACLE從數(shù)據(jù)文件讀數(shù)據(jù)時(shí),是讀取多少個(gè)塊,而不是多少行. 每一個(gè)Block里可以包含多個(gè)row. 1.2 區(qū): 由一系列相鄰的塊而組成,這也是ORACLE空間分配的基本單位,舉個(gè)例子來說,當(dāng)我們創(chuàng)建一個(gè)表Dave時(shí),首先ORACLE會(huì)分配一區(qū)的空間給這個(gè)表,隨著不斷的INSERT數(shù)據(jù)到Dave,原來的這個(gè)區(qū)容不下插入的數(shù)據(jù)時(shí),ORACLE是以區(qū)為單位進(jìn)行擴(kuò)展的,也
2、就是說再分配多少個(gè)區(qū)給Dave,而不是多少個(gè)塊.1.3 段: 是由一系列的區(qū)所組成, 一般來說, 當(dāng)創(chuàng)建一個(gè)對象時(shí)(表,索引),就會(huì)分配一個(gè)段給這個(gè)對象. 所以從某種意義上來說,段就是某種特定的數(shù)據(jù).如CREATE TABLE Dave,這個(gè)段就是數(shù)據(jù)段,而CREATE INDEX ON Dave(NAME), ORACLE同樣會(huì)分配一個(gè)段給這個(gè)索引,但這是一個(gè)索引段了.查詢段的信息可以通過數(shù)據(jù)字典: SELECT * FROM USER_SEGMENTS來獲得.1.4 表空間: 包含段,區(qū)及塊.表空間的數(shù)據(jù)物理上儲存在其所在的數(shù)據(jù)文件中.一個(gè)數(shù)據(jù)庫至少要有一個(gè)表空間.表空間(tableSpa
3、ce) 段(segment) 盤區(qū)(extent) 塊(block) 關(guān)系當(dāng)我們創(chuàng)建了一個(gè)表,即使我沒有插入任何一行記錄, ORACLE還是給它分配了8個(gè)塊. 當(dāng)然這個(gè)跟建表語句的INITIAL 參數(shù)及MINEXTENTS參數(shù)有關(guān). 如:STORAGE(INITIAL 64KMINEXTENTS 1MAXEXTENTS UNLIMITED); 也就是說,在這個(gè)對象創(chuàng)建以后,ORACLE至少給它分配一個(gè)區(qū),初始大小是64K,一個(gè)標(biāo)準(zhǔn)塊的大小是8K,剛好是8個(gè)BLOCK. Oracle Table 創(chuàng)建參數(shù) 說明二. 高水線(High Water Mark)2.1 官網(wǎng)說明如下To manage
4、space, Oracle Database tracks the state of blocks in the segment. The high water mark (HWM) is the point in a segment beyond which data blocks are unformatted and have never been used.MSSM uses free lists to manage segment space. At table creation, no blocks in the segment are formatted. When a sess
5、ion first inserts rows into the table, the database searches the free list for usable blocks. If the database finds no usable blocks, then it preformats a group of blocks, places them on the free list, and begins inserting data into the blocks. In MSSM, a full table scan reads all blocks below the H
6、WM.ASSM does not use free lists and so must manage space differently. When a session first inserts data into a table, the database formats a single bitmap block instead of preformatting a group of blocks as in MSSM. The bitmap tracks the state of blocks in the segment, taking the place of the free l
7、ist. The database uses the bitmap to find free blocks and then formats each block before filling it with data. ASSM spread out inserts among blocks to avoid concurrency issues.Oracle 自動(dòng)段空間管理(ASSM:auto segment space management)Every data block in an ASSM segment is in one of the following states:(1)A
8、bove the HWMThese blocks are unformatted and have never been used.(2)Below the HWMThese blocks are in one of the following states:(1)Allocated, but currently unformatted and unused(2)Formatted and contain data(3)Formatted and empty because the data was deletedFigure 12-23 depicts an ASSM segment as
9、a horizontal series of blocks. At table creation, the HWM is at the beginning of the segment on the left. Because no data has been inserted yet, all blocks in the segment are unformatted and never used.Figure 12-23 HWM at Table Creation Suppose that a transaction inserts rows into the segment. The d
10、atabase must allocate a group of blocks to hold the rows. The allocated blocks fall below the HWM. The database formats a bitmap block in this group to hold the metadata, but does not preformat the remaining blocks in the group.In Figure 12-24, the blocks below the HWM are allocated, whereas blocks
11、above the HWM are neither allocated or formatted. As inserts occur, the database can write to any block with available space. The low high water mark (low HWM) marks the point below which all blocks are known to be formatted because they either contain data or formerly contained data.Figure 12-24 HW
12、M and Low HWMIn Figure 12-25, the database chooses a block between the HWM and low HWM and writes to it. The database could have just as easily chosen any other block between the HWM and low HWM, or any block below the low HWM that had available space. In Figure 12-25, the blocks to either side of t
13、he newly filled block are unformatted.Figure 12-25 HWM and Low HWM The low HWM is important in a full table scan. Because blocks below the HWM are formatted only when used, some blocks could be unformatted, as in Figure 12-25. For this reason, the database reads the bitmap block to obtain the locati
14、on of the low HWM. The database reads all blocks up to the low HWM because they are known to be formatted, and then carefully reads only the formatted blocks between the low HWM and the HWM.Assume that a new transaction inserts rows into the table, but the bitmap indicates that insufficient free spa
15、ce exists under the HWM. In Figure 12-26, the database advances the HWM to the right, allocating a new group of unformatted blocks.Figure 12-26 Advancing HWM and Low HWMWhen the blocks between the HWM and low HWM are full, the HWM advances to the right and the low HWM advances to the location of the
16、 old HWM. As the database inserts data over time, the HWM continues to advance to the right, with the low HWM always trailing behind it. Unless you manually rebuild, truncate, or shrink the object, the HWM never retreats.Oracle 數(shù)據(jù)塊 Block 說明2. 2 Oracle表段中的高水位線HWM 在Oracle數(shù)據(jù)的存儲中,可以把存儲空間想象為一個(gè)水庫,數(shù)據(jù)想象為水庫中
17、的水。水庫中的水的位置有一條線叫做水位線,在Oracle中,這條線被稱為高水位線(High-warter mark, HWM)。在數(shù)據(jù)庫表剛建立的時(shí)候,由于沒有任何數(shù)據(jù),所以這個(gè)時(shí)候水位線是空的,也就是說HWM為最低值。當(dāng)插入了數(shù)據(jù)以后,高水位線就會(huì)上漲,但是這里也有一個(gè)特性,就是如果你采用delete語句刪除數(shù)據(jù)的話,數(shù)據(jù)雖然被刪除了,但是高水位線卻沒有降低,還是你剛才刪除數(shù)據(jù)以前那么高的水位。也就是說,這條高水位線在日常的增刪操作中只會(huì)上漲,不會(huì)下跌。HWM通常增長的幅度為一次5個(gè)數(shù)據(jù)塊.Select語句會(huì)對表中的數(shù)據(jù)進(jìn)行一次掃描,但是究竟掃描多少數(shù)據(jù)存儲塊呢,這個(gè)并不是說數(shù)據(jù)庫中有多少數(shù)
18、據(jù),Oracle就掃描這么大的數(shù)據(jù)塊,而是Oracle會(huì)掃描高水位線以下的數(shù)據(jù)塊?,F(xiàn)在來想象一下,如果剛才是一張剛剛建立的空表,你進(jìn)行了一次Select操作,那么由于高水位線HWM在最低的0位置上,所以沒有數(shù)據(jù)塊需要被掃描,掃描時(shí)間會(huì)極短。而如果這個(gè)時(shí)候你首先插入了一千萬條數(shù)據(jù),然后再用delete語句刪除這一千萬條數(shù)據(jù)。由于插入了一千萬條數(shù)據(jù),所以這個(gè)時(shí)候的高水位線就在一千萬條數(shù)據(jù)這里。后來刪除這一千萬條數(shù)據(jù)的時(shí)候,由于delete語句不影響高水位線,所以高水位線依然在一千萬條數(shù)據(jù)這里。這個(gè)時(shí)候再一次用select語句進(jìn)行掃描,雖然這個(gè)時(shí)候表中沒有數(shù)據(jù),但是由于掃描是按照高水位線來的,所以需
19、要把一千萬條數(shù)據(jù)的存儲空間都要掃描一次,也就是說這次掃描所需要的時(shí)間和掃描一千萬條數(shù)據(jù)所需要的時(shí)間是一樣多的。所以有時(shí)候有人總是經(jīng)常說,怎么我的表中沒有幾條數(shù)據(jù),但是還是這么慢呢,這個(gè)時(shí)候其實(shí)奧秘就是這里的高水位線了。 那有沒有辦法讓高水位線下降呢,其實(shí)有一種比較簡單的方法,那就是采用TRUNCATE語句進(jìn)行刪除數(shù)據(jù)。采用TRUNCATE語句刪除一個(gè)表的數(shù)據(jù)的時(shí)候,類似于重新建立了表,不僅把數(shù)據(jù)都刪除了,還把HWM給清空恢復(fù)為0。所以如果需要把表清空,在有可能利用TRUNCATE語句來刪除數(shù)據(jù)的時(shí)候就利用TRUNCATE語句來刪除表,特別是那種數(shù)據(jù)量有可能很大的臨時(shí)存儲表。 在手動(dòng)段空間管理(
20、Manual Segment Space Management)中,段中只有一個(gè)HWM,但是在Oracle 9i Release1才添加的自動(dòng)段空間管理(Automatic Segment Space Management)中,又有了一個(gè)低HWM的概念出來。為什么有了HWM還又有一個(gè)低HWM呢,這個(gè)是因?yàn)樽詣?dòng)段空間管理的特性造成的。在手段段空間管理中,當(dāng)數(shù)據(jù)插入以后,如果是插入到新的數(shù)據(jù)塊中,數(shù)據(jù)塊就會(huì)被自動(dòng)格式化等待數(shù)據(jù)訪問。而在自動(dòng)段空間管理中,數(shù)據(jù)插入到新的數(shù)據(jù)塊以后,數(shù)據(jù)塊并沒有被格式化,而是在第一次訪問這個(gè)數(shù)據(jù)塊的時(shí)候才格式化這個(gè)塊。所以我們又需要一條水位線,用來標(biāo)示已經(jīng)被格式化的塊
21、。這條水位線就叫做低HWM。一般來說,低HWM肯定是低于等于HWM的。 2.3. 修正ORACLE表的高水位線在ORACLE中,執(zhí)行對表的刪除操作不會(huì)降低該表的高水位線。而全表掃描將始終讀取一個(gè)段(extent)中所有低于高水位線標(biāo)記的塊。如果在執(zhí)行刪除操作后不降低高水位線標(biāo)記,則將導(dǎo)致查詢語句的性能低下。rebuild, truncate, shrink,move 等操作會(huì)降低高水位。2.3.1 執(zhí)行表重建指令 alter table table_name move;在線轉(zhuǎn)移表空間ALTER TABLE . MOVE TABLESPACE .當(dāng)你創(chuàng)建了一個(gè)對象如表以后,不管你有沒有插入數(shù)據(jù),
22、它都會(huì)占用一些塊,ORACLE也會(huì)給它分配必要的空間.同樣,用ALTER TABLE MOVE釋放自由空間后,還是保留了一些空間給這個(gè)表. ALTER TABLE . MOVE 后面不跟參數(shù)也行,不跟參數(shù)表還是在原來的表空間,Move后記住重建索引. 如果以后還要繼續(xù)向這個(gè)表增加數(shù)據(jù),沒有必要move, 只是釋放出來的空間,只能這個(gè)表用,其他的表或者segment無法使用該空間。 2.3.2 執(zhí)行alter table table_name shrink space; 此命令為Oracle 10g新增功能,再執(zhí)行該指令之前必須允許行移動(dòng) alter table table_name enabl
23、e row movement;2.3.3 重建表復(fù)制要保留的數(shù)據(jù)到臨時(shí)表t,drop原表,然后rename臨時(shí)表t為原表2.3.4 用邏輯導(dǎo)入導(dǎo)出: Emp/Imp2.3.5. Alter table table_name deallocate unused DEALLOCATE UNUSED為釋放HWM上面的未使用空間,但是并不會(huì)釋放HWM下面的自由空間,也不會(huì)移動(dòng)HWM的位置. 2.3.6 推薦使用truncate.2.3.7 一些注意事項(xiàng)Oracle 9i:(1)如果是INEXTENT, 可以使alter table tablename deallocate unused將HWM以上所有
24、沒使用的空間釋放(2) 如果MINEXTENT HWM 則釋放MINEXTENTS 以上的空間。如果要釋放HWM以上的空間則使用KEEP 0。SQLalter table tablesname deallocate unused keep 0;(3)truncate table drop storage(缺省值)命令可以將MINEXTENT 之上的空間完全釋放(交還給操作系統(tǒng)),并且重置HWM。 (4)如果僅是要移動(dòng)HWM,而不想讓表長時(shí)間鎖住,可以用truncate table reuse storage,僅將HWM重置。(5)ALTER TABLE MOVE會(huì)將HWM移動(dòng),但在MOVE時(shí)需
25、要雙倍的表空間,而且如果表上有索引的話,需要重構(gòu)索引 (6)DELETE表不會(huì)重置HWM,也不會(huì)釋放自由的空間(也就是說DELETE空出來的空間只能給對象本身將來的INSERT/UPDATE使用,不能給其它的對象使用) Oracle 10g:(1)可以使用alter table test_tab shrink space命令來聯(lián)機(jī)移動(dòng)hwm, (2)如果要同時(shí)壓縮表的索引,可以發(fā)布:alter table test_tab shrink space cascade2.4 HWM 特點(diǎn)2.4.1 ORACLE用HWM來界定一個(gè)段中使用的塊和未使用的塊.舉個(gè)例子來說,當(dāng)我們創(chuàng)建一個(gè)表時(shí),ORACL
26、E就會(huì)為這個(gè)對象分配一個(gè)段.在這個(gè)段中,即使我們未插入任何記錄,也至少有一個(gè)區(qū)被分配,第一個(gè)區(qū)的第一個(gè)塊就稱為段頭(SEGMENT HEADE),段頭中就儲存了一些信息,基中HWM的信息就存儲在此.此時(shí),因?yàn)榈谝粋€(gè)區(qū)的第一塊用于存儲段頭的一些信息,雖然沒有存儲任何實(shí)際的記錄,但也算是被使用,此時(shí)HWM是位于第2個(gè)塊.當(dāng)我們不斷插入數(shù)據(jù)到表后,第1個(gè)塊已經(jīng)放不下后面新插入的數(shù)據(jù),此時(shí),ORACLE將高水位之上的塊用于存儲新增數(shù)據(jù),同時(shí),HWM本身也向上移.也就是說,當(dāng)我們不斷插入數(shù)據(jù)時(shí),HWM會(huì)往不斷上移,這樣,在HWM之下的,就表示使用過的塊,HWM之上的就表示已分配但從未使用過的塊.2.4.
27、2. HWM在插入數(shù)據(jù)時(shí),當(dāng)現(xiàn)有空間不足而進(jìn)行空間的擴(kuò)展時(shí)會(huì)向上移,但刪除數(shù)據(jù)時(shí)不會(huì)往下移.ORACLE 不會(huì)釋放空間以供其他對象使用,有一條簡單的理由:由于空間是為新插入的行保留的,并且要適應(yīng)現(xiàn)有行的增長。被占用的最高空間稱為最高使用標(biāo)記 (HWM),2.4.3. HWM的信息存儲在段頭當(dāng)中.HWM本身的信息是儲存在段頭.在段空間是手工管理方式時(shí),ORACLE是通過FREELIST(一個(gè)單向鏈表)來管理段內(nèi)的空間分配.在段空間是自動(dòng)管理方式時(shí)(ASSM),ORACLE是通過BITMAP來管理段內(nèi)的空間分配.2.4.4. ORACLE的全表掃描是讀取高水位標(biāo)記(HWM)以下的所有塊.所以問題就
28、產(chǎn)生了.當(dāng)用戶發(fā)出一個(gè)全表掃描時(shí),ORACLE 始終必須從段一直掃描到 HWM,即使它什么也沒有發(fā)現(xiàn)。該任務(wù)延長了全表掃描的時(shí)間。2.4.5. 當(dāng)用直接路徑插入行時(shí),即使HWM以下有空閑的數(shù)據(jù)庫塊,鍵入在插入數(shù)據(jù)時(shí)使用了append關(guān)鍵字,則在插入時(shí)使用HWM以上的數(shù)據(jù)塊,此時(shí)HWM會(huì)自動(dòng)增大。例如,通過直接加載插入(用 APPEND 提示插入)或通過 SQL*LOADER 直接路徑 數(shù)據(jù)塊直接置于 HWM 之上。它下面的空間就浪費(fèi)掉了。三. 相關(guān)測試1) 創(chuàng)建測試表SQL create table tt (id number);Table created.此時(shí)表沒有分析,是原始的數(shù)據(jù),即8個(gè)
29、數(shù)據(jù)塊。SQLSELECT segment_name,segment_type,blocks FROM dba_segments WHERE segment_name=TT;SEGMENT_NAME SEGMENT_TYPE BLOCKS- - -TT TABLE 8SQL SELECT table_name,num_rows,blocks,empty_blocks FROM user_tables WHERE table_name=TT;TABLE_NAME NUM_ROWS BLOCKS EMPTY_BLOCKS- - - -TT2) 向表中插入一些測試數(shù)據(jù)SQL declare 2 i
30、number; 3 begin 4 for i in 1.10000 loop 5 insert into tt values(i); 6 end loop; 7 commit; 8 end; 9 /PL/SQL procedure successfully completed.3)在次查看表的信息SQL SELECT table_name,num_rows,blocks,empty_blocks FROM user_tables WHERE table_name=TT;TABLE_NAME NUM_ROWS BLOCKS EMPTY_BLOCKS- - - -TTSQL SELECT seg
31、ment_name,segment_type,blocks FROM dba_segments WHERE segment_name=TT;SEGMENT_NAME SEGMENT_TYPE BLOCKS- - -TT TABLE 24此時(shí)表TT 占用的數(shù)據(jù)庫已經(jīng)是24個(gè)了。 但是user_tables 顯示的信息還是為空。 因?yàn)闆]有做統(tǒng)計(jì)分析。 4) 收集統(tǒng)計(jì)信息SQL exec DBMS_STATS.GATHER_TABLE_STATS(SYS,TT);PL/SQL procedure successfully completed.SQL SELECT segment_name,segme
32、nt_type,blocks FROM dba_segments WHERE segment_name=TT;SEGMENT_NAME SEGMENT_TYPE BLOCKS- - -TT TABLE 24SQL SELECT table_name,num_rows,blocks,empty_blocks FROM user_tables WHERE table_name=TT;TABLE_NAME NUM_ROWS BLOCKS EMPTY_BLOCKS- - - -TT 10000 20 0此時(shí)user_tables 已經(jīng)有了數(shù)據(jù),顯示的使用了20個(gè)數(shù)據(jù)塊。 但是empty_blocks
33、還是為空。 這里要注意的地方。 這個(gè)字段只有使用analyze 收集統(tǒng)計(jì)信息之后才會(huì)有數(shù)據(jù)。 5) 使用analyze 收集統(tǒng)計(jì)信息SQL ANALYZE TABLE TT COMPUTE STATISTICS;Table analyzed.SQL SELECT table_name,num_rows,blocks,empty_blocks FROM user_tables WHERE table_name=TT;TABLE_NAME NUM_ROWS BLOCKS EMPTY_BLOCKS- - - -TT 10000 20 3- 這里有顯示空的數(shù)據(jù)庫有3個(gè)。 注意:20+3=23. 比占用
34、的24個(gè)數(shù)據(jù)塊少一個(gè)。因?yàn)橛幸粋€(gè)數(shù)據(jù)庫塊被保留用作segment header。SQL SELECT segment_name,segment_type,blocks FROM dba_segments WHERE segment_name=TT;SEGMENT_NAME SEGMENT_TYPE BLOCKS- - -TT TABLE 246) delete 數(shù)據(jù),不會(huì)降低高水位SQL delete from tt;10000 rows deleted.SQL commit;Commit complete.SQL SELECT segment_name,segment_type,blocks
35、 FROM dba_segments WHERE segment_name=TT;SEGMENT_NAME SEGMENT_TYPE BLOCKS- - -TT TABLE 24SQL SELECT table_name,num_rows,blocks,empty_blocks FROM user_tables WHERE table_name=TT;TABLE_NAME NUM_ROWS BLOCKS EMPTY_BLOCKS- - - -TT 10000 20 3SQL analyze table tt compute statistics;Table analyzed.SQL SELEC
36、T table_name,num_rows,blocks,empty_blocks FROM user_tables WHERE table_name=TT;TABLE_NAME NUM_ROWS BLOCKS EMPTY_BLOCKS- - - -TT 0 20 3SQL SELECT segment_name,segment_type,blocks FROM dba_segments WHERE segment_name=TT;SEGMENT_NAME SEGMENT_TYPE BLOCKS- - -TT TABLE 24SQL7) truncate 表,可以降低高水位SQL trunca
37、te table tt;Table truncated.SQL SELECT segment_name,segment_type,blocks FROM dba_segments WHERE segment_name=TT;SEGMENT_NAME SEGMENT_TYPE BLOCKS- - -TT TABLE 8SQL SELECT table_name,num_rows,blocks,empty_blocks FROM user_tables WHERE table_name=TT;TABLE_NAME NUM_ROWS BLOCKS EMPTY_BLOCKS- - - -TT 0 20
38、 3- 段的信息沒有改變,收集一下統(tǒng)計(jì)信息看看SQL exec dbms_stats.gather_table_stats(SYS,TT);PL/SQL procedure successfully completed.SQL SELECT table_name,num_rows,blocks,empty_blocks FROM user_tables WHERE table_name=TT;TABLE_NAME NUM_ROWS BLOCKS EMPTY_BLOCKS- - - -TT 0 0 3SQL SELECT segment_name,segment_type,blocks FROM
39、 dba_segments WHERE segment_name=TT;SEGMENT_NAME SEGMENT_TYPE BLOCKS- - -TT TABLE 8-段的信息已經(jīng)改變,但是empty_blocks 段沒有改變,該段只有使用analyze 才能改變。SQL analyze table tt compute statistics;Table analyzed.SQL SELECT table_name,num_rows,blocks,empty_blocks FROM user_tables WHERE table_name=TT;TABLE_NAME NUM_ROWS BLOC
40、KS EMPTY_BLOCKS- - - -TT 0 0 7SQL SELECT segment_name,segment_type,blocks FROM dba_segments WHERE segment_name=TT;SEGMENT_NAME SEGMENT_TYPE BLOCKS- - -TT TABLE 8SQL- 總共8個(gè)數(shù)據(jù)塊,7個(gè)為空,還有一個(gè)是segment header。四. Alter table move 和Shrink 區(qū)別在下面2篇blog 有說明:alter table move跟shrink space的區(qū)別MOS 上的說明,ID:577375.1:The
41、shrink algorithm starts from the bottom of the segment and starts moving those rows to the beginning of the segment. Shrink is a combination of delete/insert pair for every row movement and this generates many UNDO and REDO blocks . Move從segment的底部開始,move這些rows到segment的頭部。Shrink則是delete/insert相結(jié)合,這樣
42、會(huì)產(chǎn)生非常多的UNDO和REDO。4.1 Shrink在10g之后,整理碎片消除行遷移的新增功能shrink spaceSQLalter table shrink space | compact | cascade ;compact: 這個(gè)參數(shù)當(dāng)系統(tǒng)的負(fù)載比較大時(shí)可以用,不降低HWM。如果系統(tǒng)負(fù)載較低時(shí),直接用alter table table_name shrink space就一步到位了cascade:這個(gè)參數(shù)是在shrink table的時(shí)候自動(dòng)級聯(lián)索引,相當(dāng)于rebulid index。以下SQL 基于普通表shrink必須開啟行遷移功能。alter table table_name enable row movement ;保持HWM,相當(dāng)于把塊中數(shù)據(jù)打結(jié)實(shí)了alter table table_
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 耐磨陶瓷復(fù)合管項(xiàng)目備案申請可行性研究報(bào)告
- 二零二五年度事業(yè)單位退休人員返聘合同解除書
- 2025年度企業(yè)員工退休待遇單位就業(yè)協(xié)議書
- 2024年北京工業(yè)大學(xué)聘用制人員招聘考試真題
- 2025年度個(gè)人之間借車安全責(zé)任免除協(xié)議
- 休閑會(huì)所裝修項(xiàng)目合同模板
- 中介借貸合同范本
- 武術(shù)館裝修合同解除函
- 個(gè)人專利咨詢合同范例
- 二年級數(shù)學(xué)北師大版下冊第七單元《淘氣的作息時(shí)間》教學(xué)設(shè)計(jì)教案1
- 癥狀護(hù)理意識障礙
- 公司組織架構(gòu)圖模板完整版可編輯 10
- 《護(hù)理法律法規(guī)》課件
- AI在知識庫領(lǐng)域的應(yīng)用
- 易制毒化學(xué)品經(jīng)營管理制度
- 2024年中國成人心肌炎臨床診斷與治療指南解讀課件
- 全國川教版信息技術(shù)八年級下冊第一單元第2節(jié)《制作創(chuàng)意掛件》信息技術(shù)教學(xué)設(shè)計(jì)
- GB/T 22919.8-2024水產(chǎn)配合飼料第8部分:巴沙魚配合飼料
- 網(wǎng)絡(luò)營銷推廣與策劃教學(xué)大綱
- 2024年中鐵集裝箱運(yùn)輸有限責(zé)任公司招聘筆試參考題庫附帶答案詳解
- 北師大版五年級數(shù)學(xué)下冊教材分析解讀課件完整版
評論
0/150
提交評論