ORACLE應(yīng)用開發(fā)_第1頁(yè)
ORACLE應(yīng)用開發(fā)_第2頁(yè)
ORACLE應(yīng)用開發(fā)_第3頁(yè)
ORACLE應(yīng)用開發(fā)_第4頁(yè)
ORACLE應(yīng)用開發(fā)_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、ORACLE應(yīng)用開發(fā)過(guò)程中常見問(wèn)題1、數(shù)據(jù)庫(kù)日常運(yùn)維監(jiān)控1.1 檢查表空間文件使用率一、執(zhí)行如下SQL語(yǔ)句進(jìn)行查詢:select b.file_name, b.tablespace_name, b.bytes / 1024 / 1024 總空間大小, (b.bytes - sum(nvl(a.bytes, 0) / 1024 / 1024 已使用空間, substr(b.bytes - sum(nvl(a.bytes, 0) / (b.bytes) * 100, 1, 5) 利用率 from dba_free_space a, dba_data_files b where a.file_id

2、= b.file_idgroup by b.tablespace_name, b.file_name, b.bytes order by b.tablespace_name;二、分析與注意事項(xiàng):1)數(shù)據(jù)庫(kù)用戶建議同時(shí)創(chuàng)建多個(gè)表空間,數(shù)據(jù)表空間和索引表空間盡量單獨(dú)建立,增加IO的并行響應(yīng)效率;2)用戶的表空間應(yīng)該由多個(gè)表空間文件組成,建議每個(gè)表空間文件大小為10G;3)用戶的表空間利用率超出80%以上,為避免表空間不足引起異常,應(yīng)該提前申請(qǐng)?jiān)黾颖砜臻g文件;三、表空間不足解決方法:1)修改表空間數(shù)據(jù)文件大?。篈LTER DATABASE DATAFILE '/opt/oracle/orad

3、ata/TEST/test.dbf' RESIZE 20000M;2)為表空間增加數(shù)據(jù)文件:alter tablespace sales add datafile '/home/app/oracle/oradata/oracle8i/sales02.dbf' size 20000M autoextend on next 1000M maxsize 30000M;3)清理表空間垃圾:purge recyclebin;4)磁盤碎片壓縮釋放表空間: 對(duì)表進(jìn)行磁盤壓縮,當(dāng)對(duì)表內(nèi)部數(shù)據(jù)進(jìn)行了大量的UPDATE、DELETE操作后,一定時(shí)間需要進(jìn)行磁盤壓縮,否則在查詢時(shí),若通過(guò)FU

4、LL SCAN掃描數(shù)據(jù),將會(huì)把空塊也會(huì)掃描到,對(duì)表進(jìn)行磁盤壓縮需要進(jìn)行行遷移操作,所以首先需要操作: ALTER TABLE A ENABLE ROW MOVEMENT; 對(duì)表的壓縮語(yǔ)法為: ALTER TABLE A SHRINK SPACE;對(duì)于索引也需要進(jìn)行壓縮,索引也是表:ALTER INDEX <index_name> shrink space;1.2 檢查臨時(shí)表空間在oracle數(shù)據(jù)庫(kù)中,臨時(shí)表空間主要用于用戶在使用order by 、group by語(yǔ)句進(jìn)行排序和匯總時(shí)所需的臨時(shí)工作空間。要查詢數(shù)據(jù)庫(kù)中臨時(shí)表空間的名稱,大小及數(shù)據(jù)文件,命令如下:select tabl

