日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Oracle中Cluster Table的使用

發(fā)布時(shí)間:2024/8/26 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oracle中Cluster Table的使用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

大家對通常oracle中的cluster的理解是不準(zhǔn)確的,經(jīng)常和sql server中的cluster index混淆。Cluster是存儲(chǔ)一組table的一種方法,這些table共享同一數(shù)據(jù)塊中的某些相同column,并把不同table在這一共享column上值相同的data row存儲(chǔ)到同一block上。在sql server中的cluster index強(qiáng)制行根據(jù)index key按存儲(chǔ)順序存儲(chǔ),這一點(diǎn)和oracle中的IOT類似。

從下圖中我們可以清楚的看到cluster 和非cluster 的一組table的物理存儲(chǔ)的區(qū)別。在cluster中,單個(gè)block上的數(shù)據(jù)可能來自多個(gè)table,概念上可以存儲(chǔ)“預(yù)連接”的數(shù)據(jù)。單個(gè)table也可以使用cluster,即根據(jù)某些column按組存儲(chǔ)數(shù)據(jù)。如圖中,所有部門ID為 20和 110的部門信息和員工信息的數(shù)據(jù)都將存儲(chǔ)在同一block。注意,這里存儲(chǔ)的并不是排序的數(shù)據(jù)(那是IOT的任務(wù)),存儲(chǔ)的是按部門ID分組集合的數(shù)據(jù),是以heap的方式存儲(chǔ)的。因此,部門20剛好和部門110相鄰,而部門99和部門100相距很遠(yuǎn)(硬盤的物理位置)。

當(dāng)單個(gè)block放不下時(shí),額外的block將鏈接到最初的block,來包容溢出的數(shù)據(jù),這種方式和在IOT中溢出block非常相似。

現(xiàn)在我們看看如何創(chuàng)建一個(gè)cluster。在cluster中創(chuàng)建一系列table是很簡單的,對象存儲(chǔ)定義如PCTFREE,PCTUSED,INITIAL都是和cluster相關(guān)的,而不是和table相關(guān)。這是因?yàn)樵赾luster中存儲(chǔ)了若干table,每個(gè)table在同一個(gè)block中擁有不同的PCTFREE沒有意義。

SQL> create cluster e_d_cluster

2 (deptid number(2))

3 size 1024

4 /

Cluster created

這里首先創(chuàng)建了一個(gè)index cluster。這個(gè)cluster的key為 deptid,在table中這個(gè)列可以不命名為deptid,但數(shù)據(jù)類型number(2)必須匹配。Size選項(xiàng)是用來告訴oracle預(yù)計(jì)有1024

字節(jié)數(shù)據(jù)和每個(gè)cluser key相關(guān)。Oracle將使用這個(gè)信息來計(jì)算每個(gè)block能容納的最大cluster key數(shù)目。因此size太高,在每一block將得到很少的key,并且將使用比需要的更多的空間;設(shè)置容量太低,將得到過多的數(shù)據(jù)連接,這將偏離使用cluster的目的。Size是cluster的重要參數(shù)。

現(xiàn)在我們來創(chuàng)建cluster index。在把數(shù)據(jù)放入之前,需要索引cluster。Cluster index的作用是存儲(chǔ)一個(gè)cluster key,并且返回包含該key的block的地址。

SQL> create index e_d_cluster_idx

2 on cluster e_d_cluster

3 /

Index created

Cluster key 的index可以使用index所有的正常的存儲(chǔ)參數(shù),并且可以位于另一個(gè)tablespace。它是一個(gè)正常的index,能夠索引到一個(gè)cluster,并且也包含一個(gè)完全null的條目。

我們在cluster中創(chuàng)建table:

SQL> create table department

2 (deptid number(2) primary key,

3 dname varchar2(14),

4 loc varchar2(13))

5 cluster e_d_cluster(deptid);

Table created

SQL> create table employee

2 (empid number primary key,

3 ename varchar2(10),

4 job varchar2(10),

5 mgr number,

6 hiredate date,

7 sal number,

8 comm number,

9 deptid number(2) references department(deptid))

10 cluster e_d_cluster(deptid);

Table created

