并è¡æ¦å¿µ
并è¡æ§è¡ï¼parallel executionï¼æ¯Oracleä¼ä¸çææçç¹æ§ï¼æ åçä¸æ²¡æè¿ä¸ªç¹æ§ï¼ï¼æè½å¤å°ä¸ä¸ªå¤§å串è¡ä»»å¡ï¼ä»»ä½DMLï¼æè
ä¸è¬çDDLï¼ç©çå°åå为å¤ä¸ªè¾å°çé¨åï¼è¿äºè¾å°çé¨åå¯ä»¥åæ¶å¾å°å¤çã
并è¡å
æ¬ï¼
并è¡æ¥è¯¢ï¼è¿æ¯æè½ä½¿ç¨å¤ä¸ªæä½ç³»ç»è¿ç¨æ线ç¨æ¥æ§è¡ä¸ä¸ªæ¥è¯¢ãOracleä¼åç°è½å¹¶è¡æ§è¡çæä½ï¼å¦å
¨è¡¨æ«ææ大è§æ¨¡æåºï¼ï¼å¹¶å建ä¸ä¸ªæ¥è¯¢è®¡åæ¥å®ç°ï¼ã
并è¡DMLï¼PDMLï¼ï¼è¿å¨æ¬è´¨ä¸ä¸å¹¶è¡æ¥è¯¢å¾ç¸ä¼¼ï¼ä½æ¯PDML主è¦æ¯ä½¿ç¨å¹¶è¡å¤çæ¥æ§è¡ä¿®æ¹ï¼INSERTãUPDATEãDELETEåMERGEï¼ã
并è¡DDLï¼å¹¶è¡DDLæ¯æOracleè½å¹¶è¡å°æ§è¡å¤§è§æ¨¡çDDLæä½ãä¾å¦ï¼ç´¢å¼é建ãå建ä¸ä¸ªæ°ç´¢å¼ãæ°æ®å 载以å大表çéç»çé½å¯ä»¥ä½¿ç¨å¹¶è¡å¤çã
并è¡æ¢å¤ï¼è¿æ¯ææ°æ®åºè½å¹¶è¡å°æ§è¡å®ä¾ï¼çè³ä»è´¨ï¼æ¢å¤ï¼ä»¥åå°ä»æ
éæ¢å¤æéçæ¶é´ã
è¿ç¨å¹¶è¡åï¼è¿æ¯æè½å¹¶è¡å°è¿è¡æå¼åç代ç ã
ä½æ¶ä½¿ç¨å¹¶è¡
å¨åºç¨å¹¶è¡æ§è¡ä¹åï¼éè¦ä¿è¯ä»¥ä¸ä¸¤ç¹æç«ï¼
å¿
é¡»æä¸ä¸ªé常大çä»»å¡ï¼å¦å¯¹50GBæ°æ®è¿è¡å
¨é¢æ«æã
å¿
é¡»æ足å¤çå¯ç¨èµæºï¼CPUãI/Oãå
åï¼ãå¨å¹¶è¡å
¨é¢æ«æ50GBæ°æ®ä¹åï¼ä½ è¦ç¡®ä¿æ足å¤ç空é²CPUï¼ä»¥å®¹çº³å¹¶è¡è¿ç¨ï¼ï¼è¿è¦æ足å¤çI/Oééã
å¦æåªæä¸ä¸ªå°ä»»å¡ï¼é常OLTPç³»ç»ä¸æ§è¡çæ¥è¯¢å°±æ¯è¿ç§å
¸åçå°ä»»å¡ï¼ï¼æè
ä½ çå¯ç¨èµæºä¸è¶³ï¼è¿ä¹æ¯OLTPç³»ç»ä¸å¾å
¸åçæ
åµï¼ï¼å
¶ä¸CPUåI/Oèµæºé常已ç»å¾å°æ大é度ç使ç¨ï¼é£å°±æ ¹æ¬ä¸ç¨èè并è¡æ§è¡ã
å¦æä¸ä¸ªä»»å¡åªéè¦å ç§ï¼ææ´çæ¶é´ï¼å°±è½ä¸²è¡å°å®æï¼å¼å
¥å¹¶è¡æ§è¡åï¼ç¸å
³ç管çå¼éå¯è½ä¼è®©æ´ä¸ªè¿ç¨è±è´¹æ´é¿çæ¶é´ã
举ä¾å¦ï¼åä¸é¡µææ¡£è¥12个人æ¥åï¼éè¦å¼ä¼å段çï¼å¯è½å¹¶ä¸å¦ä¸ä¸ªäººæ¥åæ´å¿«ãèå¦æå1200页ï¼12个人åéè¦çæ¶é´åªä¸ºåæ¥ç1/12ï¼å°±ç®åé
ä»»å¡å¯è½ä¹å°±1/12ï¼è¿æ¯æ¯ä¸ä¸ªäººåè¦å¿«å¤äºã
并è¡æ¥è¯¢
并è¡æ¥è¯¢å
许å°ä¸ä¸ªSQL SELECTè¯å¥åå为å¤ä¸ªè¾å°çæ¥è¯¢ï¼æ¯ä¸ªé¨åçæ¥è¯¢å¹¶åå°è¿è¡ï¼ç¶åä¼å°å个é¨åçç»æç»åèµ·æ¥ï¼æä¾æç»ççæ¡ã
å¨å¹¶è¡è¿ç¨åæ«ææ件ä¹é´å¹¶ä¸åå¨1对1æ å°ï¼å¯ä»¥å¤ä¸ªè¿ç¨æ«æåä¸ä¸ªæ件ã
å个并è¡è¿ç¨å¯ç§°ä¸ºå¹¶è¡æ§è¡æå¡å¨ï¼parallel execution serverï¼ï¼ææ¶ä¹ç§°ä¸ºå¹¶è¡æ¥è¯¢ï¼parallel
queryï¼PQï¼ä»å±è¿ç¨ãå个并è¡æ§è¡æå¡å¨é½æ¯åç¬çä¼è¯ï¼å°±åæ¯ä¸ä¸æå¡å¨è¿ç¨ä¸æ ·è¿æ¥æ°æ®åºãæ¯ä¸ªå¹¶è¡æ§è¡æå¡å¨åå«è´è´£æ«æ表ä¸ä¸ä¸ªé¨åï¼å
个é¨åé½ä¸éå ï¼ï¼æ±æ»å
¶ç»æåéï¼å°å
¶è¾åºååç»åè°æå¡å¨ï¼å³åå§ä¼è¯çæå¡å¨è¿ç¨ï¼ï¼å®åå°è¿äºåç»ææ±æ»ä¸ºæç»çæ¡ã
å¨é»è®¤æ
åµä¸ï¼Oracleæ¯ä¸å¯ç¨å¹¶è¡æ¥è¯¢çãå¯ç¨å¹¶è¡æ¥è¯¢æå¤ç§æ¹æ³ï¼å¯ä»¥ç´æ¥å¨æ¥è¯¢ä¸ä½¿ç¨ä¸ä¸ªæ示ï¼æè
ä¿®æ¹è¡¨è¦æ±èè并è¡æ§è¡è·¯å¾çã
ã并è¡æ¥è¯¢æ¹æ³ã
1ï¼æ示hintså¼ï¼ä¸´æ¶ææ
select /*+parallel(table_name num)*/ count(*) from table_name;
å¤è¡¨å
³èæ¶å¤è¡¨å¹¶è¡ï¼
select /*+parallel(table_name1,num1) parallel(table_name2,num2)*/ count(*) from table_name1, table_name2;
2ï¼alter table对象å¼ï¼é¿æææ
alter table table_name parallel num;
3ï¼alter sessionä¼è¯å¼ï¼ä¼è¯çå½å¨æææ
alter session force parallel query parallel num;
4ï¼å¹¶è¡DDLå¼ï¼ä¼è¯çå½å¨æææ
alter session enable parallel dml;
对äºå两ç§æ¹å¼ï¼è¥çç¥numåOracleå°èªå¨æ ¹æ®è´è½½ç¡®å®å¹¶è¡åº¦ã并è¡åº¦è¦éçç³»ç»ä¸å·¥ä½è´è½½çå¢åèååãå¦ææå
足ç空é²èµæºï¼å¹¶è¡åº¦ä¼
ä¸åï¼å¦æå¯ç¨èµæºæéï¼å¹¶è¡åº¦åä¼ä¸éãè¿æ ·å°±ä¸ä¼ä¸ºæºå¨å¼ºå ä¸ä¸ªåºå®ç并è¡åº¦ãå©ç¨è¿ç§æ¹æ³ï¼å
许Oracleå¨æå°å¢å æåå°æ¥è¯¢æéç并åèµæº
éã
ãæ¥çé»è®¤å¹¶è¡æ°ã
1ï¼ç¡®å®ä¼è¯SID
select sid from v$mystat where rownum = 1;
2ï¼å¨å
¶ä»ä¼è¯ä¸æ¥è¯¢
select sid,qcsid,server#,degree from v$px_session where qcsid = num;
ä¸è¬èè¨ï¼å¦æè½è®¿é®å°½å¯è½å¤çèµæºï¼CPUãå
ååI/Oï¼ï¼å¹¶è¡æ§è¡å°±è½æ好å°åæ¥ä½ç¨ãä½è¿å¹¶ä¸æ¯è¯´å¦ææ´ä¸ªæ°æ®éé½å¨ä¸ä¸ªç£çä¸ï¼å°±ä»å¹¶è¡
æ¥è¯¢å¾ä¸å°ä»»ä½å¥½å¤ãä¸è¿å¦ææ´ä¸ªæ°æ®éé½å¨ä¸ä¸ªç£çä¸ï¼å¯è½ç¡®å®ä¸å¦ä½¿ç¨å¤ä¸ªç£çé£æ ·è½ææ´å¤æ¶è·ãå³ä½¿ä½¿ç¨ä¸ä¸ªç£çï¼å¨ååºæ¶é´ä¸ä¹å¯è½å¯ä»¥å¾å°ä¸å®
çé度æåãåå å¨äºï¼ç»å®çä¸ä¸ªå¹¶è¡æ§è¡æå¡å¨å¨ç»è®¡è¡æ¶å¹¶ä¸è¯»åè¿äºè¡ï¼åä¹äº¦ç¶ãæ以ï¼ä¸æ§è¡ä¸²è¡ç¸æ¯ï¼ä¸¤ä¸ªå¹¶è¡æ§è¡æå¡å¨å¯ä»¥å¨æ´ççæ¶é´å
å®æ
ææè¡çç»è®¡ã
æ°æ®åå¸å¨å¤ä¸ªç©ç设å¤ä¸å¯ä»¥æé«I/Oï¼å¦è¡¨ååºãè·¨ç£ççã
å¨Oracle 11g Release2å以ä¸çæ¬ä¸ï¼å¼å
¥äºä¸é¡¹æ°åè½æ¥éå¶èµæºè¿åº¦ä½¿ç¨ï¼å¹¶è¡è¯å¥æé¤ï¼Parallel
Statement
Queuing,PSQï¼ã使ç¨PSQæ¶ï¼æ°æ®åºä¼éå¶å¹¶åæ§è¡ç并è¡æ¥è¯¢æ°ï¼å¹¶ææ´å¤ç并è¡è¯·æ±æ¾å¨ä¸ä¸ªæ§è¡éåä¸ãCPUèµæºç¨å°½æ¶æ°æ®åºä¼é»æ¢æ°ç
请æ±å为活å¨ç¶æãè¿äºè¯·æ±å¹¶æ²¡æ失败ï¼å®ä»¬åªæ¯ä¼å»¶è¿å¼å§ï¼ä¹å°±æ¯è¯´å®ä»¬å°æéãèµæºå¯ç¨æ¶ï¼æ°æ®åºå°±ä¼å¼å§æ§è¡éåä¸çæ¥è¯¢ã
并è¡DML
Oracleææ¡£å°å¹¶è¡DMLï¼PDMLï¼ä¸è¯çèå´éå¶ä¸ºåªå
æ¬INSERTãUPDATEãDELETEåMERGEï¼ä¸å平常çDMLé£æ ·è¿
å
æ¬SELECTï¼ãå¨PDMLæé´ï¼Oracleå¯ä»¥ä½¿ç¨å¤ä¸ªå¹¶è¡æ§è¡æå¡å¨æ¥æ§è¡INSERTãUPDATEãDELETEæMERGEï¼èä¸æ¯åªå©
ç¨ä¸ä¸ªä¸²è¡è¿ç¨ãå¨ä¸ä¸ªæå
足I/O带宽çå¤CPU主æºä¸ï¼å¯¹äºå¤§è§æ¨¡çDMLæä½ï¼å¯è½ä¼å¾å°å¾å¤§çé度æåã
ä¸è¿ï¼ä¸è½æPDMLå½ææé«OLTPåºç¨é度çä¸ä¸ªç¹æ§ãå 为并è¡æä½è®¾è®¡ä¸ºè¦å
åãå®å
¨å°å©ç¨ä¸å°æºå¨ä¸çææèµæºãéè¿è¿ç§è®¾è®¡ï¼ä¸ä¸ªç¨æ·å¯
以å®å
¨ä½¿ç¨æºå¨ä¸çææç£çãCPUåå
åãå¨æäºæ°æ®ä»åºä¸ï¼æ大éæ°æ®ï¼èç¨æ·å¾å°ï¼ï¼è¿å¯è½æ£æ¯ä½ æ³è¦çãèå¨ä¸ä¸ªOLTPç³»ç»ä¸ï¼å¤§éç¨æ·é½å¨å
å¾çãå¾å¿«çäºå¡ï¼ï¼å¯è½å°±ä¸è½å¸æå¦æ¤äºï¼ä½ ä¸æ³è®©ç¨æ·è½å¤å®å
¨å ç¨æºå¨èµæºã
类似äºOracleæ§è¡çåå¸å¼æ¥è¯¢ï¼PDMLæä½éç¨åæ ·çæ¹å¼æ§è¡ï¼å³æ¯ä¸ªå¹¶è¡æ§è¡æå¡å¨ç¸å½äºä¸ä¸ªåç¬æ°æ®åºå®ä¾ä¸çä¸ä¸ªè¿ç¨ãè¿äºäºå¡é½ç»æåï¼ä¼æ§è¡ä¸ä¸ªç¸å½äºå¿«é2PCçè¿ç¨æ¥æ交è¿äºåç¬çç¬ç«äºå¡ãè¿äºäºå¡è¦ä¹é½ç±PDMLåè°ä¼è¯æ交ï¼è¦ä¹æ ä¸æ交ã
ç±äºPDMLéç¨çä¸ç§ä¼ªåå¸å¼çå®ç°ï¼å æ¤åå¨ä¸äºéå¶ï¼
PDMLæä½æé´ä¸æ¯æ触åå¨ãè¿æ¯ä¸ä¸ªå¾åççéå¶ï¼å 为触åå¨å¯è½ä¼åæ´æ°å¢å 大éå¼éï¼èä½ ä½¿ç¨PDMLçæ¬æ¥ç®çæ¯ä¸ºäºæ´å¿«ä¸äºï¼è¿ä¸¤æ¹é¢æ¯çç¾çï¼ä¸è½æ¾å¨ä¸èµ·ã
PDMLæé´ï¼ä¸æ¯ææäºå£°ææ¹å¼çå¼ç¨å®æ´æ§çº¦æï¼å 为表ä¸çæ¯ä¸çï¼é¨åï¼ä¼å¨åç¬çä¼è¯ä¸ä½ä¸ºåç¬çäºå¡è¿è¡ä¿®æ¹ãä¾å¦ï¼PDMLæä½ä¸æ¯æèªå¼ç¨å®æ´æ§ãå¦æççæ¯æèªå¼ç¨å®æ´æ§ï¼å¯è½ä¼åºç°æ»éåå
¶ä»éå®é®é¢ã
å¨æ交æåæ»ä¹åï¼ä¸è½è®¿é®ç¨PDMLä¿®æ¹ç表ã
PDMLä¸æ¯æé«çº§å¤å¶ï¼å 为å¤å¶ç¹æ§çå®ç°è¦åºäºè§¦åå¨ï¼ã
ä¸æ¯æ延è¿çº¦æï¼ä¹å°±æ¯è¯´ï¼éç¨å»¶è¿æ¨¡å¼ç约æï¼ã
å¦æ表æ¯ååºçï¼PDMLåªå¯è½å¨æä½å¾ç´¢å¼æLOBåç表ä¸æ§è¡ï¼èä¸å¹¶è¡åº¦åå³äºååºæ°ãå¨è¿ç§æ
åµä¸ï¼æ æ³å¨ååºå
并è¡æ§è¡ä¸ä¸ªæä½ï¼å 为æ¯ä¸ªååºåªæä¸ä¸ªå¹¶è¡æ§è¡æå¡å¨æ¥å¤çã
æ§è¡PDMLæ¶ä¸æ¯æåå¸å¼äºå¡ã
PDMLä¸æ¯æèç°è¡¨ã
并è¡DDL
ä»ç»´æ¤çè§ç¹çï¼ä»¥åä»ç®¡ççè§åº¦æ¥è¯´ï¼å¹¶è¡DDLææ¯Oracleä¸å¹¶è¡æ§è¡æçªåºçä¼ç¹ãå¦æ认为并è¡æ¥è¯¢ä¸»è¦æ¯ä¸ºæç»ç¨æ·è®¾è®¡çï¼é£ä¹å¹¶è¡
DDLåæ¯ä¸ºDBA/å¼å人å设计çãå¦æ没æ并è¡æ§è¡ï¼DBAå°å¾é¾çæ£å
åå©ç¨ç¡¬ä»¶çå
¨é¨è½åãä½å¦æå©ç¨å¹¶è¡æ§è¡ï¼åå®å
¨å¯ä»¥åå°ã以ä¸SQL
DDLå½ä»¤å
许â并è¡åâï¼
CREATE INDEXï¼å¤ä¸ªå¹¶è¡æ§è¡æå¡å¨å¯ä»¥æ«æ表ã对æ°æ®æåºï¼å¹¶ææåºç段ååºå°ç´¢å¼ç»æã
CREATE TABLE AS SELECTï¼æ§è¡SELECTçæ¥è¯¢å¯ä»¥ä½¿ç¨å¹¶è¡æ¥è¯¢æ¥æ§è¡ï¼è¡¨å è½½æ¬èº«å¯ä»¥å¹¶è¡å®æã
ALTER INDEX REBUILDï¼ç´¢å¼ç»æå¯ä»¥å¹¶è¡é建ã
ALTER TABLE MOVEï¼è¡¨å¯ä»¥å¹¶è¡ç§»å¨ã
ALTER TABLE SPLIT|COALESCE PARTITIONï¼å个表ååºå¯ä»¥å¹¶è¡å°å解æå并ã
ALTER INDEX SPLIT PARTITIONï¼ç´¢å¼ååºå¯ä»¥å¹¶è¡å°å解ã
å4个å½ä»¤è¿éç¨äºå个ç表/ç´¢å¼ååºï¼ä¹å°±æ¯è¯´ï¼å¯ä»¥å¹¶è¡å°MOVEä¸ä¸ªè¡¨çå个ååºã
并è¡DDLå使ç¨å¤é¨è¡¨çæ°æ®å è½½
å©ç¨å¹¶è¡DDLï¼åå ä¸å¤é¨è¡¨ï¼å°±è½éè¿ä¸ä¸ªç®åçCREATE TABLE AS SELECT or INSERT /*+ APPEND
*/æ¥å®ç°å¹¶è¡ç´æ¥è·¯å¾å è½½ãä¸ç¨åç¼åèæ¬ï¼ä¸å¿
åå解æ件ï¼ä¹ä¸ç¨åè°è¦è¿è¡çN个èæ¬ãç®åå°è¯´ï¼éè¿ç»å并è¡DDLåå¤é¨è¡¨ï¼ä¸ä»
æä¾äºçº¯ç²¹çæ
ç¨æ§ï¼èä¸å
¨æ æ§è½æ失ã
并è¡DDLååºæ®µæªæ
并è¡DDLä¾èµäºç´æ¥è·¯å¾æä½ãä¹å°±æ¯è¯´ï¼æ°æ®ä¸ä¼ éå°ç¼å²åºç¼å以便以åååºï¼èæ¯ç±ä¸ä¸ªæä½ï¼å¦CREATE TABLE AS
SELECTï¼æ¥å建æ°çåºæ®µï¼å¹¶ç´æ¥åå
¥è¿äºåºæ®µï¼æ°æ®ç´æ¥ä»æ¥è¯¢åå°ç£çï¼æ¾å¨è¿äºæ°åé
çåºæ®µä¸ï¼ãæ¯ä¸ªå¹¶è¡æ§è¡æå¡å¨æ§è¡èªå·±çé¨åCREATE
TABLE AS SELECTå·¥ä½ï¼å¹¶ä¸é½ä¼åè³èªå·±çåºæ®µãINSERT /*+ APPEND
*/ï¼ç´æ¥è·¯å¾æå
¥ï¼ä¼å¨ä¸ä¸ªæ®µçHWMâä¹ä¸âåï¼æ¯ä¸ªå¹¶è¡æ§è¡æå¡å¨ååè³å
¶èªå·±çä¸ç»åºæ®µï¼èä¸ä¼ä¸å
¶ä»å¹¶è¡æ§è¡æå¡å¨å
±äº«ãå æ¤ï¼å¦ææ§è¡ä¸ä¸ªå¹¶
è¡CREATE TABLE AS
SELECTï¼å¹¶ä½¿ç¨4个并è¡æ§è¡æå¡å¨æ¥å建表ï¼å°±è³å°æ4个ååºï¼å¯è½è¿ä¼æ´å¤ãæ¯ä¸ªå¹¶è¡æ§è¡æå¡å¨ä¼åé
å
¶èªå·±çåºæ®µï¼åå
¶åå
¥ï¼ç填满æ¶ï¼ååé
å¦ä¸ä¸ªæ°çåºæ®µï¼å¹¶è¡æ§è¡æå¡å¨ä¸ä¼ä½¿ç¨ç±å
¶ä»å¹¶è¡æ§è¡æå¡å¨éåççåºæ®µã
å¨æ°æ®ä»åºç¯å¢ä¸ï¼æ§è¡ä¸ä¸ªå¤§è§æ¨¡çå è½½ä¹åï¼è¿å¯è½å¯¼è´âè¿æ¸¡æµªè´¹âãåè®¾ä½ æ³å è½½1,010MBçæ°æ®ï¼å¤§çº¦1GBï¼ï¼èä¸æ£å¨ä½¿ç¨ä¸ä¸ªæ
100MBåºæ®µç表空é´ï¼ä½ å³å®ä½¿ç¨10个并è¡æ§è¡æå¡å¨æ¥å è½½è¿ä¸ªæ°æ®ãæ¯ä¸ªå¹¶è¡æ§è¡æå¡å¨å
åé
å
¶èªå·±ç100MBåºæ®µï¼æ»å
±ä¼æ10个100MBç
åºæ®µï¼ï¼å¹¶å¨å
¶ä¸å¡«å
¥æ°æ®ãç±äºæ¯ä¸ªå¹¶è¡æ§è¡æå¡å¨é½è¦å è½½101MBçæ°æ®ï¼æ以å®ä¼å¡«æ»¡ç¬¬ä¸ä¸ªåºæ®µï¼ç¶åå继ç»åé
å¦ä¸ä¸ª100MBçåºæ®µï¼ä½å®é
ä¸
åªä¼ä½¿ç¨è¿ä¸ªåºæ®µä¸1MBç空é´ãç°å¨å°±æäº20åºæ®µï¼å
¶ä¸10个æ¯æ»¡çï¼å¦å¤10个åä¸åï¼è¿10个åºæ®µä¸é½åæ1MBçæ°æ®ï¼å æ¤ï¼æ»å
񄬑
990MBç空é´æ¯âå·²åé
ä½æªä½¿ç¨çâãä¸ä¸æ¬¡å è½½æ¯å¯ä»¥ä½¿ç¨è¿ä¸ªç©ºé´ï¼ä½æ¯å¯¹ç°å¨æ¥è¯´ï¼ä½ å°±æäº990MBçæ»ç©ºé´ãæ¤æ¶åºæ®µæªæï¼extend
trimmingï¼å°±è½æ´¾ä¸ç¨åºäºãOracleä¼è¯å¾åæ¯ä¸ªå¹¶è¡æ§è¡æå¡å¨çæåä¸ä¸ªåºæ®µï¼å¹¶å°å
¶âæªæ为âå¯è½çæå°å¤§å°ã
åºæ®µæªæååå
¸ç®¡ç表空é´
å¦æ使ç¨ä¼ ç»çåå
¸ç®¡ç表空é´ï¼Oracleå¯ä»¥æåªå
å«1MBæ°æ®çå个100MBåºæ®µè½¬åæ1MBçåºæ®µãéæ¾çæ¯ï¼ï¼å¨åå
¸ç®¡çç表空é´ä¸ï¼
è¿ä¼çä¸10个ä¸è¿ç»ç99MB空é²åºæ®µï¼å ä¸ºä½ çåé
æºå¶éç¨çæ¯100MBåºæ®µï¼æ以è¿990MB空é´å°±ä¼ç¨ä¸ä¸ï¼ä¸ä¸æ¬¡åé
100MBæ¶ï¼å¾å¾æ æ³
使ç¨ç°æçè¿äºç©ºé´ï¼å 为ç°å¨çæ
åµæ¯ï¼æ99MBç空é²ç©ºé´ï¼æ¥ä¸æ¥æ¯1MBçå·²åé
空é´ï¼ç¶ååæ¯99MB空é²ç©ºé´ï¼ä¾æ¤ç±»æ¨ã
åºæ®µæªæåæ¬å°ç®¡ç表空é´
æ¬å°ç®¡ç表空é´æ两ç§ç±»åï¼UNIFORM SIZE åAUTOALLOCATEï¼UNIFORM
SIZEæ¯æ表空é´ä¸çæ¯ä¸ªåºæ®µå¤§å°æ»æ¯å®å
¨ç¸åï¼AUTOALLOCATEå表示Oracleä¼ä½¿ç¨ä¸ç§å
é¨ç®æ³æ¥ç¡®å®æ¯ä¸ªåºæ®µåºè¯¥æ¯å¤å¤§ãè¿äºæ¹æ³é½
è½å¾å¥½å°è§£å³ä¸è¿°é®é¢ï¼ä¸è¿ï¼è¿ä¸¤ç§æ¹æ³ç解å³çç¥æªç¶ä¸åã
å¨åå
¸ç®¡çç表空é´ä¸ï¼å¦æ请æ±ä¸ä¸ª100MBåºæ®µï¼åè¥Oracleåªæ¾å°äº99MBçèªç±åºæ®µï¼è¯·æ±è¿æ¯ä¼å¤±è´¥ãä¸åå
¸ç®¡ç表空é´ä¸åï¼æAUTOALLOCATEåºæ®µçæ¬å°ç®¡ç表空é´å¯ä»¥æ´ä¸ºçµæ´»ã为äºè¯å¾ä½¿ç¨ææ空é²ç©ºé´ï¼å®å¯ä»¥åå°æ请æ±ç空é´å¤§å°ã
éç使ç¨å¹¶è¡ç´æ¥è·¯å¾æä½å表UNIFORM_TESTå è½½è¶æ¥è¶å¤çæ°æ®ï¼è¿ä¸æ®µæ¶é´åï¼ç©ºé´å©ç¨æ
åµä¼åå¾è¶æ¥è¶ç³ç³ã对æ¤ï¼æ们å¯è½å¸æ使ç¨
ä¸ä¸ªæ´å°çç»ä¸åºæ®µå¤§å°ï¼æè
使ç¨AUTOALLOCATEãä¸æ®µæ¶é´åï¼AUTOALLOCATEä¹å¯è½çææ´å¤çåºæ®µï¼ä½æ¯ç±äºä¼åçåºæ®µæªæï¼æ以
空é´å©ç¨æ
åµè¦å¥½å¾å¤ã
温馨提示:答案为网友推荐,仅供参考