5、espace_name,current_users,total_extents,used_extents,free_extents from v$sort_segment;分析:臨時(shí)表空間經(jīng)常處于飽和狀態(tài),除了需要適當(dāng)調(diào)整臨時(shí)表空間的初始化大小,另一個(gè)工作就是查找最消耗臨時(shí)表空間的SQL語(yǔ)句進(jìn)行分析優(yōu)化,這個(gè)才是治標(biāo)治本的關(guān)鍵。1.3 檢查單張表的使用情況一、查詢所有用戶表使用大小的前三十名select * from (select segment_name, bytes / 1024 / 1024 | 'M' DATASPACE from (select segment_na

6、me, SUM(bytes) bytes from dba_segments where owner = USER GROUP BY segment_name) order by bytes desc) where rownum <= 30; 二、分析:ORACLE官方建議單表數(shù)據(jù)超過(guò)2G的數(shù)據(jù)表,應(yīng)該進(jìn)行分區(qū),分區(qū)的目的是使得每個(gè)分區(qū)的數(shù)據(jù)量保持一定大小,分區(qū)之間數(shù)據(jù)量分布比較均勻,必須結(jié)合業(yè)務(wù)應(yīng)用特征,將每次用戶使用的數(shù)據(jù)限制在同一個(gè)分區(qū)內(nèi),盡量避免跨分區(qū)查詢。1.4 oracle鎖表問(wèn)題一、檢查鎖表對(duì)象,可直接執(zhí)行: Select a.inst_id, c.sid, c.seria

7、l#, , b.object_name, c.username, a.object_id, gram, c.status, c.osuser, c.terminal from gv$Locked_object a, All_objects b, gv$session c, audit_actions d where a.object_id = b.object_id and a.inst_id = c.inst_id(+) and a.session_id = c.sid(+) and mand = d.action; 二、對(duì)于長(zhǎng)期鎖住不釋放的表進(jìn)行手動(dòng)解鎖:1)以系統(tǒng)管

8、理員登陸 sqlplus name/passwddbname as sysdba 2)查看鎖的SID和SERIAL#,把鎖給KILL掉 -alter system kill session 'sid,serial#' alter system kill session '146,21177' 3)如果是賬號(hào)被鎖,需要給賬戶解鎖 alter user ermsdata account unlock; 4)處理Oracle中殺不掉的鎖一些ORACLE中的進(jìn)程被殺掉后,狀態(tài)被置為"killed",但是鎖定的資源很長(zhǎng)時(shí)間不釋放,現(xiàn)在提供一種方法解決這

9、種問(wèn)題,那就是在ORACLE中殺不掉的,在OS一級(jí)再殺。 1.5 檢查消耗數(shù)據(jù)庫(kù)性能的SQL語(yǔ)句一、檢查cpu_time占用top 10的sqlselect cpu_time, sql_text from (select sql_text, cpu_time, rank() over(order by cpu_time desc) exec_rank from v$sql m) where exec_rank <= 10;二、執(zhí)行次數(shù)最多的top 10的SQL語(yǔ)句select sql_text, executions from (select sql_text, executions,

10、rank() over(order by executions desc) exec_rank from v$sql) where exec_rank <= 10;1.6 檢查數(shù)據(jù)庫(kù)連接數(shù)1)當(dāng)前的數(shù)據(jù)庫(kù)連接數(shù) select count(*) from v$process 2)數(shù)據(jù)庫(kù)允許的最大連接數(shù) select value from v$parameter where name ='processes'3)修改最大連接數(shù): alter system set processes = 300 scope = spfile;4)修改完需重啟數(shù)據(jù)庫(kù)生效 shutdown imm

11、ediate; startup;5)查看當(dāng)前有哪些用戶正在執(zhí)行哪些語(yǔ)句 SELECT osuser, a.username,cpu_time/executions/1000000|'s',b.sql_text,machine from v$session a, v$sqlarea b where a.sql_address =b.address order by cpu_time/executions desc;6)當(dāng)前的session連接數(shù) select count(*) from v$session;-集群環(huán)境,查看每個(gè)單點(diǎn)服務(wù)器分別占用了多少進(jìn)程select INST_I

12、D, count(1) from gv$session t group by t.INST_ID;7)當(dāng)前的并發(fā)連接數(shù) select count(*) from v$session where status='ACTIVE'8)最大連接 show parameter processes 9)修改最大連接數(shù)alter system set processes = value scope =spfile; 2、大數(shù)據(jù)表分區(qū)索引創(chuàng)建122.1 查找有建分區(qū)的表select * from user_part_tables;1)ORACLE建議,單表數(shù)據(jù)大小超過(guò)2G或者數(shù)據(jù)量按時(shí)間持續(xù)增