這里創(chuàng)建table與普通的table唯一的區(qū)別就是使用了cluster關(guān)鍵字,我們往table中裝載數(shù)據(jù):

SQL> begin

2 for x in(select * from scott.dept)

3 loop

4 insert into department

5 values(x.deptno,x.dname,x.loc);

6 insert into employee

7 select * from scott.emp

8 where deptno = x.deptno;

9 end loop;

10 end;

11 /

PL/SQL procedure successfully completed

我們可以看到目前table中裝載了如下數(shù)據(jù):

SQL> select * from department;

DEPTID DNAME LOC

------ -------------- -------------

10 ACCOUNTING NEW YORK

20 RESEARCH DALLAS

30 SALES CHICAGO

40 OPERATIONS BOSTON

SQL> select * from employee;

EMPID ENAME JOB MGR HIREDATE SAL COMM DEPTID

---------- ---------- ---------- ---------- ----------- ---------- ---------- ------

7782 CLARK MANAGER 7839 1981-6-9 2450 10

7839 KING PRESIDENT 1981-11-17 5000 10

7934 MILLER CLERK 7782 1982-1-23 1300 10

7369 SMITH CLERK 7902 1980-12-17 800 20

7566 JONES MANAGER 7839 1981-4-2 2975 20

7788 SCOTT ANALYST 7566 1982-12-9 3000 20

7876 ADAMS CLERK 7788 1983-1-12 1100 20

7902 FORD ANALYST 7566 1981-12-3 3000 20

7499 ALLEN SALESMAN 7698 1981-2-20 1600 300 30

7521 WARD SALESMAN 7698 1981-2-22 1250 500 30

7654 MARTIN SALESMAN 7698 1981-9-28 1250 1400 30

7698 BLAKE MANAGER 7839 1981-5-1 2850 30

7844 TURNER SALESMAN 7698 1981-9-8 1500 0 30

7900 JAMES CLERK 7698 1981-12-3 950 30

現(xiàn)在我們看看這兩個(gè)table數(shù)據(jù)存儲(chǔ)的位置:

SQL> select dbms_rowid.rowid_block_number(department.rowid) dept_rid,

2 dbms_rowid.rowid_block_number(employee.rowid) emp_rid,department.deptid

3 from department,employee

4 where employee.deptid = department.deptid;

DEPT_RID EMP_RID DEPTID

---------- ---------- ------

5587 5587 10

5587 5587 10

5587 5587 10

5587 5587 20

5587 5587 20

5587 5587 20

5587 5587 20

5587 5587 20

5587 5587 30

5587 5587 30

5587 5587 30

5587 5587 30

5587 5587 30

5587 5587 30

可以看到部門ID相同的數(shù)據(jù)存儲(chǔ)在一個(gè)block上。我們?yōu)槭裁赐扑]上述方法對cluster進(jìn)行最初的裝載呢?這樣能夠保證如果有些cluster key的相關(guān)數(shù)據(jù)超過了size,仍能使大部分?jǐn)?shù)據(jù)聚集在一個(gè)block上。這只適用于最初的數(shù)據(jù)裝載,在這以后,可以使用事務(wù)對cluster中的table insert數(shù)據(jù)。

由于cluster中的特殊的數(shù)據(jù)存儲(chǔ)方式,出現(xiàn)了這樣一個(gè)問題,rowid出現(xiàn)了重復(fù),現(xiàn)在rowid只能在一個(gè)table中唯一標(biāo)識一行數(shù)據(jù)了(另一種rowid重復(fù)出現(xiàn)在transport tablespace的操作后)。

SQL> select rowid from department

2 intersect

3 select rowid from employee;

ROWID

------------------

AAAGWQAADAAABXTAAA

AAAGWQAADAAABXTAAB

AAAGWQAADAAABXTAAC

AAAGWQAADAAABXTAAD

我們還發(fā)現(xiàn),重復(fù)的rowid的數(shù)量和主表中的記錄數(shù)一樣,即和cluster中的記錄數(shù)一樣。我們把這個(gè)blick dump出來,看看是什么原因:

SQL> alter system dump datafile 3 block 5587;

System altered

