欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Oracle Class3. 鎖和表分區(qū)

系統(tǒng) 1862 0

------------------------2013-5-8------------------------

DML鎖可以分為,行鎖,表級(jí)鎖,死鎖。
DDL鎖可以分為,排他DDL鎖,共享DDL鎖,分析鎖。

--查看當(dāng)前數(shù)據(jù)庫(kù)里鎖的情況。
select object_id,session_id,locked_mode from v$locked_object;
如果出現(xiàn)了鎖的問(wèn)題,某個(gè)DML操作可能等待很久沒(méi)有反應(yīng)。


grant select on emp to newlifeyhj;

Grant delete on emp to newlifeyhj;

Grant all on emp to newlifeyhj;

-- 訪問(wèn)權(quán)限精細(xì)到列。 報(bào)錯(cuò) ORA-00905: 缺少關(guān)鍵字
Grant update on emp(sal) to newlifeyhj;
Grant select on emp(ename,sal) to newlifeyhj;

--修改,鎖定資源。只到提交了才會(huì)執(zhí)行。
update scott.emp set sal = sal +100 where empno = '7369';
將scott.emp表的查詢,修改權(quán)限給newlifeyhj來(lái)測(cè)試。


--表?yè)碛姓邎?zhí)行加鎖查詢
--select * from emp where empno = '7369' for update wait 5;

--select * from emp where empno = '7369' for update nowait;

commit;

--for update of 專用于連接查詢中鎖定某一個(gè)或是某幾個(gè)表。


--表?yè)碛姓邔?duì)表進(jìn)行共享鎖定
--lock table emp in share mode;

select * from emp where empno='7369'

--rollback;


--共享更新
--lock table emp in share update mode;

select * from scott.emp where empno = '7369';

--排他鎖
--lock table emp in exclusive mode;

--rollback;

--同義詞,類似表的別名。
--create synonym o_emp for emp;

select * from o_emp where empno = '7369';

##表分區(qū)##
#范圍分區(qū)#
create table student(
?stu_name varchar2(8),
?stu_age number(2)
)
partition by range(stu_age)
(
partition p1 values less than(12),
partition p2 values less than(16),
partition p3 values less than(20),
partition p4 values less than(maxvalue)
);

desc user_tab_partitions

select table_name,partition_name from user_tab_partitions where table_name = 'STUDENT';?? //表名區(qū)分大小寫。
select table_name,partition_name,high_value,tablespace_name from user_tab_partitions where table_name = 'STUDENT';

--分區(qū)查詢--
select * from student partition(p1);
select * from student partition(p2);
select * from student partition(p3);
select * from student partition(p4);

#列表分區(qū)#
create table student2(
? stu_name varchar2(8),
? stu_age number(2),
? stu_address varchar2(12)
)
partition by list(stu_address)(
partition east values('向陽(yáng)村','紅旗廣場(chǎng)'),
partition south values('南大門','摩托車大市場(chǎng)'),
partition west values('馬家河','炎帝廣場(chǎng)'),
partition north values('響石廣場(chǎng)','清石廣場(chǎng)')
);

insert into student2 values ('ANiu',12, '向陽(yáng)村');
insert into student2 values ('ANiu',15, '南大門');
insert into student2 values ('ANiu',17, '清石廣場(chǎng)');
insert into student2 values ('ANiu',19, '炎帝廣場(chǎng)');

select * from student2;
select * from student2 partition(east);
select * from student2 partition(west);

按分區(qū)刪除數(shù)據(jù)。
delete from student2 partition(east);

select table_name, partition_name, high_value, tablespace_name from user_tab_partitions where table_name = 'STUDENT2';

#散列分區(qū)#
create table employee(
? employee_id varchar2(5),
? employee_name varchar2(20),
? department varchar2(10)
)
partition by hash(department)(
? partition D1,
? partition D2,
? partition D3
);