13、長(zhǎng)的歷史表,應(yīng)該考慮進(jìn)行分區(qū)操作;2)分區(qū)字段不能用來(lái)創(chuàng)建索引;3)創(chuàng)建分區(qū)索引,對(duì)于只會(huì)在同一個(gè)分區(qū)內(nèi)使用的字段,盡量使用LOCAL本地索引;4)通過(guò)主鍵進(jìn)行查詢時(shí),無(wú)需加分區(qū)字段進(jìn)行條件限制,主鍵本身已經(jīng)是最快;5)分區(qū)盡量有相對(duì)獨(dú)立的表空間,提升IO響應(yīng)并發(fā)度;7)分區(qū)的字段一定要是經(jīng)常用以提取數(shù)據(jù)的字段,否則會(huì)在提取過(guò)程中導(dǎo)致遍歷多個(gè)分區(qū),這樣比沒(méi)有分區(qū)還要慢。8)分區(qū)字段要選擇合適,數(shù)據(jù)較為均勻分布到各個(gè)分區(qū),不要太多也不要太少,而且根據(jù)分區(qū)字段可以很快定位到分區(qū)范圍。9)一般情況下,盡量然業(yè)務(wù)操作在同一個(gè)分區(qū)內(nèi)部完成。10)分區(qū)表、索引、分區(qū)索引,要利用其性能優(yōu)勢(shì),最基本就是要提取

14、數(shù)據(jù)時(shí),要通過(guò)它首先將數(shù)據(jù)的范圍縮小到一個(gè)即使做全盤掃描也不會(huì)太慢的情況。11)所以SQL一定要有分區(qū)上的這個(gè)字段的一個(gè)WHERE條件,將數(shù)據(jù)迅速定位到分區(qū)內(nèi)部,而且盡量定位到一個(gè)分區(qū)里面(這個(gè)和創(chuàng)建分區(qū)的規(guī)則有關(guān)系)。12)建立分區(qū)本身不提要性能,要用好才可提高性能,在必要的RAC集群中,若存在多分區(qū)提取數(shù)據(jù),適當(dāng)采用并行提取可以提高提取的速度。2.2 分區(qū)表理論知識(shí)Oracle提供了分區(qū)技術(shù)以支持VLDB(Very Large DataBase)。分區(qū)表通過(guò)對(duì)分區(qū)列的判斷,把分區(qū)列不同的記錄,放到不同的分區(qū)中。分區(qū)完全對(duì)應(yīng)用透明。Oracle的分區(qū)表可以包括多個(gè)分區(qū),每個(gè)分區(qū)都是一個(gè)獨(dú)立的

15、段(SEGMENT),可以存放到不同的表空間中。查詢時(shí)可以通過(guò)查詢表來(lái)訪問(wèn)各個(gè)分區(qū)中的數(shù)據(jù),也可以通過(guò)在查詢時(shí)直接指定分區(qū)的方法來(lái)進(jìn)行查詢。When to Partition a Table什么時(shí)候需要分區(qū)表,官網(wǎng)的2個(gè)建議如下:(1)Tables greater than 2GB should always be considered for partitioning.(2)Tables containing historical data, in which new data is added into the newest partition. A typical example is

16、a historical table where only the current month's data is updatable and the other 11 months are read only.分區(qū)提供以下優(yōu)點(diǎn):(1)由于將數(shù)據(jù)分散到各個(gè)分區(qū)中,減少了數(shù)據(jù)損壞的可能性;(2)可以對(duì)單獨(dú)的分區(qū)進(jìn)行備份和恢復(fù);(3)可以將分區(qū)映射到不同的物理磁盤上,來(lái)分散IO;(4)提高可管理性、可用性和性能。Oracle 10g提供了以下幾種分區(qū)類型:(1)范圍分區(qū)(range);(2)哈希分區(qū)(hash);(3)列表分區(qū)(list);(4)范圍哈希復(fù)合分區(qū)(range-hash);(