Dump file D:/database/oracle/admin/ora817/udump/ORA02628.TRC
Wed Dec 31 12:31:10 2003
ORACLE V8.1.7.4.1 - Production vsnsta=0
vsnsql=f vsnxtr=3
Windows 2000 Version 5.0 Service Pack 4, CPU type 586
Oracle8i Enterprise Edition Release 8.1.7.4.1 - Production
With the Partitioning option
JServer Release 8.1.7.4.1 - Production
Windows 2000 Version 5.0 Service Pack 4, CPU type 586
Instance name: ora817

Redo thread mounted by this instance: 1

Oracle process number: 17

Windows thread id: 2628, image: ORACLE.EXE


*** SESSION ID:(17.1471) 2003-12-31 12:31:10.159
Start dump data blocks tsn: 2 file#: 3 minblk 4275 maxblk 4275
buffer tsn: 2 rdba: 0x00c010b3 (3/4275)
scn: 0x0000.00142980 seq: 0x01 flg: 0x02 tail: 0x29800601
frmt: 0x02 chkval: 0x0000 type: 0x06=trans data

Block header dump: 0x00c010b3
Object id on Block? Y
seg/obj: 0x657d csc: 0x00.14297c itc: 2 flg: O typ: 1 - DATA
fsl: 0 fnx: 0x0 ver: 0x01

Itl Xid Uba Flag Lck Scn/Fsc
0x01 xid: 0x0003.029.000002d2 uba: 0x00800466.006e.35?C--- 0 scn 0x0000.0014297c ---1.這兩個(gè)transaction的flag 和lck是什么意思?
0x02 xid: 0x0003.023.000002d2 uba: 0x00800467.006e.37?--U- 18?fsc 0x0000.00142980?

data_block_dump
===============
tsiz: 0x1fa0
hsiz: 0x46
pbl: 0x11ab745c
bdba: 0x00c010b3
flag=------K----
ntab=3?--這是代表5587的block上有3個(gè)table

(e_d_cluster,department,employee)

nrow=22
frre=-1
fsbo=0x46
fseo=0x1ce3
avsp=0x1c9d
tosp=0x1c9d
0xe:pti[0]nrow=4offs=0 --這是3個(gè)table的行數(shù)及開始的偏移量
0x12:pti[1]nrow=4offs=4
0x16:pti[2]nrow=14offs=8
0x1a:pri[0]offs=0x1f8a?
0x1c:pri[1]offs=0x1eef
0x1e:pri[2]offs=0x1e10
0x20:pri[3]offs=0x1cf9
0x22:pri[4]offs=0x1f72
0x24:pri[5]offs=0x1edb
0x26:pri[6]offs=0x1dfe
0x28:pri[7]offs=0x1ce3
0x2a:pri[8]offs=0x1f4c
0x2c:pri[9]offs=0x1f29
0x2e:pri[10]offs=0x1f05
0x30:pri[11]offs=0x1eb8
0x32:pri[12]offs=0x1e92
0x34:pri[13]offs=0x1e6d
0x36:pri[14]offs=0x1e4a
0x38:pri[15]offs=0x1e26
0x3a:pri[16]offs=0x1dd5
0x3c:pri[17]offs=0x1dac
0x3e:pri[18]offs=0x1d81
0x40:pri[19]offs=0x1d5b
0x42:pri[20]offs=0x1d32
0x44:pri[21]offs=0x1d0f
block_row_dump:
tab 0, row 0, @0x1f8a --從這開始是emp_dept_cluster
tl: 22 fb: K-H-FL-- lb: 0x0 cc: 1
curc: 4 comc: 4 pk: 0x00c010b3.0 nk: 0x00c010b3.0
col 0: [ 2] c1 0b
tab 0, row 1, @0x1eef
tl: 22 fb: K-H-FL-- lb: 0x0 cc: 1
curc: 6 comc: 6 pk: 0x00c010b3.1 nk: 0x00c010b3.1
col 0: [ 2] c1 15
tab 0, row 2, @0x1e10
tl: 22 fb: K-H-FL-- lb: 0x0 cc: 1
curc: 7 comc: 7 pk: 0x00c010b3.2 nk: 0x00c010b3.2
col 0: [ 2] c1 1f
tab 0, row 3, @0x1cf9
tl: 22 fb: K-H-FL-- lb: 0x0 cc: 1
curc: 1 comc: 1 pk: 0x00c010b3.3 nk: 0x00c010b3.3
col 0: [ 2] c1 29
tab 1, row 0, @0x1f72 --從這開始是department
tl: 24 fb: -CH-FL-- lb: 0x2 cc: 2 cki: 0
col 0: [10] 41 43 43 4f 55 4e 54 49 4e 47
col 1: [ 8] 4e 45 57 20 59 4f 52 4b
tab 1, row 1, @0x1edb
tl: 20 fb: -CH-FL-- lb: 0x2 cc: 2 cki: 1
col 0: [ 8] 52 45 53 45 41 52 43 48
col 1: [ 6] 44 41 4c 4c 41 53
tab 1, row 2, @0x1dfe
tl: 18 fb: -CH-FL-- lb: 0x2 cc: 2 cki: 2
col 0: [ 5] 53 41 4c 45 53
col 1: [ 7] 43 48 49 43 41 47 4f
tab 1, row 3, @0x1ce3
tl: 22 fb: -CH-FL-- lb: 0x2 cc: 2 cki: 3
col 0: [10] 4f 50 45 52 41 54 49 4f 4e 53
col 1: [ 6] 42 4f 53 54 4f 4e
tab 2, row 0, @0x1f4c--2從這開始是employee,因?yàn)閐epartment和