#復(fù)合分區(qū)#
范圍分區(qū)與散列分區(qū)或列表分區(qū)的組合。
CREATE TABLE SALES
(
??? PRODUCT_ID VARCHAR2 (5),
??? SALES_DATE DATE NOT NULL,
??? SALES_COST NUMBER (10)
)
PARTITION BY RANGE (SALES_DATE)
SUBPARTITION BY HASH (PRODUCT_ID)
SUBPARTITIONS 5?
(
??? PARTITION S1 VALUES LESS THAN (TO_DATE(‘01/4月/2001',
??? 'DD/MON/YYYY')),
??? PARTITION S2 VALUES LESS THAN (TO_DATE(‘01/7月/2001',
??? 'DD/MON/YYYY')),
??? PARTITION S3 VALUES LESS THAN (TO_DATE(‘01/9月/2001',
??? 'DD/MON/YYYY')),
??? PARTITION S4 VALUES LESS THAN (MAXVALUE)
);

?

##表分區(qū)維護(hù)##
--刪除分區(qū)-- 刪除一個(gè)指定的分區(qū),分區(qū)的數(shù)據(jù)也隨之刪除。
--alter table student drop partition p4;

--增加分區(qū)--
--alter table student add partition p5 values less than(90);

--截?cái)喾謪^(qū)-- 刪除指定分區(qū)中的所有記錄
--alter table student truncate partition p3;
--合并分區(qū)--? ORA-14012: 結(jié)果分區(qū)名與現(xiàn)有分區(qū)名發(fā)生沖突, p6新的分區(qū)名。
alter table student merge partitions p1,p2 into partition p6;

--拆分分區(qū)--
alter table sales split partition p2 at(1500) into (partition p21,partition p22)


select table_name, partition_name from user_tab_partitions where table_name = 'STUDENT';


##序列##
#創(chuàng)建序列#
create sequence seqTest start with 1 increment by 1 maxvalue 9;

select seqTest.nextval from dual;? //下一個(gè)值??? 注意:不是value是val
select seqTest.currval from dual;? //查詢當(dāng)前值? 注意:不是value是val

查看數(shù)據(jù)字典的結(jié)構(gòu)
desc user_sequences;

刪除序列
drop sequence seqTest;

鎖是數(shù)據(jù)庫(kù)用來(lái)控制共享資源并發(fā)訪問(wèn)的機(jī)制。
鎖用于保護(hù)正在被修改的數(shù)據(jù)。
直到提交或回滾了事務(wù)之后,其他用戶才可以更新數(shù)據(jù)。

鎖定的優(yōu)點(diǎn):一致性和完整性。并行性
行級(jí)鎖和表級(jí)鎖。
使用commit或rollback語(yǔ)句釋放鎖。

表級(jí)鎖類型
行共享? 行排他? 共享? 共享行排他? 排他

將一個(gè)表分成多個(gè)分區(qū),只訪問(wèn)表中的特定分區(qū)。
將不同的分區(qū)存儲(chǔ)在不同的磁盤,提高訪問(wèn)性能和安全性。
獨(dú)立地備份和恢復(fù)每個(gè)分區(qū)。

Oracle Class3. 鎖和表分區(qū)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 综合久久久久 | 午夜影院普通 | a在线免费观看视频 | 亚洲一区二区三区福利在线 | 一区二区三区在线 | 污污小视频在线观看 | 欧美日韩一二区 | 欲色av | 色狠狠xx| 国产乱子轮XXX农村 日本中文字幕一区 | 亚洲看 | 欧美精品久久久久久久免费观看 | 中国在线播放精品区 | 欧美精品色 | 亚洲成人精品在线 | 4438激情网 | 啪啪激情婷婷久久婷婷色五月 | 达达兔午夜起神影院在线观看麻烦 | 亚洲黑人在线观看 | 国产vr一区二区在线观看 | 欧美一级特黄毛片免费 | 国产v视频| 天天拍天天操 | 国产97免费视频 | 日本高清免费不卡在线播放 | 成熟自由日本语热亚洲人 | 97超级碰碰 | 午夜专区| 欧美视频大全 | 三级黄色片在线观看 | 亚洲一二三四2021不卡 | 久久人| 一级做a爰片性色毛片男 | 成人欧美日韩一区二区三区 | 亚洲国产aⅴ成人精品无吗 国内成人自拍视频 | 国产一级毛片高清视频完整版 | 一区二区影院 | 免费高清av | 久久久久国产精品美女毛片 | xx免费视频| 91看视频|