17、5)范圍列表復(fù)合分區(qū)(range-list)。2.3 Range分區(qū):Range分區(qū)是應(yīng)用范圍比較廣的表分區(qū)方式,它是以列的值的范圍來(lái)做為分區(qū)的劃分條件,將記錄存放到列值所在的range分區(qū)中。如按照時(shí)間劃分,2010年1月的數(shù)據(jù)放到a分區(qū),2月的數(shù)據(jù)放到b分區(qū),在創(chuàng)建的時(shí)候,需要指定基于的列,以及分區(qū)的范圍值。在按時(shí)間分區(qū)時(shí),如果某些記錄暫無(wú)法預(yù)測(cè)范圍,可以創(chuàng)建maxvalue分區(qū),所有不在指定范圍內(nèi)的記錄都會(huì)被存儲(chǔ)到maxvalue所在分區(qū)中。如:create table pdba (id number, time date) partition by range (time)(parti

18、tion p1 values less than (to_date('2010-10-1', 'yyyy-mm-dd'),partition p2 values less than (to_date('2010-11-1', 'yyyy-mm-dd'),partition p3 values less than (to_date('2010-12-1', 'yyyy-mm-dd'),partition p4 values less than (maxvalue)2.4 Hash分區(qū):對(duì)于那些無(wú)法有效

19、劃分范圍的表,可以使用hash分區(qū),這樣對(duì)于提高性能還是會(huì)有一定的幫助。hash分區(qū)會(huì)將表中的數(shù)據(jù)平均分配到你指定的幾個(gè)分區(qū)中,列所在分區(qū)是依據(jù)分區(qū)列的hash值自動(dòng)分配,因此你并不能控制也不知道哪條記錄會(huì)被放到哪個(gè)分區(qū)中,hash分區(qū)也可以支持多個(gè)依賴列。如:create table test(transaction_id number primary key,item_id number(8) not null)partition by hash(transaction_id)(partition part_01 tablespace tablespace01,partition part

20、_02 tablespace tablespace02,partition part_03 tablespace tablespace03);在這里,我們指定了每個(gè)分區(qū)的表空間。2.5 List分區(qū):List分區(qū)也需要指定列的值,其分區(qū)值必須明確指定,該分區(qū)列只能有一個(gè),不能像range或者h(yuǎn)ash分區(qū)那樣同時(shí)指定多個(gè)列做為分區(qū)依賴列,但它的單個(gè)分區(qū)對(duì)應(yīng)值可以是多個(gè)。在分區(qū)時(shí)必須確定分區(qū)列可能存在的值,一旦插入的列值不在分區(qū)范圍內(nèi),則插入/更新就會(huì)失敗,因此通常建議使用list分區(qū)時(shí),要?jiǎng)?chuàng)建一個(gè)default分區(qū)存儲(chǔ)那些不在指定范圍內(nèi)的記錄,類似range分區(qū)中的maxvalue分區(qū)。在根據(jù)某

21、字段,如城市代碼分區(qū)時(shí),可以指定default,把非分區(qū)規(guī)則的數(shù)據(jù),全部放到這個(gè)default分區(qū)。如:create table custaddr(id varchar2(15 byte) not null,areacode varchar2(4 byte)partition by list (areacode)( partition t_list025 values ('025'), partition t_list372 values ('372') , partition t_list510 values ('

22、;510'),partition p_other values (default)2.6 組合分區(qū):如果某表按照某列分區(qū)之后,仍然較大,或者是一些其它的需求,還可以通過(guò)分區(qū)內(nèi)再建子分區(qū)的方式將分區(qū)再分區(qū),即組合分區(qū)的方式。組合分區(qū)呢在10g中有兩種:range-hash,range-list。注意順序,根分區(qū)只能是range分區(qū),子分區(qū)可以是hash分區(qū)或list分區(qū)。如:create table test(transaction_id number primary key,transaction_date date)partition by range(transaction_dat

23、e) subpartition by hash(transaction_id)subpartitions 3 store in (tablespace01,tablespace02,tablespace03)(partition part_01 values less than(to_date(2009-01-01,yyyy-mm-dd),partition part_02 values less than(to_date(2010-01-01,yyyy-mm-dd),partition part_03 values less than(maxvalue);create table emp_s

24、ub_template (deptno number, empname varchar(32), grade number)partition by range(deptno) subpartition by hash(empname)subpartition template(subpartition a tablespace ts1,subpartition b tablespace ts2,subpartition c tablespace ts3,subpartition d tablespace ts4)(partition p1 values less than (1000),pa

25、rtition p2 values less than (2000),partition p3 values less than (maxvalue);create table quarterly_regional_sales(deptno number, item_no varchar2(20),txn_date date, txn_amount number, state varchar2(2)tablespace ts4partition by range (txn_date)subpartition by list (state)(partition q1_1999 values le

26、ss than (to_date('1-apr-1999','dd-mon-yyyy')(subpartition q1_1999_northwest values ('or', 'wa'),subpartition q1_1999_southwest values ('az', 'ut', 'nm'),subpartition q1_1999_northeast values ('ny', 'vm', 'nj'),subpartiti

27、on q1_1999_southeast values ('fl', 'ga'),subpartition q1_1999_northcentral values ('sd', 'wi'),subpartition q1_1999_southcentral values ('ok', 'tx'),partition q2_1999 values less than ( to_date('1-jul-1999','dd-mon-yyyy')(subpartition q

28、2_1999_northwest values ('or', 'wa'),subpartition q2_1999_southwest values ('az', 'ut', 'nm'),subpartition q2_1999_northeast values ('ny', 'vm', 'nj'),subpartition q2_1999_southeast values ('fl', 'ga'),subpartition q2_19

29、99_northcentral values ('sd', 'wi'),subpartition q2_1999_southcentral values ('ok', 'tx'),partition q3_1999 values less than (to_date('1-oct-1999','dd-mon-yyyy')(subpartition q3_1999_northwest values ('or', 'wa'),subpartition q3_1999_so

30、uthwest values ('az', 'ut', 'nm'),subpartition q3_1999_northeast values ('ny', 'vm', 'nj'),subpartition q3_1999_southeast values ('fl', 'ga'),subpartition q3_1999_northcentral values ('sd', 'wi'),subpartition q3_1999_sou

31、thcentral values ('ok', 'tx'),partition q4_1999 values less than ( to_date('1-jan-2000','dd-mon-yyyy')(subpartition q4_1999_northwest values ('or', 'wa'),subpartition q4_1999_southwest values ('az', 'ut', 'nm'),subpartition q4_1

32、999_northeast values ('ny', 'vm', 'nj'),subpartition q4_1999_southeast values ('fl', 'ga'),subpartition q4_1999_northcentral values ('sd', 'wi'),subpartition q4_1999_southcentral values ('ok', 'tx');在Oracle 11g中,組合分區(qū)功能這塊有所增強(qiáng),又增加

33、了range-range,list-range,list-list,list-hash,并且 11g里面還支持Interval分區(qū)和虛擬列分區(qū)。2.7 創(chuàng)建global全局索引(主要針對(duì)range分區(qū))create index idx_parti_range_id on t_partition_range(id) global partition by range(id)( partition i_range_p1 values less than (10) tablespace tbspart01, partition i_range_p2 values less than (40

34、) tablespace tbspart02, partition i_range_pmax values less than (maxvalue) tablespace tbspart03 );2.8 創(chuàng)建本地分區(qū)索引create index IDX_PART_RANGE_ID ON T_PARTITION_RANGE(id) local ( partition i_range_p1 tablespace tbspart01, partition i_range_p2 tablespace tbspart01, partition i_range_p3 tablespace tbspart0

35、2, partition i_range_pmax tablespace tbspart02);2.9 對(duì)于分區(qū)表的分區(qū)索引CREATE INDEX INX_TAB_PARTITION_COL1 ON TABLE_PARTITION(COL1)  GLOBAL PARTITION BY RANGE(COL1)(         PARTITION IDX_P1 values less than (1000000),       

36、0; PARTITION IDX_P2 values less than (2000000),         PARTITION IDX_P3 values less than (MAXVALUE)  );對(duì)比索引方式一般使用LOCAL索引較為方便,而且維護(hù)代價(jià)較低,并且LOCAL索引是在分區(qū)的基礎(chǔ)上去創(chuàng)建索引,類似于在一個(gè)子表內(nèi)部去創(chuàng)建索引,這樣開銷主要是區(qū) 分分區(qū)上,很規(guī)范的管理起來(lái),在OLAP系統(tǒng)中應(yīng)用很廣泛;而相對(duì)的GLOBAL索引是全局類型的索引,根據(jù)實(shí)際情況可以調(diào)整分區(qū)的類別,而并非按照分區(qū)

37、 結(jié)構(gòu)一一定義,相對(duì)維護(hù)代價(jià)較高一些,在OLTP環(huán)境用得相對(duì)較多,這里所謂OLTP和OLAP也是相對(duì)的,不是特殊的項(xiàng)目,沒(méi)有絕對(duì)的劃分概念,在應(yīng)用 過(guò)程中依據(jù)實(shí)際情況而定,來(lái)提高整體的運(yùn)行性能。2.10 索引分析對(duì)表進(jìn)行壓縮后,需要對(duì)表和索引進(jìn)行重新分析,對(duì)表進(jìn)行重新分析:ANALYZE TABLE <table_name> COMPUTE STATISTICS;索引重新分析對(duì)于分區(qū)表并進(jìn)行了索引分區(qū)的情況,需要對(duì)每個(gè)分區(qū)的索引進(jìn)行重新編譯,這里以LOCAL索引為例子(其每個(gè)索引的分區(qū)和表分區(qū)結(jié)構(gòu)相同,默認(rèn)分區(qū)名稱和表分區(qū)名稱相同): ALTER INDEX <in

38、dex_name> REBUILD PARTITION <partition_name>  對(duì)于全局索引,根據(jù)全局索引鎖定義的分區(qū)名稱修改即可,若沒(méi)有分區(qū),和普通單表索引重新編譯方式相同: ALTER INDEX <index_name> REBUILD;3、數(shù)據(jù)開發(fā)常見語(yǔ)句-查找重復(fù)數(shù)據(jù) select a.serv_type_id, city_id, count(1) from td_serv_type a group by a.serv_type_id, city_idhaving count(1) > 1;-刪除重復(fù)數(shù)據(jù) delet

39、e from td_serv_type a where a.city_id = 1004 and a.rowid <> (select max(rowid) from td_serv_type b where b.city_id = 1004 and b.serv_type_id = a.serv_type_id); -快照,創(chuàng)建新表速度N快語(yǔ)句: insert /*+ append */ into tf_acc_detail_hjf select * from tf_acc_detail; -遍歷樹型結(jié)構(gòu)語(yǔ)句SELECT lpad('|- ', (level -

40、1) * 3, '') | a.Unit_Name Unit_Name,A.UNIT_CODE FROM S_UNIT a CONNECT BY PRIOR a.Syscode = a.Psyscode START WITH a.Psyscode IS NULL -(加上關(guān)鍵字prior表示查找所有層)ORDER SIBLINGS BY a.Sno; - (表示在相同層級(jí)之間排序)-路徑及遍歷視圖 SELECT substr(SYS_CONNECT_BY_PATH(t.Unit_Name, '/'), 2) AS unitname, LEVEL, syscode

41、 FROM s_unit t START WITH psyscode is null CONNECT BY psyscode = prior syscode; -增加強(qiáng)制索引: select /*+INDEX(F,IDX_CUST_PROD_04)*/count(t.serv_id) cou,t.cust_group from sf_cust_prod t,tf_cust_enrol_info f where t.cust_group=f.cust_group;1.1 閃回技術(shù)恢復(fù)DROP表誤刪除操作執(zhí)行如下SQL語(yǔ)句,將被誤刪的表S_UNIT恢復(fù)并修改名稱為S_UNIT_BAK:FLASHB

42、ACK TABLE S_UNIT TO BEFORE DROP RENAME TO S_UNIT_BAK; 1.2 定時(shí)器設(shè)置 begin sys.dbms_job.submit(job => :job, - job編號(hào) what => 'dbms_output.pub_line(''asdf'');', - 執(zhí)行腳本 next_date => to_date('17-01-2011 16:17:31', 'dd-mm-yyyy hh24:mi:ss'), - 下次執(zhí)行時(shí)間 interval => 'trunc(

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論