employee都從row 0開始,所以rowid會(huì)出現(xiàn)重復(fù)

tl: 38 fb: -CH-FL-- lb: 0x2 cc: 6 cki: 0 --3.這為什么有tran的信息?

col 0: [ 3] c2 4e 53
col 1: [ 5] 43 4c 41 52 4b
col 2: [ 7] 4d 41 4e 41 47 45 52
col 3: [ 3] c2 4f 28
col 4: [ 7] 77 b5 06 09 01 01 01
col 5: [ 3] c2 19 33
tab 2, row 1, @0x1f29
tl: 35 fb: -CH-FL-- lb: 0x2 cc: 6 cki: 0
col 0: [ 3] c2 4f 28
col 1: [ 4] 4b 49 4e 47
col 2: [ 9] 50 52 45 53 49 44 45 4e 54
col 3: *NULL*
col 4: [ 7] 77 b5 0b 11 01 01 01
col 5: [ 2] c2 33
tab 2, row 2, @0x1f05
tl: 36 fb: -CH-FL-- lb: 0x2 cc: 6 cki: 0
col 0: [ 3] c2 50 23
col 1: [ 6] 4d 49 4c 4c 45 52
col 2: [ 5] 43 4c 45 52 4b
col 3: [ 3] c2 4e 53
col 4: [ 7] 77 b6 01 17 01 01 01
col 5: [ 2] c2 0e
tab 2, row 3, @0x1eb8
tl: 35 fb: -CH-FL-- lb: 0x2 cc: 6 cki: 1
col 0: [ 3] c2 4a 46
col 1: [ 5] 53 4d 49 54 48
col 2: [ 5] 43 4c 45 52 4b
col 3: [ 3] c2 50 03
col 4: [ 7] 77 b4 0c 11 01 01 01
col 5: [ 2] c2 09
tab 2, row 4, @0x1e92
tl: 38 fb: -CH-FL-- lb: 0x2 cc: 6 cki: 1
col 0: [ 3] c2 4c 43
col 1: [ 5] 4a 4f 4e 45 53
col 2: [ 7] 4d 41 4e 41 47 45 52
col 3: [ 3] c2 4f 28
col 4: [ 7] 77 b5 04 02 01 01 01
col 5: [ 3] c2 1e 4c
tab 2, row 5, @0x1e6d
tl: 37 fb: -CH-FL-- lb: 0x2 cc: 6 cki: 1
col 0: [ 3] c2 4e 59
col 1: [ 5] 53 43 4f 54 54
col 2: [ 7] 41 4e 41 4c 59 53 54
col 3: [ 3] c2 4c 43
col 4: [ 7] 77 b6 0c 09 01 01 01
col 5: [ 2] c2 1f
tab 2, row 6, @0x1e4a
tl: 35 fb: -CH-FL-- lb: 0x2 cc: 6 cki: 1
col 0: [ 3] c2 4f 4d
col 1: [ 5] 41 44 41 4d 53
col 2: [ 5] 43 4c 45 52 4b
col 3: [ 3] c2 4e 59
col 4: [ 7] 77 b7 01 0c 01 01 01
col 5: [ 2] c2 0c
tab 2, row 7, @0x1e26
tl: 36 fb: -CH-FL-- lb: 0x2 cc: 6 cki: 1
col 0: [ 3] c2 50 03

col 1: [ 4] 46 4f 52 44
col 2: [ 7] 41 4e 41 4c 59 53 54
col 3: [ 3] c2 4c 43
col 4: [ 7] 77 b5 0c 03 01 01 01
col 5: [ 2] c2 1f
tab 2, row 8, @0x1dd5
tl: 41 fb: -CH-FL-- lb: 0x2 cc: 7 cki: 2
col 0: [ 3] c2 4b 64
col 1: [ 5] 41 4c 4c 45 4e
col 2: [ 8] 53 41 4c 45 53 4d 41 4e
col 3: [ 3] c2 4d 63
col 4: [ 7] 77 b5 02 14 01 01 01
col 5: [ 2] c2 11
col 6: [ 2] c2 04
tab 2, row 9, @0x1dac
tl: 41 fb: -CH-FL-- lb: 0x2 cc: 7 cki: 2
col 0: [ 3] c2 4c 16
col 1: [ 4] 57 41 52 44
col 2: [ 8] 53 41 4c 45 53 4d 41 4e
col 3: [ 3] c2 4d 63
col 4: [ 7] 77 b5 02 16 01 01 01
col 5: [ 3] c2 0d 33
col 6: [ 2] c2 06
tab 2, row 10, @0x1d81
tl: 43 fb: -CH-FL-- lb: 0x2 cc: 7 cki: 2
col 0: [ 3] c2 4d 37
col 1: [ 6] 4d 41 52 54 49 4e
col 2: [ 8] 53 41 4c 45 53 4d 41 4e
col 3: [ 3] c2 4d 63
col 4: [ 7] 77 b5 09 1c 01 01 01
col 5: [ 3] c2 0d 33
col 6: [ 2] c2 0f
tab 2, row 11, @0x1d5b
tl: 38 fb: -CH-FL-- lb: 0x2 cc: 6 cki: 2
col 0: [ 3] c2 4d 63
col 1: [ 5] 42 4c 41 4b 45
col 2: [ 7] 4d 41 4e 41 47 45 52
col 3: [ 3] c2 4f 28
col 4: [ 7] 77 b5 05 01 01 01 01
col 5: [ 3] c2 1d 33
tab 2, row 12, @0x1d32
tl: 41 fb: -CH-FL-- lb: 0x2 cc: 7 cki: 2
col 0: [ 3] c2 4f 2d
col 1: [ 6] 54 55 52 4e 45 52
col 2: [ 8] 53 41 4c 45 53 4d 41 4e
col 3: [ 3] c2 4d 63
col 4: [ 7] 77 b5 09 08 01 01 01
col 5: [ 2] c2 10
col 6: [ 1] 80
tab 2, row 13, @0x1d0f
tl: 35 fb: -CH-FL-- lb: 0x2 cc: 6 cki: 2
col 0: [ 2] c2 50
col 1: [ 5] 4a 41 4d 45 53
col 2: [ 5] 43 4c 45 52 4b
col 3: [ 3] c2 4d 63
col 4: [ 7] 77 b5 0c 03 01 01 01
col 5: [ 3] c2 0a 33
end_of_block_dump
End dump data blocks tsn: 2 file#: 3 minblk 5587 maxblk 5587

現(xiàn)在我們來說明這個(gè)block中的幾個(gè)問題:

1.這兩個(gè)transaction的flag 和lck是什么意思?

這里是block的ITL的信息,這里初始有兩個(gè)事務(wù),事務(wù)槽在block有空間時(shí)是可以擴(kuò)展的。

falg ------ 依次4個(gè)位置是?CBUT
C 表示該 ITL 事務(wù)已經(jīng)提交

B: 當(dāng)讀到這個(gè)ITL 的時(shí)候該block需要 rollback (一致讀)導(dǎo)致ITL 來自 rollback segment,也就是說該ITL事務(wù)被提交過多次了需要追述到最早的部分
U?表示該ITL 事務(wù)已經(jīng)提交,但是提交的SCN是oracle 在數(shù)據(jù)有效性的基礎(chǔ)上“猜”出來的,可能并不是真實(shí)的 commit scn ,這個(gè)SCN就是?scn/fsc .?
T : 事務(wù)提交后ITL涉及到的數(shù)據(jù)行上的 lock信息也就是 lb ,在下次dml操作到該塊數(shù)據(jù)的時(shí)候,lb 會(huì)清零,表示清除lock(當(dāng)然即使沒有清除該ITL若已經(jīng)提交也認(rèn)為鎖不存在),在這個(gè)清理的過程中相應(yīng)flag位置會(huì)設(shè)置為 T。

lck 表示該 itl 在該block上影響到的行數(shù)

2.為什么rowid會(huì)出現(xiàn)重復(fù)?

我們想知道rowid為什么會(huì)重復(fù),首先要明白rowid的含義。ROWID 在磁盤上需要10 個(gè)字節(jié)的存儲(chǔ)空間并使用18 個(gè)字符來顯示它包含下列組件

¨ 數(shù)據(jù)對象編號每個(gè)數(shù)據(jù)對象如表或索引在創(chuàng)建時(shí)都分配有此編號,并且此編號在數(shù)據(jù)庫中是唯一的;

¨ 相關(guān)文件編號此編號對于一個(gè)表空間中的每個(gè)文件是唯一的;

¨ 塊編號表示包含此行的塊在文件中的位置;

¨ 行編號標(biāo)識塊頭中行目錄位置的位置;

在內(nèi)部數(shù)據(jù)對象編號需要32 位,相關(guān)文件編號需要10 位,塊編號需要22,位行編號需要16 位,加起來總共是80 位或10 個(gè)字節(jié),ROWID 使用以64 為基數(shù)的編碼方案來顯示該方案將六個(gè)位置用于數(shù)據(jù)對象,編號三個(gè)位置用于相關(guān)文件編號六個(gè)位置用于塊編號三個(gè)位置用于行編號以64 為基數(shù)的編碼方案使用字符A-Z a-z 0-9 + 和/共64 個(gè)字符如下例所示

AAAGWQ AAD AAABXT AAA

在本例中

AAAGWQ?是數(shù)據(jù)對象編號

AAD?是相關(guān)文件編號

AAABXT?是塊編號

AAA?是行編號

在block 5587中delparment和employee中行編號都是從0開始,文件編號和塊編號相同,我們再來看一下數(shù)據(jù)對象編號:

SQL> select OBJECT_NAME,OBJECT_ID ,DATA_OBJECT_ID from user_objects

2 where OBJECT_NAME in ('DEPARTMENT','EMPLOYEE','E_D_CLUSTER');

OBJECT_NAME OBJECT_ID DATA_OBJECT_ID

-------------------------------------------------------------------------------- ----------

E_D_CLUSTER 26000 26000

EMPLOYEE 26004 26000

DEPARTMENT 26002 26000

從這里能看出對象編號雖然不一樣,但在一個(gè)cluster中數(shù)據(jù)對象編號是一樣的。既然構(gòu)成rowid的組件都是一樣的,那么rowid自然是相同的。

3..這為什么有tran的信息?

tl: 38 fb: -CH-FL-- lb: 0x2 cc: 6 cki: 0

lb: 0x2表示改行上有事務(wù)0x02,這就是oracle的行鎖,如果該行上沒有事務(wù),lb: 0x0,即沒有鎖。但這行數(shù)據(jù)是否有鎖還倚賴于該事務(wù)是不是活動(dòng)的,這里雖然lb: 0x2,但我們在ITL中可以看到事務(wù)0x02狀態(tài)為--U-,表示事務(wù)已經(jīng)提交,即非活動(dòng)事務(wù),所以這行數(shù)據(jù)上并沒有鎖。

總結(jié)

以上是生活随笔為你收集整理的Oracle中Cluster Table的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。